JAVA基础教程(2)
3310 点击·0 回帖
![]() | ![]() | |
![]() | 第二节课 标识符 关键字及数据类型 1.标识符: 用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列. 特点: java语言规定标识符由字母,下划线,美元符号和数字组成,并且第一个字符不能是数字字符. java语言使用unicode标准字符集其包含65536个字符,比C和C++所使用的ASCII码多很多. 2.关键字:编程语言中已经被赋予特定意义的一些单词,不能把这类词作为名字来用,具体的关键字书上列举了很多,略. 3.数据类型 逻辑类型: boolean 用ture(真)和false(假)来赋值,没有赋值默认情况时表示false 整数类型: (1) int型变量,内存分配4个字节的空间,即32位的空间,所以可以表示-2^31到2^31-1的整数,例如int x=10; (2) byte型变量,内存分配1个字节的空间,范围从-2^7到2^7-1,例如byte x=127 (3) short型变量,内存分配2个字节的空间,范围从-2^15到2^15-1,例如short x=1000 (4) long型变量,内存分配8个字节的空间,范围从-2^63到2^63-1,例如long x=700000; 字符类型: (1)常量:java使用unicode字符集,所以字符表中的每个字符都是一个字符常量,用单引号括上,例如'A','你','あ' 注意有些字符不能通过键盘直接输入到字符串中或程序中,这时就需要转意字符常量,例如:' n'(换行),' b'(退格),' ''(单引号)等等. (2)变量:通过关键字char来定义字符变量 char型变量,内存分配2个字节的空间,因为是字符不存在负数的概念,所以范围从0到2^16-1(即65535),例如char ,grade='A' 如果要查一个字符在unicode字符集里的顺序位置,必须使用int类型转换,如(int)'A',但不可以用short型转换(范围只有一半);同样道理如果想得到一个在0到65535之间的数字在unicode字符集中所对应的字符必须使用char型转换,如(char)30000.具体含义理解如下面代码 复制代码 public class Sign_Num { public static void main (String args[ ]) { char chinaword='你',japanword='ぁ'; int p1=36328,p2=38358; System.out.println("汉字 '你 '在unicode表中的顺序位置:"+(int)chinaword); System.out.println("日语 'ぁ '在unicode表中的顺序位置:"+(int)japanword); System.out.println("unicode表中第20328位置上的字符是:"+(char)p1); System.out.println("unicode表中第12358位置上的字符是:"+(char)p2); } } 除了char以外还要稍微介绍一下string,在C或C++中,String是一个以空为终结的字符数组,而在java中它是java.lang包中的String类来创建一个字符串变量,因此字符串变量是一个对象.String的具体介绍在后面会学习到. 浮点类型: (1)float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38 例float x=123.456f,y=2e20f; 注意float型定义的数据末尾必须由"f",为了和double区别 (2)double型 内存分配8个字节,范围从10^-308到10^308 和 -10^-308到-10^-308 例double x=1234567.98,y=8980.09d; 末尾可以有"d"也可以不写 基本数据类型转换: 类型按精度从低到高:byte short int long float double (1)当把级别低的变量赋值给级别高的变量时,系统自动完成数据类型的转换,例 int x=100; float y; y=x; 结果y的值应该是100.0 (2)当把级别高的变量赋值给级别低的变量时,必须使用显示类型转换运算,格式为:(类型名)要转换的值;例 int x=(int)23.89f; 结果x的值为23 所以强制转换运算可能导致精度的损失 (3)当把一个整数赋值给一个byte,short,int或long型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算,例 byte a=(byte)128; byte b=(byte)-129;//超出范围 结果a值为128,b值为127 用下面的代码来复习下: 复制代码 public class Example2_2 { public static void main (String args[ ]) { int c=2200; long d=8000; float f; double g=123456789.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); } } java数组 格式: 数组元素类型 数组名字[] 或 数组元素类型 []数组名字 例 float boy[]; 创建数组: 数组名字=new 数组元素的类型[数组元素的个数]; 例 boy=new float[2];//意思是boy获得了两个用来存放float型数据的空间 注意:和C和C++不同的是java允许使用int型变量来指定数组大小,例 int size=30; double number=new double[size]; 程序代码复习数组: 复制代码 public class Example2_3 { public static void main(String args[]) { int a[]={100,200,300}; int b[]={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); } } | |
![]() | ![]() |