Java2-2数据类型、运算符和表达式.ppt_第1页
Java2-2数据类型、运算符和表达式.ppt_第2页
Java2-2数据类型、运算符和表达式.ppt_第3页
Java2-2数据类型、运算符和表达式.ppt_第4页
Java2-2数据类型、运算符和表达式.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 数据类型、运算符和表达式 1 本章主要内容 基本语法 常量:包括字面常量和符号表示的常量 ; 变量:整形、浮点型、字符型和布尔型 ; 数组:Java的数组属于类类型; 参数传递方式; 运算符:包括逻辑运算符、算术运算符 和位运算符等; 2 2.1 常量 整形常量:采用八进制、十进制、十六进制表 示,但不能采用二进制表示,和C/C+中的一样 。 浮点常量:采用十进制或科学记数法表示。在 缺省情况下一个浮点数是double型。 布尔常量:true和false,它们不是数,不能进 行算术运算。 字符常量:与C/C+中的表示类似 。 字符串常量:Java中字符串常量是对象 。 3 2.1 Java语言词法 1注释 (1)/* 注释内容 */ (2)/ 注释内容 (3)/*注释内容*/ 2关键词 关键词是构成编程语言本身的符号,是一种特 殊的标识符,又称保留字。 4 2.1 Java语言词法 关键词 abstractbooleanintinterface breakbytelongnative byvaluecasepackageprivate castclassprotecte d public continuedefaultreturnshort dodoublestaticsuper falsefinalswitchsynchro nize d finallyfloatthisthreadsa fe forgoto*throwtransient ifimpleme nts truetry importinstance of voidwhile 5 2.1 Java语言词法 3标识符 :标识符是能被编译器识别而提 供的在程序中惟一的名字,可以是任意长度 。 (1)由字母、下划线(_)或美元符($) 开头,同时由字母、09的数字、下划线(_ )或美元符($)组成。 (2)不能与关键词同名。 注意:名字最好是顾名思义;不能使用系统保 留字。 6 2.2 常量 整形常量:采用八进制、十进制、十六进制表 示,但不能采用二进制表示,和C/C+中的一样 。 浮点常量:采用十进制或科学记数法表示。在 缺省情况下一个浮点数是double型。 布尔常量:true和false,它们不是数,不能进 行算术运算。 字符常量:与C/C+中的表示类似 。 字符串常量:Java中字符串常量是对象 。 7 2.2 常量 功能字符 形 式 功能字符形 式 回车r单引号 换行n双引号“ 水平 制 表 t八进制位 模式 ddd 退格b十六进制 模式 Udddd 换页f反斜线 Java语言还允许使用一种以“”开头的特殊形式的字符常量,这种字符常量称为转义 字符。其用来表示一些不可显示的或有特殊意义的字符。 8 2.2 常量 常量的声明: final 类型 常量名; 一般地,常量名用大写形式 9 2.3.1 整形类型的变量 字节(byte)型,8个位。 短整形(short),占16个位。 整形 ( int ),占32个位。 长整形 ( long int ),占64个位。 Java中的整形最值均有符号。例如程序2 -1测试最值: 10 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_VALUE ); System.out.println(Integer.MIN_VALUE ); System.out.println(Long.MAX_VALUE ); System.out.println(Long.MIN_VALUE); 11 注意: byte、short、int、long是原子类型 ,而Byte、Short、Integer和Long分别是四 种原子类型对应的类类型。 2.3.1 整形类型的变量(续) 12 2.3.2 字符类型变量 Java字符量的长度为16个位,表示范围 是从u0000 到 uffff 即从0 到 65535; Character是char类型对应的类类型 ; 最大值 Character.MAX_VALUE ; 最小值 Character.MIN_VALUE ; 13 2.3.3 浮点类型变量 分类:float和double。 Float 、Double 是对应的类类型 ; Float.MAX_VALUE、Float.MIN_VALUE 是最值。 Float.POSITIVE_INFINITY 和 Float.NEGATIVE_INFINITY是正/负无限 大 。 14 2.3.4 变量的取值范围 表2-2 整数类型的取值范围 类型宽度取值范围 long64-9223372036854775808 9223372036854775807 Int32-21474836482147483647 short16-3276832767 byte8-128127 15 表2-3 浮点类型的取值范围 类型位长取值范围 F/f321.4012984632481707e-45 3.40282346638528860e+38 D/d644.9406564584124654e-324 1.79769313486231570e+308 16 2.3.5 布尔类型变量 boolean变量取值:true和false ; true和false不能转换成任何数值表示, true不是1,false也不是0 。 17 2.3.6 缺省初始值 在Java语言中,每 个变量都有一个数 值,不存在没有值 的变量。如果一个 变量在定义前没有 被初始化,系统自 动赋给其初始值 类型缺省初始值 Byte(byte)0 Short(short)0 Int0 Long0L Float0.0f Double0.0d charu0000 booleanfalse 18 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 int 。 19 2.3.7 类型转换 源类型目标类型 byteshortintlongfloatdoublecharboolea n byteCCCCCXX shortC,LCCCCXX intC,LC,LCC,LCXX longC,LC,LC,LC,LC,LXX floatC,LC,LC,LC,LC,LXX doubleC,LC,LC,LC,LC,LXX charC,LCCCCCX booleanXXXXXXX 强制类型转换: (type) 变量; 20 2.3.8 原子类型变量的生存空间 一个变量的生存空间是由两个大括号决定的 范 围。下列写法在C/C+中是正确的,但在Java中 是错误的 ( 注意 )。 int x=1; int x=0; / 错误 21 2.4 变量赋值问题 如果类中定义的原子类型变量,未给出 初值,那么它们将有缺省值 :byte、short 、int 和long变量的缺省值是0;char 、 float、double和boolean变量的缺省值分别 是u0、0.0f、0.0d和false。 方法内定义的局部变量,应当对其赋值 ,否则无法通过编译 。例如: 22 2.4 变量赋值问题 如果类中定义的原子类型变量,未给出 初值,那么它们将有缺省值 :byte、short 、int 和long变量的缺省值是0;char 、 float、double和boolean变量的缺省值分别 是u0、0.0f、0.0d和false。 方法内定义的局部变量,应当对其赋值 ,否则无法通过编译 。例如: 23 / 程序2-4 class Test / 定义一个类 int Value; / 类中的变量未赋值,缺省就是0 public class Test_Var public static void main(String args) int x=100; / 必须赋值,否则无法通过编译 Test obj=new Test( );/ 对象赋值 System.out.println( obj.Value +“ “+x); 24 2.5 Java中的参数传递方式 Java的参数传递的形式有两种:基本类 型按值传递,对象类型按引用传递; 通过return语句从方法中返回时,基本 类型总是以值的方式返回,而对象总是以 引用方式返回。 例如程序2-8 : 25 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; obj2=fun(obj1,Val); System.out.println(obj1.x+“ “+ obj2.x+“ “+Val); 运行结果:20 20 3 26 2.6 Java的运算符 主要包括: 算术运算符、关系运算符、逻辑运算符 、位运算符和三元条件运算符 。 27 2.6.1 算术运算符 算术运算符:+、-、*、/、%、+和-, 与C/C+基本相同。 %运算符不但可以对整形数据运算,而 且可以对浮点型数据运算。 例如:3.14 % 2.5的值约等于0.64 ; 28 2.6.2 关系运算符 关系运算符不能同其它类型的变量一同 参与运算,例如假设a,b,c是三个整形的变 量,那么 a=b=c 就是错误的 ; 关系运算符用于对象时,是判别两个引用 是否代表同一个对象。例如: 29 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) System.out.println(“对象的数据成员x相等!“); if(n1=n2) System.out.println(“n1和n2是一个对象!“); else System.out.println(“n1和n2不是一个对象!“); 30 2.6.3 逻辑运算符 逻辑运算符有 b=a30; 33 2.6.5 三元条件运算符 语法格式:(exp)? (exp1) :(exp2) ; Java要求:(exp1)与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论