Java2-2数据类型、运算符和表达式.ppt

上传人:小飞机 文档编号:6509229 上传时间:2023-11-07 格式:PPT 页数:37 大小:268.99KB
返回 下载 相关 举报
Java2-2数据类型、运算符和表达式.ppt_第1页
第1页 / 共37页
Java2-2数据类型、运算符和表达式.ppt_第2页
第2页 / 共37页
Java2-2数据类型、运算符和表达式.ppt_第3页
第3页 / 共37页
Java2-2数据类型、运算符和表达式.ppt_第4页
第4页 / 共37页
Java2-2数据类型、运算符和表达式.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《Java2-2数据类型、运算符和表达式.ppt》由会员分享,可在线阅读,更多相关《Java2-2数据类型、运算符和表达式.ppt(37页珍藏版)》请在三一办公上搜索。

1、第2章 数据类型、运算符和表达式,2,本章主要内容,基本语法常量:包括字面常量和符号表示的常量;变量:整形、浮点型、字符型和布尔型;数组:Java的数组属于类类型;参数传递方式;运算符:包括逻辑运算符、算术运算符和位运算符等;,3,2.1 常量,整形常量:采用八进制、十进制、十六进制表示,但不能采用二进制表示,和C/C+中的一样。浮点常量:采用十进制或科学记数法表示。在缺省情况下一个浮点数是double型。布尔常量:true和false,它们不是数,不能进行算术运算。字符常量:与C/C+中的表示类似。字符串常量:Java中字符串常量是对象。,4,2.1 Java语言词法,1注释(1)/*注释内

2、容*/(2)/注释内容(3)/*注释内容*/2关键词关键词是构成编程语言本身的符号,是一种特殊的标识符,又称保留字。,5,2.1 Java语言词法,6,2.1 Java语言词法,3标识符:标识符是能被编译器识别而提供的在程序中惟一的名字,可以是任意长度。(1)由字母、下划线(_)或美元符($)开头,同时由字母、09的数字、下划线(_)或美元符($)组成。(2)不能与关键词同名。注意:名字最好是顾名思义;不能使用系统保留字。,7,2.2 常量,整形常量:采用八进制、十进制、十六进制表示,但不能采用二进制表示,和C/C+中的一样。浮点常量:采用十进制或科学记数法表示。在缺省情况下一个浮点数是dou

3、ble型。布尔常量:true和false,它们不是数,不能进行算术运算。字符常量:与C/C+中的表示类似。字符串常量:Java中字符串常量是对象。,8,2.2 常量,Java语言还允许使用一种以“”开头的特殊形式的字符常量,这种字符常量称为转义字符。其用来表示一些不可显示的或有特殊意义的字符。,9,2.2 常量,常量的声明:final 类型 常量名;一般地,常量名用大写形式,10,2.3.1 整形类型的变量,字节(byte)型,8个位。短整形(short),占16个位。整形(int),占32个位。长整形(long int),占64个位。Java中的整形最值均有符号。例如程序2-1测试最值:,p

4、ublic class Test_Int/程序2-1 测试整形变量的最值 public static void main(String args)System.out.println(Byte.MAX_VALUE);System.out.println(Byte.MIN_VALUE);System.out.println(Short.MAX_VALUE);System.out.println(Short.MIN_VALUE);System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);System.ou

5、t.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE);,12,注意:byte、short、int、long是原子类型,而Byte、Short、Integer和Long分别是四种原子类型对应的类类型。,2.3.1 整形类型的变量(续),13,2.3.2 字符类型变量,Java字符量的长度为16个位,表示范围是从u0000 到 uffff 即从0 到 65535;Character是char类型对应的类类型;最大值 Character.MAX_VALUE;最小值 Character.MIN_VALUE;,14,2.3.3 浮点类型

6、变量,分类:float和double。Float、Double 是对应的类类型;Float.MAX_VALUE、Float.MIN_VALUE是最值。Float.POSITIVE_INFINITY 和 Float.NEGATIVE_INFINITY是正/负无限大。,15,2.3.4 变量的取值范围,表2-2 整数类型的取值范围,16,表2-3 浮点类型的取值范围,17,2.3.5 布尔类型变量,boolean变量取值:true和false;true和false不能转换成任何数值表示,true不是1,false也不是0。,18,2.3.6 缺省初始值,在Java语言中,每个变量都有一个数值,不存

7、在没有值的变量。如果一个变量在定义前没有被初始化,系统自动赋给其初始值,19,2.3.7 类型转换,类型转换可分为自动类型转换、强制类型转换两种。自动类型转换 各类型从低级到高级的顺序为:byteshortcharintlongfloatdouble。自动类型转换规则为:(1)(byte或 short)和 int int。(2)(byte或 short或 int)和 long long。(3)(byte或 short或 int或 long)和 float float。(4)(byte或 short或 int或 long或 float)和 double double。(5)char 和 int

8、int。,20,2.3.7 类型转换,强制类型转换:(type)变量;,21,2.3.8 原子类型变量的生存空间,一个变量的生存空间是由两个大括号决定的 范围。下列写法在C/C+中是正确的,但在Java中是错误的(注意)。int x=1;int x=0;/错误,22,2.4 变量赋值问题,如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值:byte、short、int 和long变量的缺省值是0;char、float、double和boolean变量的缺省值分别是u0、0.0f、0.0d和false。方法内定义的局部变量,应当对其赋值,否则无法通过编译。例如:,23,2.4 变量赋值问

9、题,如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值:byte、short、int 和long变量的缺省值是0;char、float、double和boolean变量的缺省值分别是u0、0.0f、0.0d和false。方法内定义的局部变量,应当对其赋值,否则无法通过编译。例如:,/程序2-4class Test/定义一个类int Value;/类中的变量未赋值,缺省就是0public class Test_Varpublic static void main(String args)int x=100;/必须赋值,否则无法通过编译Test obj=new Test();/对象赋值(o

10、bj.Value+x);,25,2.5 Java中的参数传递方式,Java的参数传递的形式有两种:基本类型按值传递,对象类型按引用传递;通过return语句从方法中返回时,基本类型总是以值的方式返回,而对象总是以引用方式返回。例如程序2-8:,class testint x;public class Test_Paras static test fun(test o,int y)o.x=20;y=1;return o;public static void main(String args)test obj1,obj2;int Val=3;obj1=new test();obj1.x=100;o

11、bj2=fun(obj1,Val);System.out.println(obj1.x+obj2.x+Val);,运行结果:20 20 3,27,2.6 Java的运算符,主要包括:算术运算符、关系运算符、逻辑运算符、位运算符和三元条件运算符。,28,2.6.1 算术运算符,算术运算符:+、-、*、/、%、+和-,与C/C+基本相同。%运算符不但可以对整形数据运算,而且可以对浮点型数据运算。例如:3.14%2.5的值约等于0.64;,29,2.6.2 关系运算符,关系运算符不能同其它类型的变量一同 参与运算,例如假设a,b,c是三个整形的变量,那么 a=b=c 就是错误的;关系运算符用于对象时

12、,是判别两个引用是否代表同一个对象。例如:,class number int x;public class relationalOperator public static void main(String args)number n1,n2;n1=new number();n2=new number();n1.x=1;n2.x=1;if(n1.x=n2.x)(对象的数据成员x相等!);if(n1=n2)System.out.println(n1和n2是一个对象!);else System.out.println(n1和n2不是一个对象!);,31,2.6.3 逻辑运算符,逻辑运算符有&、|和

13、!,分别是与、或和非。运算结果是true或false;逻辑运算有求值“短路”现象,例如程序2-11:,public class shortCut static boolean testOne(int x)System.out.println(x+1+(x1);return x 1;static boolean testTwo(int x)System.out.println(x+1+(x2);return x 2;public static void main(String args)if(testOne(6),33,2.6.4 位运算符,位运算符:,34,2.6.5 三元条件运算符,语法格式:(exp)?(exp1):(exp2);Java要求:(exp1)与(exp2)必须同类型。,35,2.6.6“+”运算符,Java对“+”进行了重载,可以将任何类型的对象(包含原子类型)转化为String类型。例如:int x=1;char ch=A;double d=9.8;System.out.println(Result:+x+ch+9.8);,36,37,上机练习:P35 46题。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号