java2-2数据类型、运算符和表达式

上传人:san****019 文档编号:70779738 上传时间:2019-01-18 格式:PPT 页数:37 大小:333.31KB
返回 下载 相关 举报
java2-2数据类型、运算符和表达式_第1页
第1页 / 共37页
java2-2数据类型、运算符和表达式_第2页
第2页 / 共37页
java2-2数据类型、运算符和表达式_第3页
第3页 / 共37页
java2-2数据类型、运算符和表达式_第4页
第4页 / 共37页
java2-2数据类型、运算符和表达式_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《java2-2数据类型、运算符和表达式》由会员分享,可在线阅读,更多相关《java2-2数据类型、运算符和表达式(37页珍藏版)》请在金锄头文库上搜索。

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

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

3、制或科学记数法表示。在缺省情况下一个浮点数是double型。 布尔常量:true和false,它们不是数,不能进行算术运算。 字符常量:与C/C+中的表示类似 。 字符串常量:Java中字符串常量是对象 。,8,2.2 常量,Java语言还允许使用一种以“”开头的特殊形式的字符常量,这种字符常量称为转义字符。其用来表示一些不可显示的或有特殊意义的字符。,9,2.2 常量,常量的声明: final 类型 常量名; 一般地,常量名用大写形式,10,2.3.1 整形类型的变量,字节(byte)型,8个位。 短整形(short),占16个位。 整形 ( int ),占32个位。 长整形 ( long

4、int ),占64个位。 Java中的整形最值均有符号。例如程序2-1测试最值:,public 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_V

5、ALUE ); System.out.println(Integer.MIN_VALUE ); System.out.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类型对应的类类型

6、; 最大值 Character.MAX_VALUE ; 最小值 Character.MIN_VALUE ;,14,2.3.3 浮点类型变量,分类: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 ; tru

7、e和false不能转换成任何数值表示,true不是1,false也不是0 。,18,2.3.6 缺省初始值,在Java语言中,每个变量都有一个数值,不存在没有值的变量。如果一个变量在定义前没有被初始化,系统自动赋给其初始值,19,2.3.7 类型转换,类型转换可分为自动类型转换、强制类型转换两种。 自动类型转换 各类型从低级到高级的顺序为:byteshortcharintlongfloatdouble。自动类型转换规则为: (1)(byte或 short) 和 int int 。 (2)(byte或 short或 int) 和 long long 。 (3)(byte或 short或 int或

8、 long) 和 float float 。 (4)(byte或 short或 int或 long或 float) 和 double double 。 (5)char 和 int 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变量

9、的缺省值是0;char 、float、double和boolean变量的缺省值分别是u0、0.0f、0.0d和false。 方法内定义的局部变量,应当对其赋值,否则无法通过编译 。例如:,23,2.4 变量赋值问题,如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值 :byte、short、int 和long变量的缺省值是0;char 、float、double和boolean变量的缺省值分别是u0、0.0f、0.0d和false。 方法内定义的局部变量,应当对其赋值,否则无法通过编译 。例如:,/ 程序2-4 class Test / 定义一个类 int Value; / 类中的变量

10、未赋值,缺省就是0 public class Test_Var public static void main(String args) int x=100; / 必须赋值,否则无法通过编译 Test obj=new Test( ); / 对象赋值 System.out.println( obj.Value +“ “+x); ,25,2.5 Java中的参数传递方式,Java的参数传递的形式有两种:基本类型按值传递,对象类型按引用传递; 通过return语句从方法中返回时,基本类型总是以值的方式返回,而对象总是以引用方式返回。 例如程序2-8 :,class test int x; publi

11、c 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; obj2=fun(obj1,Val); System.out.println(obj1.x+“ “+ obj2.x+“ “+Val); ,运行结果:20 20 3,27,2.6 Java的运算符,主要包括: 算术运算符、关系运算符、逻辑运算符、位运算符和三元

12、条件运算符 。,28,2.6.1 算术运算符,算术运算符:+、-、*、/、%、+和-,与C/C+基本相同。 %运算符不但可以对整形数据运算,而且可以对浮点型数据运算。 例如:3.14 % 2.5的值约等于0.64 ;,29,2.6.2 关系运算符,关系运算符不能同其它类型的变量一同 参与运算,例如假设a,b,c是三个整形的变量,那么 a=b=c 就是错误的 ; 关系运算符用于对象时,是判别两个引用是否代表同一个对象。例如:,class number int x; public class relationalOperator public static void main(String arg

13、s ) number n1,n2; n1=new number( ); n2=new number( ); n1.x=1; n2.x=1; if(n1.x=n2.x) System.out.println(“对象的数据成员x相等!“); if(n1=n2) System.out.println(“n1和n2是一个对象!“); else System.out.println(“n1和n2不是一个对象!“); ,31,2.6.3 逻辑运算符,逻辑运算符有&、| 和!,分别是与、或和非。运算结果是true或false; 逻辑运算有求值“短路”现象 ,例如程序2-11 :,public class s

14、hortCut 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备13022795号 | 川公网安备 51140202000112号