您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 2 标识符、关键字和数据类型
第2章标识符、关键字和数据类型2.1标识符和关键字2.2常量2.3数据类型2.4数组2.1标识符和关键字用来标识变量名、方法名、类型名、数组名、类名、接口名等的有效字符序列称为标识符。简单地说,标识符就是一个名字。Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符。2.1标识符和关键字(续)风格约定:(1)_和$不作为变量名、方法名开头;(2)变量名、方法名首单词小写,其余单词只有首字母大写如anyVariableWorld;(3)接口名、类名首单词第一个字母大写;(4)常量:完全大写;(5)方法名应该使用动词,类名和接口使用名词。2.1标识符和关键字(续)关键字就是Java语言中已经被赋予特定意义的一些单词。不可以把这类词作为标志符来用。Java语言的关键字包括:(1)用于类和接口的声明—class、extends、implements、interface;(2)包引入和包声明—import、package;(3)数据类型—boolean、byte、char、double、float、int、long、short;(4)数据类型的可选值—false、true、null;2.1标识符和关键字(续)(5)流程控制—break、case、continue、default、do、else、for、if、return、switch、while;(6)异常处理—catch、finally、throw、throws、try;(7)修饰符—abstract、final、native、private、protected、public、static、synchronized、transient、volatile;(8)操作符—instanceof;(9)创建对象—new;(10)引用—this、super;(11)方法返回类型—void。2.2常量常量就是程序中持续不变的值,又称为字面值或直接数。Java中的常量包括整型常量、浮点常量、布尔常量、字符常量、字符串常量。2.2.1整型常量整型常量可以用八进制、十进制和十六进制表示。十进制:由0~9的数字组成且不能以0开始。例如:123,-456八进制:由0~7的数字组成且以0为前缀。例如:0123,-0456十六进制:由0~9的数字及A~F的字母(大小写均可)组成且以0X(或0x)为前缀。例如:0x123,-0x4ab;注意:默认情况整型常量为int类型,如果要表示long类型的整型常量可在常量后加L(或者l)。2.2.2浮点常量浮点常量分为float常量和double常量,数字都是十进制数来表示。默认情况下的浮点常量为double常量,如果要明确表示float常量可在常量后加F(或者f),也可以在常量后加D(或者d)明确表示double常量。例如:1.23,1.23d,1.23f也可以用指数形式来表示浮点常量。例如:1.23e1,1.23e1d,1.23e1f2.2.3布尔常量布尔常量其值只有两个:true和false。2.2.4字符常量字符常量是由单引号括起来的英文字母、数字、转移序列、特殊字符等的字符组成的。Java字符使用Unicode字符,Unicode字符是一套字符编码系统,一个字符占两个字节,可以支持各类文字的字符,由Unicode字符形成的字符集称为UCS(UniversalCharacterSet)。例如:'a','\t','\ddd','\u????'2.2.5字符串常量字符串常量是由双引号括起来的英文字母、数字、转移序列、特殊字符等的字符序列组成的。例如:abcd,Hello2.3数据类型引用类型引用类型变量的值是指向内存空间的引用(地址)。数组、类和接口都属于引用类型。基本类型基本类型的变量包含了变量值。boolean、char、byte、short、int、long、float、double的变量均为基本类型。2.3.1逻辑类型逻辑类型(boolean)的变量取值只能是true或false。例如:booleantruth=true;注意:Java中的布尔值和数字之间不能来回转换。例如:booleantruth=1;//编译出错2.3.2整型整数类型:byte,short,int和long。类型长度取值范围byte8位-27~27-1short16位-215~215-1int32位-231~231-1long64位-263~263-1例如:inta=123;intb=a;2.3.3字符类型字符类型:char。例如:charc='a';charch=c;2.3.4浮点型浮点型:float(32位)和double(64位)。例如floatf=123.0f;doubled=123.0d;2.3.5基本数据类型的转换当我们把一种基本数据类型变量赋给另一种基本类型变量时,就涉及到数据转换。当把在级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。反之,则是错误。数据类型的高低顺序如下:(byte,short,char),int,long,float,double例如:intx=50;floaty;y=x;//如果输出y的值,结果将是50.0。x=y;//编译出错当把级别高的变量赋给级别底变量时,一般情况下需要使用强制转换。强制转换的格式:(类型名)要转换的变量;例如:floaty=1.1f;intx=(int)y;longz=(long)y;2.3.5基本数据类型的转换(续)2.3.5基本数据类型的转换(续)将常量直接赋给特定数据类型的变量时,其转换规律如下:常量变量intlongcharbooleanfloatdoubleStringbyte部分castcastcastXcastcastXshort部分castcastcastXcastcastXint√cast√XcastcastXlong√√√XcastcastXchar部分castcast√XcastcastXbooleanXXX√XXXfloat√√√X√castXdouble√√√X√√XStringXXXXXX√2.3.6数据类型的自动提升当两种数据类型不同的变量或常量进行运算时,会将低级别的数据类型提升到高级别的数据类型。注意:所有的byte、short和char类型被自动提升为int型。例如:byteb=5;b=b-2;shorts=1;shortt=2;shortst=s+t;//编译出错//编译出错例子1publicclassExample2_1{publicstaticvoidmain(Stringargs[]){shortc=2200;longd=8000;floatf=1.23;doubleg=123456789.123456789;c=(short)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数组数组是相同类型的数据按顺序组成的一种复合数据类型(引用类型)。通过数组名加数组下标,来使用数组中的数据。下标从0开始排序。声明数组声明数组仅仅是给出了数组名字、元素的数据类型和数组的维数。如:chars1[];char[]s2;inta1[][];int[][]a2;2.4数组(续)创建数组创建数组为数组分配内存空间,必须指定数组的长度。格式如下:数组名=new数组数据类型[元素个数]…例如:s1=newchar[3];a1=newint[3][4];数组初始化char[]s1={'a','b','c'};int[][]a1={{1,2,3,4},{5,6,7,8},{9,10,11,12}};例子2publicclassExample2_3{publicstaticvoidmain(Stringargs[]){inta[]={100,200,300};intb[]={10,11,12,13,14,15,16};b=a;b[0]=123456;System.out.println(数组a:+a[0]+,+a[1]+,+a[2]);System.out.println(数组b:+b[0]+,+b[1]+,+b[2]);System.out.println(数组b的长度:+b.length);}}例子3publicclassArrayOfArraysDemo1{publicstaticvoidmain(String[]args){int[][]a=newint[4][];for(inti=0;ia.length;i++){a[i]=newint[i+1];for(intj=0;ja[i].length;j++){a[i][j]=i+j;System.out.print(a[i][j]+);}System.out.println();}}}
本文标题:2 标识符、关键字和数据类型
链接地址:https://www.777doc.com/doc-6077588 .html