《第二章基本类型、数组和枚举类型.ppt》由会员分享,可在线阅读,更多相关《第二章基本类型、数组和枚举类型.ppt(32页珍藏版)》请在三一办公上搜索。
1、第2章 基本类型、数组和枚举类型,2.1 标识符和关键字,1.标识符 Java 标识符命名规范:由字母、数字、_和$组成;标识符的第一个字符不能是数字;标识符区分大小写;长度不限,但通常不超过15个字符;不能取名为Java关键字;不能夹有空格。标识符用来命名变量、符号常量、数组、方法、类、对象、接口、包等。为了提高程序的可读性,标识符最好“见名知义”,而且规范大小写的使用方式。,例如:合法的标识符 identifier userName User_Name _sys_val$change非法的标识符 2mail room#class,Java语言使用Unicode标准字符集,Unicode标准
2、字符集由UNICODE协会管理并接受其技术上的修改,最多可以识别65536个字符,所以字母包括下面几种:A-Z,a-z09汉字、日文、朝鲜文、德文、希腊文等多国语言中的符号,2.关键字,关键字又称保留字,是 Java 语言规定了特定含义的标识符。,用户只能按照系统规定的方式使用;不能自行定义;关键字一律用小写字母表示。,保留关键字:,2.2 Java语言的基本数据类型,数据类型概述,1.逻辑类型(1个字节)常量:true,false.变量的定义:使用关键字 boolean 来定义逻辑变量 例:boolean x,tom_12=true,关闭=false;注:Java中的布尔值和数字之间不能来回
3、转换,即false和true不对应于任何0或非0的整数值。,2.整数类型整型数据分为 4 种:(1)int 型常量:123、6000(十进制),077(八进制),0 x3ABC(十六进制).变量:使用关键字 int 来定义 int 型整型变量,4个字节。例:int x=12,平均=9898,jiafei;(2)byte型常量:Java中不存在byte型变量的表示方法。变量:使用关键字 byte 来定义 byte 型整型变量,1个字节。例:byte x,tom_12=28,漂亮=98;,(3)short型常量:Java中不存在short型常量的表示法。变量:使用关键字 short 来定义 sho
4、rt 型整型变量,2个字节 例:short x=12;(4)long型常量:108L(十进制)、07123L(八进制)、0 x3ABCL(十六进制)变量:使用关键字 long 来定义 long 型整型变量,8个字节 例:long width=12L,length;注:Java没有提供任何无符号整数类型。,3.字符类型(2个字节)字符常量:A,b,?,!,9,好,t,14字符变量的定义:使用关键字 char 来定义字符变量 例:char x,char tom_12;注:对于char型变量,内存分配2个字节,char型变量的取值范围为065535。例如:char x=a;char x=97;转意字
5、符常量:n、b、t、字符串常量:“A”、“Hellon Java”,要观察一个字符在Unicode字符集中的顺序位置,必须使用int类型显示转换,如(int)a。反之,如果要得到一个065535之间的数所代表的Unicode表中的相应位置上的字符也必须使用char型显示转换,如(char)123。,例1:public class Example2_1 public static void main(String args)char ch1=,ch2=;int p1=32831,p2=30452;System.out.println(+ch1+的位置:+(int)ch1);System.out.
6、println(+ch2+的位置:+(int)ch2);System.out.println(第+p1+个位置上的字符是:+(char)p1);System.out.println(第+p2+个位置上的字符是:+(char)p2);,4.浮点类型(实型)浮点型分两种:(1)float 型(4个字节)常量:123.5439f,12389.987F,123.0f,2e40f(f 不可省略)变量的定义:使用关键字 float 来定义 float 型变量 例:float x=22.76f,weight=1e-12F;,(2)double 型(8个字节)常量:12389.5439d(d可以省略),123
7、89908.987,123.0,6e-140(6乘10的-140次方,科学计数法)变量的定义:使用关键字 double 来定义 double 型变量 例:double x=23.345d,length=1e12;注意:如果变量赋值时没有对float类型加上后缀f,就会出错:float f1=125.39;,Java是一种强类型语言,用表达式为一个变量赋值,或是在一个方法中传递参数时,两者数据类型必须匹配,否则需要类型转换。Java中的类型转换有两种:自动转换和强制转换。(1)自动转换当把在级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。,5.基本数据类型间的转换,低-高byte
8、shortcharint longfloatdouble,(1)在表达式中,byte、short或char数据将无条件地转换(升级)为int类型。(2)在表达式中,实现低级别向高级别自动升级。(3)在赋值表达式中,如果左值类型高于右值类型,则右值类型自动转换为左值类型。,例如:float x=100;如果输出 x 的值,结果将是 int x=50;float y;y=x;如果输出 y 的值,结果将是,100.0,50.0,(2)强制转换当级别高的变量的值赋给级别低的变量时,必须强制进行数据类型转换。强制转换格式为:(目标数据类型)变量名或表达式如:int x=(int)23.89;long y
9、=(long)34.98f;输出 x的值是23 输出y 的值是 34注意:强制转换运算可能导致精度的损失。,总结:1)所有整数类型都能向float或double自动转换,反之必须强制转换;2)字符类型可向int、long、float、double自动转换,反之必须强制转换;3)字符类型转换为byte时必须强制转换;4)布尔类型不可和任何其他数据类型转换。,例2:public class Example2_2 public static void main(String args)int c=12;long d=66666;float f=1e-20F;double g=3.14e-300;do
10、uble result=f*g;System.out.println(f=+f);System.out.println(g=+g);System.out.println(rerult=+result);g=1234.123456789;c=(int)d;f=(float)g;System.out.print(c=+c);System.out.println(d=+d);System.out.println(f=+f);System.out.println(g=+g);,2.3 从命令行输入、输出数据,例3:import java.util.Scanner;public class Exampl
11、e2_3 public static void main(String args)System.out.println(请输入若干个数,每输入一个数回车确认);System.out.println(最后输入数字0结束输入操作);Scanner reader=new Scanner(System.in);double sum=0;int m=0;double x=reader.nextDouble();while(x!=0)m=m+1;sum=sum+x;x=reader.nextDouble();System.out.println(m+个数的和为+sum);System.out.printl
12、n(m+个数的平均值+sum/m);,Sysem.out.printf(“格式控制部分”,表达式1,表达式2,表达式n)格式控制部分由格式控制符号%d、%c、%f、%s和普通字符组成,普通字符原样输出。格式符号用来输出表达式的值。格式符号的作用:%d%c%f%s输出数据时也可以控制数据在命令行的位置:%md%m.nd,2.4 数组,1.声明数组声明一维数组有下列两种格式:数组元素类型数组名字;数组元素类型 数组名字;声明二维数组有下列两种格式 数组元素类型数组名字;数组元素类型 数组名字;例如:float boy;double girl;char cat;float a;double b;ch
13、ar d;,2.创建数组为数组分配内存空间 的格式如下:数组名字=new 数组元素的类型数组元素的个数;例如:boy=new float4;声明数组和创建数组可以一起完成,例如:float boy=new float4;说明:数组boy获得4个用来存放float类型数据的内存空间。数组变量boy中存放着这些内存单元的首地址,该地址称作数组的引用。,二维数组和一维数组一样,在定义之后必须用 new 运算符分配内存空间,例如:int mytwo;mytwo=new int 35;或 int mytwo=new int34;说明:一个二维数组可以看成是由若干个一维数组组成。构成二维数组的一维数组不必
14、有相同的长度例如:int a=new int3;a0=new int6;a1=new int12;a2=new int8;和 C 语言不同的是,Java 允许使用 int 型变量指定数组的大小。,3.数组元素的使用 一维数组通过下标符访问自己的元素,如:boy0,boy1等.二维数组也通过下标符访问自己的元素,如:a01,a12等。注:需要注意的是下标从 0 开始。4.length的使用表示数组长度的格式:数组名.length说明:一维数组:数组中元素的个数二维数组:一维数组的个数,例如:float a=new float12;Int b=new int36;,5.数组的初始化 创建数组后,系
15、统会给每个数组元素一个默认的值,如:float 型是 0.0。我们在声明数组时同时也还可以给数组的元素一个初始值,如:float boy=12.3f,23.89f,2.0f,23f,578.98f 上述语句相当于:float boy=new float5;boy0=12.3f;boy1=23.89f;boy2=2.0f;boy3=23f;boy4=578.98f;例如:String s=“we”,“are”,“hello”,“123”,“who?”;,6.数组的引用 两个相同类型的数组如果具有相同的引用,那么它们就有完全相同的元素。例如:int a=1,2,3,b=4,5;,例4:public
16、 class Example2_4 public static void main(String args)int a=1,2,3,4;int b=100,200,300;System.out.println(数组a的引用=+a);System.out.println(数组b的引用=+b);a=b;System.out.println(数组a的元素个数=+a.length);System.out.println(数组b的元素个数=+b.length);System.out.print(a2=+a2+,b2=+b2);,2.5 枚举类型,语法格式:enum 名字常量列表说明:常量列表是用逗号分割的字符序列,称为枚举类型的常量。声明了一个枚举类型后,就可以用该类型声明一个枚举变量,该枚举类型变量只能取枚举类型中的常量。,例如:enum Season spring,summer,autumn,winter,例如:Season.spring;,例5:enum Season spring,summer,autumn,winter public class E public static void main(String args)Season season=Season.spring;System.out.println(season);,