版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 数据类型、运算符和表达式数据类型、运算符和表达式 312本章主要内容本章主要内容 标识符标识符 关键字关键字 Java基本数据类型基本数据类型(常量和变量常量和变量) 数组数组 参数传递方式;参数传递方式; 运算符运算符标识符标识符u Java对各种变量、方法和类等要素命名的字对各种变量、方法和类等要素命名的字符序列成为标识符符序列成为标识符u Java标识符命名规则标识符命名规则 标识符由字母、下划线标识符由字母、下划线”_”、数字或美元、数字或美元”$”组成;组成; 标识符只能以字母、下划线标识符只能以字母、下划线”_”或美元或美元”$”开头,不开头,不能由数字开头;能由数字开
2、头; 标识符不能是关键字;标识符不能是关键字; 标识符区分大小写标识符区分大小写 .3练习练习: : 判断下列是判断下列是/ /不是标识符不是标识符? ?myVariable myVariable 9pins9pinsMYVARIABLE MYVARIABLE i i a+ca+ctest1-2test1-2intint_ _myvariablemyvariablejava¨java¨My VariableMy Variable$myvariable $myvariable _9pins _9pins ItsIts编程习惯:所有的编程习惯:所有的JavaJava标识
3、符都采用英文,且见名标识符都采用英文,且见名知义!知义!关键字关键字u Java中一些赋予特定含义的字符串称为关键字中一些赋予特定含义的字符串称为关键字u 所有关键字都是小写英文所有关键字都是小写英文5intbooleanfloatdoublecharbytepublic privateprotectedabstractfinaldefaultswitchforwhileclassextendsif变量与常量变量与常量6l 变量与常量相当于自然语言的名词变量与常量相当于自然语言的名词l 常量:指在程序运行期间不能修改的量常量:指在程序运行期间不能修改的量l 变量:指在程序运行时能被修改的量变量
4、:指在程序运行时能被修改的量l Java中任何数据都有确切的类型中任何数据都有确切的类型l 不同数据类型在内存中分配的字节数不相同不同数据类型在内存中分配的字节数不相同 7 数据数据类型类型 布尔布尔(boolean)(boolean)数值数值类型类型短整数短整数(short)(short)字节字节(byte)(byte) 字符字符(char)(char)长整数长整数(long)(long)整数整数(int)(int)双精度浮点数双精度浮点数(double)(double) 单精度浮点数单精度浮点数(float)(float) 定点定点类型类型 浮点浮点类型类型 基本基本数据类型数据类型 引用
5、引用数据类型数据类型 类类 接口接口 数组数组 整数类型整数类型数据类型汇总数据类型汇总 JavaJava数据类型层次图数据类型层次图8Java变量变量u Java变量在计算机内部对应着一个存储单元,变量在计算机内部对应着一个存储单元,其要素包括其要素包括变量名、变量类型和作用域变量名、变量类型和作用域u Java程序中每个变量都属于特定的数据类型,程序中每个变量都属于特定的数据类型,使用前必须对其使用前必须对其声明声明,其格式为:,其格式为: 修饰符修饰符 Type varName=value,varName=value; 从本质上讲,变量其实是从本质上讲,变量其实是内存中的一小块区内存中的
6、一小块区域域,通过,通过变量名变量名来访问这块区域,因此,每一个来访问这块区域,因此,每一个变量使用前必须先变量使用前必须先声明,然后必须赋值声明,然后必须赋值,才能使,才能使用用9Java常量常量u 字面常量和字面常量和final常量常量u 字面常量无需声明,直接书写:如字面常量无需声明,直接书写:如123,3.14,A,false,“Hello World”。如:如:System.out.print(“PI=”+3.1415);u final常量指以关键字常量指以关键字final修饰的变量,只能被修饰的变量,只能被赋值一次,赋值一次,常量名大写。常量名大写。具体具体格式为:格式为:修饰符修
7、饰符 final 类型名类型名 常量名常量名=初值初值如:如:final double PI=3.14; final int N=100; final int COUNT=10; COUNT=10;(错误错误)3110整型整型u 整型常量:整型常量: 八进制:八进制:以数字以数字0开头,后接开头,后接07; 十进制:十进制:数字的正常表示;数字的正常表示; 十六进制:十六进制:以以0 x开头,后接开头,后接 09间间 的数字和的数字和 af 间的字母间的字母字节型、短整型、基本整型、长整型字节型、短整型、基本整型、长整型(-80L)11整型整型 u 整型变量:整型变量: 注意:不要将注意:不要
8、将long型常量赋给非型常量赋给非long型变量型变量 常量不要超过变量所属类型的表示范围常量不要超过变量所属类型的表示范围 int常量可赋值给常量可赋值给byte、short型、型、long型常量型常量类型名类型名字节数字节数表示范围表示范围默认值默认值byte1(-2727-1)0short2(-215215-10int3(-231231-10long4(-263263-1)012整型整型u 整型变量:整型变量: Java中的整型类型有对应的类类型。中的整型类型有对应的类类型。 byte、short、int、long是原子类型,而是原子类型,而Byte、Short、Integer和和Lon
9、g分别是四种原子类型对分别是四种原子类型对应的类类型。应的类类型。 类型名类型名字节数字节数表示范围表示范围默认值默认值byte1(-2727-1)0short2(-215215-10int3(-231231-10long4(-263263-1)0public class Test_Int / 程序程序2-1 测试整形变量的最值测试整形变量的最值 public static void main(String args) byte a;System.out.println(Byte.MAX_VALUE ); System.out.println(Byte.MIN_VALUE ); s h o r
10、 t b ;System.out.println(Short.MAX_VALUE );System.out.println(Short.MIN_VALUE ); int c;System.out.println(Integer.MAX_VALUE ); System.out.println(Integer.MIN_VALUE ); long d;System.out.println(Long.MAX_VALUE ); System.out.println(Long.MIN_VALUE); 14浮点型浮点型u 浮点常量:采用十进制或科学记数法表示,如浮点常量:采用十进制或科学记数法表示,如3.1
11、415, 2.1E5 。单精度浮点型:单精度浮点型: float型,型,f后缀,通常是后缀,通常是32位位 双精度浮点型:双精度浮点型: double型,通常是型,通常是64位位Java浮点型常量默认为浮点型常量默认为double型型 例:例:3.14 为为double型,型,3.14f 为为float型型15浮点型浮点型u 浮点常量:浮点常量: 如要声明如要声明float型,需在数字后加型,需在数字后加f或或F,如,如float f=3.14; /错误,double型常量不能赋值给float型变量double f=3.14; /正确 类型类型占用内存空间占用内存空间表数范围表数范围float
12、4字节-3.403E383.403E38double8字节-1.798E3081.798E30816字符型字符型 u字符型常量表示形式字符型常量表示形式(2字节字节)u常规表示:适用于常规字符,单引号直接括起来的单个字符,如:a, 中;u转义表示: 通过转义字符将字符转成其他含义。u 编码表示:Java字符采用Unicode编码,每个字符占两个字节(16位),因此可用十六进制编码表示。因此char变量长度为16个位,表示范围是从u0000 到 uffff ;u0021=! 叹号 u0022=“ 双引号 u0023=# 井号 u0024=$ 价钱/货币符号名称转义字符说明退格键b表示一次退格Ta
13、b键t表示一个Tab空格换行符n表示换行回车键r表示回车17字符型字符型 字符变量以关键字字符变量以关键字char声明声明 char eChar=a; char cChar=中; 注意:注意:不能将多个字符赋值给字符型变量;不能用双引号(双引号中为字符串)例:char ch1=; char ch1= ; char ch2=abc; char ch3=“a”; Character是是char类型对应的类类型类型对应的类类型 ;18布尔型布尔型 boolean变量取值:变量取值:true和和false ; 声明时默认为声明时默认为false; true和和false不能转换成任何数值表示,不能转换
14、成任何数值表示,true不是不是1,false也不是也不是0 。 boolean变量不能参加算术运算,但能参变量不能参加算术运算,但能参加逻辑运算加逻辑运算(与、或、非与、或、非)。19字符串字符串u 字符串常量:字符串常量:Java中字符串常量是对象类型中字符串常量是对象类型 ,双引号双引号“”“”表示。表示。20JavaJava变量的分类变量的分类u 按被声明的位置划分:按被声明的位置划分:局部局部变量:方法或语句块内部定义的变量变量:方法或语句块内部定义的变量成员成员变量:方法外部、类内部定义的变量变量:方法外部、类内部定义的变量u按所属数据类型划分:按所属数据类型划分:基本基本数据类型
15、变量数据类型变量引用引用数据类型变量数据类型变量public class point int x=1; public void main(String args)char c=a; 212.2.5 原子类型变量的生存空间原子类型变量的生存空间 一个变量的生存空间是由两个大括号决定的一个变量的生存空间是由两个大括号决定的 范范围。围。 int x=1; int x=0; / 错误错误 int x=1; char c=a; /x和和c均可用均可用 /x可用,可用,c不可用不可用 222.3 变量赋值问题变量赋值问题 变量名变量名 = 数据值;数据值;如果类中定义的原子类型变量,未给出初值,那如果类
16、中定义的原子类型变量,未给出初值,那么它们将有缺省值么它们将有缺省值 :byte、short、int 和和long变变量的缺省值是量的缺省值是0;char 、float、double和和boolean变量的缺省值分别是变量的缺省值分别是u0000、0.0f、0.0d和和false。方法内定义的局部变量,应当对其赋值,否则无方法内定义的局部变量,应当对其赋值,否则无法通过编译法通过编译 。例如:。例如:/ 程序程序2-4class Test / 定义一个类定义一个类int Value; / 类中的变量未赋值,缺省就是类中的变量未赋值,缺省就是0 public class Test_Varpubl
17、ic static void main(String args) int x=100; / 必须赋值,否则无法通过编译必须赋值,否则无法通过编译Test obj=new Test( );/ 对象赋值对象赋值 System.out.println( obj.Value + +x); 242.3 变量赋值问题变量赋值问题 u 基础数据类型转换基础数据类型转换布尔类型不能转换为其他类型;布尔类型不能转换为其他类型;整型、字符型、浮点型可以相互转换:整型、字符型、浮点型可以相互转换: 容量小的类型自动为容量大的数据类型;容量小的类型自动为容量大的数据类型; 容量大的类型转换容量大的类型转换为容量小的类
18、型,为容量小的类型,加强制转换符,会加强制转换符,会损失精度。损失精度。252.3 变量赋值问题变量赋值问题 强制数据类型转换强制数据类型转换(目的转换类型目的转换类型)原转换类型数据原转换类型数据例:例: int x=2+3.14; /Java中报错中报错 int x=2+(int)3.14; /double型强制转换型强制转换为为int型型262.3 变量赋值问题变量赋值问题 public static void main(String args) int i=1, j;float f1=0.1; float f2=123;long l1=12345678; long l2=8888888
19、888;double d1=2e20,d2=124;byte b1=1,b2=2,b3=129;j=j+10; i=i/10; i=i*0.1;char c1=a,c2=125;byte b=b1-b2;char c=c1+c2-1;float f3=f1+f2;float f4=f1+f2*0.1;float f=(float)(d1*5+d2);272.4 数组数组 数组:由相同类型的若干项数据组成的复合数数组:由相同类型的若干项数据组成的复合数据类型;据类型;下标从下标从0 0开始。开始。 数组要素:数组名,元素类型,维度,大小数组要素:数组名,元素类型,维度,大小 数组的分类数组的分类
20、:一维和多维。一维和多维。一维数组声明:一维数组声明: 数组元素类型数组元素类型 数组名字数组名字; 数组元素类型数组元素类型 数组名字;数组名字;二维数组声明:二维数组声明: 数组元素类型数组元素类型 数组名字数组名字; 数组元素类型数组元素类型 数组名字;数组名字;28 例:例:int a ; int a ;其其值是值是null ; 注意:注意:在定义数组时不能指定大小。在定义数组时不能指定大小。a仅是一个引仅是一个引用,代表一个数组名,但没有对应的空间。用,代表一个数组名,但没有对应的空间。 产生数组空间的方法有两种产生数组空间的方法有两种 : 在定义时直接赋值:在定义时直接赋值:int
21、 a =1,2,3; 通过通过new分配空间:分配空间: int a =new int10;2.4.1 一维数组一维数组静态初始化动态初始化31292.4.1 一维数组一维数组( (续续) ) 一个数组若仅仅采用一个数组若仅仅采用new分配空间,而没分配空间,而没有对其赋值,那么每个元素按有对其赋值,那么每个元素按相应数据相应数据类型类型初始化初始化 。 一维数组在内存中的存储结构一维数组在内存中的存储结构 获得数组元素的个数:数组名获得数组元素的个数:数组名.length; 数组元素的访问数组元素的访问注意:注意:Java数组名是一个引用,当将一个数组名赋数组名是一个引用,当将一个数组名赋值
22、给另一个数组时,实际上是名字的复制,值给另一个数组时,实际上是名字的复制, 例如例如 2- 2-5 5:public class Test_Arraypublic static void main(String args)int a =1,2,3, b ;b= a ; for(int i=0;i3;i+) b i +;for(int i=0;i, =, , =, = =, 和!和!=例:5=6; 7!=7.0; 结果为true或者falsel 注意: boolean型不能转换为数值型,不能同其他类型进行关系运算 boolean型间只能进行相等或者不等的比较 关系运算式不能赋值给非boolean
23、型变量例:假设a, b, c是三个整型的变量,那么 a=b=c 就是错误的 ;31402.6.2 关系运算符关系运算符 l 关系运算符关系运算符=用于对象时,是判别两个用于对象时,是判别两个引用是否指向同一个对象。例如:引用是否指向同一个对象。例如: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.o
24、ut.println(对象的数据成员对象的数据成员x相等!相等!); if(n1=n2) System.out.println(n1和和n2是一个对象!是一个对象!);else System.out.println(n1和和n2不是一个对象!不是一个对象!); String str1 = abc;String str2 = abc;System.out.println(str1=str2); String str1 = abc;String str2 = new String(abc);System.out.println(str1=str2); /true /false31432.6.3 逻
25、辑运算符逻辑运算符 逻辑运算符逻辑运算符 &(与)、与)、 | (或)、或)、 !(非)非) 运算结果是运算结果是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) & testTwo(1)System.out.println(表达式为真表达式为真);else System.out.println(表达式为假表达式为假); 31452.6.4 位运算符位运算符 按位运算按位运算符:符:&、|、对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度绿色能源项目投资定金合同附属协议书2篇
- 二零二五年度权威解读!欠条法律风险防范及处理合同3篇
- 二零二五年度白酒定制生产与品牌发展合同2篇
- 二零二五年度高铁安装工程设备磨损保险合同2篇
- 2025年度西餐厅经营管理权租赁合同3篇
- 二零二五年度航空货运代理航空货物包装材料供应合同3篇
- 展会展台拆除合同(2篇)
- 小区道路工程承包合同(2篇)
- 2025年餐饮食材配送与售后服务合同协议3篇
- 二零二五年度航空航天零部件耗材采购合同范本3篇
- 幼儿园反恐防暴技能培训内容
- 食品企业质检员聘用合同
- 中医诊所内外部审计制度
- 自然辩证法学习通超星期末考试答案章节答案2024年
- 2024年国家危险化学品经营单位安全生产考试题库(含答案)
- 护理员技能培训课件
- 家庭年度盘点模板
- 河南省郑州市2023-2024学年高二上学期期末考试 数学 含答案
- 2024年资格考试-WSET二级认证考试近5年真题集锦(频考类试题)带答案
- 试卷中国电子学会青少年软件编程等级考试标准python三级练习
- 公益慈善机构数字化转型行业三年发展洞察报告
评论
0/150
提交评论