概述:
【课前思考】
1. java中的标识符是由哪些字符组成的?
2. java中有哪些保留字?简单数据类型包含哪几种?各种数据类型变量的定义方法和常量的表示方法及取值范围。
3. java 中各简单数据类型间的优先次序和自动转换规则是什么?
各数据类型间在什么情况下,进行自动转换,在什么情况下使用强制转换?
4. java中有哪些运算符?这些运算符的优先关系是怎样的?
5. java 中有哪些控制语句?你了解每一种控制语句的语法规则吗?
6. java 中的一维数组和多维数组在数组动态初始化和静态初始化时有何不同?
7. java中的字符串有两种表示方法,这两种表示方法有什么不同?
8. 如何访问字符串?如何修改字符串?如何对两个字符串进行比较?
【难 重 点】
重点:
1. 深刻理解各知识点的概念,并熟记java 的语法规范。
2. 熟练使用各种数据类型的定义,表示和引用。
3. 能熟练使用各种控制语句。
4. 能熟练处理字符串。
难点:
1. 动态初始化复杂类型数组时,要先为数组中的元素开辟引用空间,再为每个元素开辟空间。
2. 使用stringbuffer类表示和操作字符串时,要注意它可以处理可变字符串,即当在 stringbuffer类型的字符串中插入字符而超出已分配的缓冲区时,系统会自动地为它分配额外的空间。string类不可以。
2.1 简单数据类型
2.1.1 标识符和保留字
1.标识符
程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。例如,identifier,username,user_name,_sys_val, $change为合法的标识符,而2mail room#,class 为非法的标识符。
2.保留字
具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word),也称为关键字,下面列出了java语言中的所有保留字:
abstract,break,byte,boolean,catch,case,class,char,continue,default,double,do,else,extends,false,final,float,for,finally,if,import,implements,int,interface,instanceof,long,length,native,new,null,package,private,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,while 。
java语言中的保留字均用小写字母表示。
2.1.2 数据类型概述
1. java中的数据类型划分
java语言的数据类型有简单类型和复合类型:
简单数据类型包括:
整数类型(integer):byte, short, int, long
浮点类型(floating):float,double
字符类型(textual):char
布尔类型(logical):boolean
复合数据类型包括:
class
interface
数组
2.常量和变量
常量:用保留字final来实现
final typespecifier varname=value[,varname[=value]…];
如:final int num=100;
变量:是java 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其定义格式如下:
typespecifier varname[=value[,varname[=value]…];
如:int count; char c='a';
变量的作用域指明可访问该变量的一段代码,声明一个变量的同时也就指明了变量的作用域。按作用域来分,变量可以有下面几种:局部变量、类变量、方法参数和例外处理参数。在一个确定的域中,变量名应该是唯一的。局部变量在方法或方法的一个块代码中声明,它的作用域为它所在的代码块(整个方法或方法中的某块代码)。类变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个类。方法参数传递给方法,它的作用域就是这个方法。例外处理参数传递给例外处理代码,它的作用域就是例外处理部分。
2.1.3 简单数据类型
1.布尔类型--boolean
布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:
boolean b=true;
2.字符类型--char
字符常量: 字符常量是用单引号括起来的一个字符,如'a','a';
字符型变量: 类型为char,它在机器中占16位,其范围为0~65535。字符型变量的定义如:
char c='a'; /*指定变量c为char型,且赋初值为'a'*/
3.整型数据
整型常量:
◇ 十进制整数: 如123,-456,0
◇ 八进制整数: 以0开头,如0123表示十进制数83,-011表示十进制数-9。
◇ 十六进制整数: 以0x或0x开头,如0x123表示十进制数291,-0x12表示十进制数-18。
整型变量:
数据类型
所占位数
数的范围
byte
8
-27~27-1
short
16
-215~215-1
int
32
-231~231-1
long
64
-263~263-1
4.浮点型(实型)数据
实型常量:
◇ 十进制数形式
由数字和小数点组成,且必须有小数点,如0.123, 1.23, 123.0
◇ 科学计数法形式
如:123e3或123e3,其中e或e之前必须有数字,且e或e后面的指数必须为整数。
◇ float型的值,必须在数字后加f或f,如float t = 1.23f。
实型变量:
数据类型
所占位数
数的范围
float
32
3.4e-038 ~3.4e+038
double
64
1.7e-038 ~1.7e+038
2.1.4 简单数据类型中各类型数据间的优先关系和相互转换
自动类型转换规则
整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级;
操作数1类型
操作数2类型
转换后的类型
byte、short、char
int
int
byte、short、char、int
long
long
byte、short、char、int、long
float
float
byte、short、char、int、long、float
double
double
3.强制类型转换
高级数据要转换成低级数据,需用到强制类型转换,如:
int i;
byte b=(byte)i;
2.2 运算符和表达式
2.2.1 运算符
基本的运算符按功能划分,有下面几类:
1 算术运算符: +,?d,*,/,%,++,--
2 关系运算符: >,<,>=,<=,==,!=
3 布尔逻辑运算符: !,&&,|| 。
4 位运算符: >>,<<,>>>,&,|,^,~。
>>>为右移后零填充, ^为按位异或
例如:
a=10011101; b=00111001;则有如下结果:
a<<3 =11101000;
a>>3 =11110011 a>>>3=00010011;
a&b=00011001; a|b=10111101;
~a=01100010; a^b=10100100;
5 赋值运算符 =,及其扩展赋值运算符如+=,-=,*=,/=等。
6 条件运算符 ? :
operand?statement1:statement2
operand为一个布尔表达式,若为真则执行statement1,为statement2
7 其它:
包括分量运算符? ,下标运算符 [],实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等。例如:
2.2.2 表达式
表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。
1.表达式的类型
表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型:
布尔型表达式: x&&y||z;
整型表达式: num1+num2;
2.运算符的优先次序
表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:
优先次序
运算符
1
. [] ()
2
++ -- ! ~ instanceof
3
new (type)
4
* / %
5
+ -
6
>> >>> <<
7
> < >= <=
8
= = !=
9
&
10
^
11
|
12
&&
13
||
14
?:
15
= += -= *= /= %= ^=
16
&= |= <<= >>= >>>=
先单运算符,而后
闽公网安备 35060202000074号