第二节课
标识符 关键字及数据类型
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 name='刘',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);
}
}
总结:本节课把编程语言中的基础-关键字,数据类型等概念复习一遍,尤其是在java中的用法,为以后在使用变量的学习中做基础.
[此贴子已经被作者于2006-9-15 22:10:26编辑过]