JavaSE_2_标识符表达式_第1页
JavaSE_2_标识符表达式_第2页
JavaSE_2_标识符表达式_第3页
JavaSE_2_标识符表达式_第4页
JavaSE_2_标识符表达式_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、源自清华 值得信赖中国移动互联网研发培训专家千锋教学部源自清华 值得信赖中国移动互联网研发培训专家v心与身合,身体力行。vJava三大体系vJava跨平台原理vJDK的概念,安装,配置vJavac、java、javadocv单行注释、多行注释、文档注释章节回顾章节回顾源自清华 值得信赖中国移动互联网研发培训专家vJava基本语法格式 标识符、关键字、常量v变量及变量的作用域 变量的作用域vJava基本数据类型 基本数据类型之间的转换v运算符与表达式源自清华 值得信赖中国移动互联网研发培训专家vJava对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。vJava标识符命名规则: 由

2、字母(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。 不能以数字开头。 区分大小写。 长度无限制。(一般不要超过15个字符) 不能是Java中的保留字和关键字。v标识符命名习惯:见名知意。v请判断以下标识符是否合法: HelloWord、username2、user_name、_userName、$abc_123 2UserName、user#Name、Hello World4源自清华 值得信赖中国移动互联网研发培训专家vJava中有一些赋予特定的含义,有专门用途的字符串称为关键字(keyword)。全部为小写v 保留字:没有定义用途,但保留备用。goto、c

3、onst关键字关键字abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfpsuper switch synchronized this throw throw

4、s transient try void volatile while assert enum 5源自清华 值得信赖中国移动互联网研发培训专家v常见的数值类型(也称为数据常量) 整型(int):123 int Java语言整型的三种表示形式: 十进制整数:如12, -314, 0,8,7。 八进制整数:要求以0开头,如0127表示八进制的127 。 十六进制数:要求0 x或0X开头,如0 x1df3。 浮点数(实型) :3.14 float . 字符:a char 布尔(逻辑):true、false boolean 字符串String:a、abc、hello world, null:表示的引用

5、为空对象v注意:区分字符和字符串6源自清华 值得信赖中国移动互联网研发培训专家v变量:保存程序执行中的数据 变量名:定义变量的标识符 变量值:内存单元中所装载的数据v变量其实是内存中的一小块区域,使用变量名来访问这块区域。因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。v如: int i = 100; int y; y = i +10;7源自清华 值得信赖中国移动互联网研发培训专家数组数组(array)数据类型数据类型基本类型基本类型原始原始/简单简单引用类型引用类型数值型数值型字符型字符型(char) 也属于整数类型也属于整数类型布尔型(布尔型(boole

6、an)整数类型整数类型(byte, short, int, long)浮点类型浮点类型(float, double)类类(class)接口接口(interface)8枚举(enum)源自清华 值得信赖中国移动互联网研发培训专家vJava中定义了四类/八种基本数据类型 布尔型- boolean 字符型- char 整数型- byte, short, int, long 浮点数型- float, doublevJava中所有的基本数据类型都有固定的存储范围和所占内存空间的大小,而不受具体操作系统的影响,以保证Java程序的可移植性 9源自清华 值得信赖中国移动互联网研发培训专家v计算机中的数据都以

7、二进制数字保存。v二进制:逢二进一。即只有0、1两个值。 如:十进制的10在计算机内保存为二进制的1010v计算机中信息的存储单位 位(bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位。 字节(byte):一个字节由8个位组成。它表示作为一个完整处理单位的8个二进制数码。10源自清华 值得信赖中国移动互联网研发培训专家vJava语言的整型数值默认为int型,如:int i = 3;v要声明long型可以加l或 L,如:long l = 3L;v注意:在数值超过int的表述范围时(2147483647),需要加上l/L对long赋值类类 型型占用存储空间占用存储空间存储范围

8、存储范围byte1字节 -128 127 short2字节 -215 215-1 int 4字节 -231 231-1 long8字节 -263 263-1 11源自清华 值得信赖中国移动互联网研发培训专家vJava浮点类型常量有两种表示形式 十进制数形式,必须含有小数点,例如: 3.14 314.0 0.314 科学记数法形式,如 3.14e2 3.14E2 314E2 vJava浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如: double d = 3.14; float f = 3.14f;类类 型型占用存储空间占用存储空间存储范围存储范围fl

9、oat4字节 -3.403E383.403E38 double8字节 -1.798E308 1.798E308 12源自清华 值得信赖中国移动互联网研发培训专家vchar型数据用来表示通常意义上“字符” char c = A; char c2= 好;vJava字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(Unicode是全球语言统一编码) char c1 = u0061;/相当于a char c2=97;/ASCII美国标准信息交换码,相当于avJava语言中还允许使用转义字符来将其后的字符转变为其它的含义: char c2 = n; 13源自清华 值得信赖中国

10、移动互联网研发培训专家名称名称描述描述n 换行将光标移到下一行的第一格。r 回车将光标移到当前行的第一格。在命令行下会覆盖写.t 水平制表 将光标移到下一个水平制表位置。 单引号产生一个单引号。 双引号产生一个双引号。斜杠产生一个斜杠。14源自清华 值得信赖中国移动互联网研发培训专家vboolean类型适于逻辑运算,一般用于程序流程控制 vboolean类型数据只允许取值true或false,不可以用0或非0的整数替代true和false。v示例:boolean b = false; boolean c = true;15源自清华 值得信赖中国移动互联网研发培训专家NO.数据类型数据类型大小大

11、小/位位默认值默认值(全局变全局变量才有量才有)可表示的数据范围可表示的数据范围1long(长整数)640l-9223373036854775808 92233720368547758072int(整数)320-214748364821474836473short(短整数) 16(short)0-32768327674byte(字节型)8(byte)0-1281275char(字符)16u0000(空)0-655356float(单精度)320.0f-3.4E383.4E387double(双精度)640.0d-1.7E3081.7E3088booleanfalsetrue/false16Ja

12、va高端培训源自清华 值得信赖中国移动互联网研发培训专家vboolean 类型不能转换成任何其它基本数据类型。v自动类型转换:数据类型取值范围小的转为取值范围大的 byte,short, intlongfloatdouble char- intlongfloatdouble short,char不会互相转换 byte,short,char三者在计算时会转换成int类型(练习)v强制类型转换:数据类型取值范围大的 转为 取值范围小的. 需要加强制转换符,也就是(要转换的数据类型)。 long l = 100L;int i = (int)l; 但有可能造成精度降低或数据溢出,使用时要小心。17源自

13、清华 值得信赖中国移动互联网研发培训专家18Java高端培训bytecharshortintlongfloatdouble源自清华 值得信赖中国移动互联网研发培训专家整型运算注意事项整型运算注意事项一旦byte,short,char型的变量参与运算,则运算的结果表达式类型为int型short s = 30000;s = s + 1;/编译出错s = 30000 + 1;/编译通过byte b1 = 1;byte b3 = b1 - 2;/byte b3 = 1 + 2;byte b3 = 128;/short s2 = b1+b3;/short s3 = b1;源自清华 值得信赖中国移动互联网

14、研发培训专家v按所属的数据类型划分: 基本类型变量:持有原始值。(原始数据类型) 引用类型变量:持有引用值。(某个对象的引用,不是该对象本身)v按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 全局变量:方法外部、类的内部定义的变量v特别注意:类体之外不能有变量的声明20源自清华 值得信赖中国移动互联网研发培训专家vbyte b1 = 126 + 1;vbyte b2 = 127 + 1;/vbyte b3 = 1;vbyte b4 = 2;vbyte b5 = b3 + b4;/vbyte b6 = (byte)(b3 + 1);vbyte b7 = +b1;vshort s1 =

15、 32767;vshort s2 = 32767+1;/vshort s3 = 1;vshort s4 = s3 * 1;/vshort s5 = +s1;21Java高端培训判断并编程测试以下代码能否正常编译?char c = 65535 + 1;/char c1 = 1;char c2 = c1 + 1;/char c3 = 65535;char c4 = +c3;int i = Integer.MAX_VALUE + 1;long l1 = Long.MAX_VALUE + 1;long l2 = 1;long l3 = 1L;long l4 = 2147483648;/源自清华 值得信

16、赖中国移动互联网研发培训专家float f1 = 1.23;/float f2 = 1.0*2.0f;/float f3 = f1 +1.0;/ f1 +1.0;/float f4 =float f4 = f1 +1;float f5 = f1 +1L;float f6 = 1234;double d1 = 3.4;判断并编程测试以下代码能否正常编译?源自清华 值得信赖中国移动互联网研发培训专家vJava变量使用前必须先声明和初始化(赋初值) 变量声明语法格式 数据类型 变量名=值; v变量声明和初始化举例:public static void main(String args ) int i

17、; int j = i+5 ; /错误,必须将i初始化. System.out.printlnI(i);/错误, double d = 3.14; 23源自清华 值得信赖中国移动互联网研发培训专家v局部变量的作用域就是它所在的方法或语句块 在程序调用方法(进入语句块)时,局部变量才被创建并可用,随方法(语句块)的退出,局部变量将被销毁v全局变量的作用域是整个类体。24源自清华 值得信赖中国移动互联网研发培训专家v算术运算符:+ 、 - 、 * 、 / 、 % 、 + 、 -v赋值运算符:= 、 += 、 -= 、 *= 、 /= 、 %=v关系运算符: 、 = 、 、 v字符串连接运算符:+2

18、5源自清华 值得信赖中国移动互联网研发培训专家运算符描述示例结果+加5+510-减5-41*乘5* 315/除10/33%取模(求余)10%31+自增(前,后)-自减(前,后)26源自清华 值得信赖中国移动互联网研发培训专家演示与练习演示与练习: :求一个指定正整数的个位上的数字用两种方法求一个指定正整数的十位上的数字用两种方法求一个指定正整数的百位上的数字源自清华 值得信赖中国移动互联网研发培训专家练习练习1 1v示例演示+、-intint a = 3;intint b = 2;intint res1 = (a+)*(-b) + (-a)/(b+);请推断res1,a,b此时的值。intin

19、t res2 = (-a)%(b+) +(+a)*(b-) - (a-);请推断res2,a,b此时的值。源自清华 值得信赖中国移动互联网研发培训专家练习练习2 2intint x = 2;intint y = 3;intint res3 = (x+)*2+(-y)%3+(-x)/4+(+y)*3;intint res4 = (-x)/3-(y+)*2+(x+)%2-(y-)%3;请推断res3,res4,x,y此时的值。intint x = 3;intint res = (x+)%(+x);请推断res,x此时的值。源自清华 值得信赖中国移动互联网研发培训专家练习练习3 3intint a

20、= 2;intint b = 3;intint res1 = (a+)+(+b)*2+(-a)%(b+)-(+a)*3+(-b)/(-a);请推断res1,a,b此时的值。源自清华 值得信赖中国移动互联网研发培训专家v赋值运算符作用是将一个值赋给一个变量运算符描述示例结果=赋值a=3; b=2;a=3 b=2+=加等于a=3;b=2;a+=b; a=5 b=2-=减等于a-=2;a=a-2*=乘等于/=除等于%=模等于31注意: 赋值运算表达式的值就是等号左边的变量被赋的值,特别注意int,boolean源自清华 值得信赖中国移动互联网研发培训专家练习练习4 4int i = 1;i += (

21、i+);/i = 1;i += (+i);/i = 1;i += i += i;/i = 1;i += (+i)+(i-);/i = 1;i +=(+i)+(+i);/i = 1;i = i + i;/i = 1;i = i - i;/源自清华 值得信赖中国移动互联网研发培训专家v关系运算符作用是比较两边的操作数,结果总是boolean型的。运算符描述示例结果=相等于4=3false!=不等于4!=3true大于=大于等于源自清华 值得信赖中国移动互联网研发培训专家v逻辑运算符用于对boolean型结果的表达式进行运算,运算结果总是boolean型。运算符描述示例结果&与false & tru

22、efalse|或false | truetrue异或true false true!非非!truefalse&短路与短路与false & truefalse|短路或短路或false | truetrue34源自清华 值得信赖中国移动互联网研发培训专家操作数操作数操作数操作数& &| |&| |对第一对第一个操作个操作数数 取非取非! ! truefalsetruetruefalsefalsefalsetrue源自清华 值得信赖中国移动互联网研发培训专家练习练习1 1booleanboolean b1 = truetrue;booleanboolean b2 = falsefalse;boole

23、anboolean b3 = b1 & b2;System.outout.println(b3);System.outout.println(truetrue & truetrue & truetrue & truetrue);booleanboolean b4 = b1 | b2;System.outout.println(b4);System.outout.println(truetrue | falsefalse | falsefalse);System.outout.println(!truetrue);/非源自清华 值得信赖中国移动互联网研发培训专家练习练习2 2booleanboo

24、lean b1 = truetrue;booleanboolean b2 = falsefalse;booleanboolean b5 = b1 b2;/异或:相同为false,不同才为真System.outout.println(truetrue truetrue);/intint a = 3;intint b = 2;booleanboolean bb1 = (a+)(-b)| (-a)(b+); /t & f & tSystem.outout.println(bb1+t+a+t+b); /true,4,1源自清华 值得信赖中国移动互联网研发培训专家练习练习3 3intint a = 3;

25、intint b = 2;booleanboolean b9 = (a+)(-b) & & (-a)%(b+)=1 & &(a-)(-b) & & (-a)%(b+)=1 & & (a-)(b-);System.outout.println(b10+t+a +t+b);/f,3,2源自清华 值得信赖中国移动互联网研发培训专家练习练习4 4a = 3;b = 2;booleanboolean b11 = (a-)/(b+)2 | (-a)*(-b)!=4 | (a+)%(b-)=2;System.outout.println(b11+t+a +t+b);/t,2,1a = 3;b = 2;boo

26、leanboolean b12 = (a-)/(b+)2 | (-a)*(-b)!=4 | (a+)%(b-)=2;System.outout.println(b12+t+a +t+b); /a=2,b=3源自清华 值得信赖中国移动互联网研发培训专家v位运算符对两个操作数中的每一个二进制位都进行运算v位运算符功能 按位取反 按位与 & 按位或 | 按位异或 v示例0 1 0 0 1 1 1 11 0 1 1 0 0 0 00 1 1 0 1 1 0 1&0 1 0 0 1 0 0 11 1 0 0 1 0 1 10 1 1 0 1 1 0 1 |1 1 1 0 1 1 1 11 1 0 0 1

27、 0 1 10 1 1 0 1 1 0 1 1 0 1 0 0 1 1 01 1 0 0 1 0 1 140源自清华 值得信赖中国移动互联网研发培训专家 左移:ab; 将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位 无符号右移:ab;将二进制形式的a逐位右移b位,最高位空出的b位补02227 = 00000000 00000000 00001000 10110011 22273 = 00000000 00000000 00000001 00010110 22273 = 00000000 00000000 00000001 00010110 -2227 = 11111111 111

28、11111 11110111 01001101-22273 = 11111111111 11111111 11110111 01001-22273 = 00011111111 11111111 11110111 0100141源自清华 值得信赖中国移动互联网研发培训专家v练习下面的程序,分析其输出结果:public class MyTestpublic static void main(String args)int a = 10;int i = a;int j = a3; int k = a2;System.out.println(i= + i );System.out.println(j=

29、 + j );System.out.println(k= +k );System.out.println(m= +m );42源自清华 值得信赖中国移动互联网研发培训专家Java语言二进制数采用补码形式,数正负区分的标志:符号位正数进制转换 十进制- 二进制:除2取余、除尽为止 二进制- 十进制:累加求和负数进制转换负十进制-负二进制: 取绝对值 转换为二进制 取反加1负二进制-负十进制: 减1取反(或取反加1) 转换为十进制正数 乘 -1源自清华 值得信赖中国移动互联网研发培训专家练习练习试求127,255, -1,-128对应的二进制数源自清华 值得信赖中国移动互联网研发培训专家vStri

30、ng s=He + llo; 结果Hellov+除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串。 如:String s=x + 123; 结果x123 System.out.println(abc+3+4+5); String c1 = haha; int i = 3, j = 4; System.out.println(i + j ); System.out.println(c1+i); System.out.println(c1 + i + j); System.out.println(i + j + c1 + i + j);45源自清华 值得信赖中国移动互联网研发培训专家vX ? Y : ZvX为boolean类型表达式,先计算x的值,若为true,整个三目运算的结果为表达式Y的值,否则整个运算结果为表达式Z的值。v例: int scor

温馨提示

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

评论

0/150

提交评论