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

下载本文档

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

文档简介

千锋教学部心与身合,身体力行。Java三大体系Java跨平台原理JDK的概念,安装,配置Javac、java、javadoc单行注释、多行注释、文档注释

章节回顾Java基本语法格式标识符、关键字、常量变量及变量的作用域变量的作用域Java基本数据类型基本数据类型之间的转换运算符与表达式Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。Java标识符命名规则:由字母(含英、中、日、俄等)、数字、下划线(_)和美元符号($音:dollar)组成。不能以数字开头。区分大小写。长度无限制。(一般不要超过15个字符)不能是Java中的保留字和关键字。标识符命名习惯:见名知意。请判断以下标识符是否合法:HelloWord、username2、user_name、_userName、$abc_1232UserName、user#Name、HelloWorld4Java中有一些赋予特定的含义,有专门用途的字符串称为关键字(keyword)。全部为小写保留字:没有定义用途,但保留备用。goto、const关键字abstractbooleanbreakbytecasecatchcharclassconst

continuedefaultdodoubleelseextendsfinalfinallyfloatforgoto

ifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhileassertenum

5常见的数值类型(也称为数据常量)整型(int):123intJava语言整型的三种表示形式:十进制整数:如12,-314,0,8,7。八进制整数:要求以0开头,如0127表示八进制的127。十六进制数:要求0x或0X开头,如0x1df3。浮点数(实型):3.14float...字符:’a’char布尔(逻辑):true、falseboolean字符串String:"a"、"abc"、"helloworld",""null:表示的引用为空对象注意:区分字符和字符串6变量:保存程序执行中的数据变量名:定义变量的标识符变量值:内存单元中所装载的数据变量其实是内存中的一小块区域,使用变量名来访问这块区域。因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。如:inti=100;inty;y=i+10;7数组(array)数据类型基本类型原始/简单引用类型数值型字符型(char)也属于整数类型布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)8枚举(enum)Java中定义了四类/八种基本数据类型布尔型----boolean字符型----char整数型----byte,short,int,long浮点数型----float,doubleJava中所有的基本数据类型都有固定的存储范围和所占内存空间的大小,而不受具体操作系统的影响,以保证Java程序的可移植性9计算机中的数据都以二进制数字保存。二进制:逢二进一。即只有0、1两个值。如:十进制的10在计算机内保存为二进制的1010计算机中信息的存储单位位(bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位。字节(byte):一个字节由8个位组成。它表示作为一个完整处理单位的8个二进制数码。10Java语言的整型数值默认为int型,如:inti=3;要声明long型可以加‘l’或‘L’,如:longl=3L;注意:在数值超过int的表述范围时(2147483647),需要加上l/L对long赋值类型占用存储空间存储范围byte1字节-128~127short2字节-215~215-1int4字节-231~231-1long8字节-263~263-111Java浮点类型常量有两种表示形式十进制数形式,必须含有小数点,例如:3.14314.00.314科学记数法形式,如3.14e23.14E2314E2Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:doubled=3.14;floatf=3.14f;类型占用存储空间存储范围float4字节-3.403E38~3.403E38double8字节-1.798E308~1.798E30812char型数据用来表示通常意义上“字符”charc='A';charc2='好';Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示(Unicode是全球语言统一编码)charc1='\u0061';//相当于’a’charc2=97;//ASCII美国标准信息交换码,相当于’a’Java语言中还允许使用转义字符'\'来将其后的字符转变为其它的含义:charc2='\n';13名称描述\n换行将光标移到下一行的第一格。\r回车将光标移到当前行的第一格。在命令行下会覆盖写.\t水平制表将光标移到下一个水平制表位置。\'单引号产生一个单引号。\"双引号产生一个双引号。\\斜杠产生一个斜杠。14boolean类型适于逻辑运算,一般用于程序流程控制boolean类型数据只允许取值true或false,不可以用0或非0的整数替代true和false。示例: booleanb=false;booleanc=true;15NO.数据类型大小/位默认值

(全局变量才有)可表示的数据范围1long(长整数)640l-9223373036854775808~92233720368547758072int(整数)320-2147483648~21474836473short(短整数)16(short)0-32768~327674byte(字节型)8(byte)0-128~1275char(字符)16\u0000(空)0-655356float(单精度)320.0f-3.4E38~3.4E387double(双精度)640.0d-1.7E308~1.7E3088booleanfalsetrue/false16Java高端培训boolean类型不能转换成任何其它基本数据类型。自动类型转换:数据类型取值范围小的转为取值范围大的byte,short,intlongfloatdoublechar->intlongfloatdoubleshort,char不会互相转换byte,short,char三者在计算时会转换成int类型(练习)强制类型转换:数据类型取值范围大的转为取值范围小的.需要加强制转换符,也就是(要转换的数据类型)。longl=100L;inti=(int)l;但有可能造成精度降低或数据溢出,使用时要小心。1718Java高端培训bytecharshortintlongfloatdouble整型运算注意事项一旦byte,short,char型的变量参与运算,则运算的结果表达式类型为int型shorts=30000;s=s+1;//编译出错s=30000+1;//编译通过byteb1=1;byteb3=b1-2;//byteb3=1+2;byteb3=128;//shorts2=b1+b3;//shorts3=b1;按所属的数据类型划分:基本类型变量:持有原始值。(原始数据类型)引用类型变量:持有引用值。(某个对象的引用,不是该对象本身)按被声明的位置划分:局部变量:方法或语句块内部定义的变量全局变量:方法外部、类的内部定义的变量特别注意:类体之外不能有变量的声明20byteb1=126+1;byteb2=127+1;//byteb3=1;byteb4=2;byteb5=b3+b4;//byteb6=(byte)(b3+1);byteb7=++b1;shorts1=32767;shorts2=32767+1;//shorts3=1;shorts4=s3*1;//shorts5=++s1;21Java高端培训判断并编程测试以下代码能否正常编译?charc=65535+1;//charc1=1;charc2=c1+1;//charc3=65535;charc4=++c3;inti=Integer.MAX_VALUE+1;longl1=Long.MAX_VALUE+1;longl2=1;longl3=1L;longl4=2147483648;//floatf1=1.23;//floatf2=1.0*2.0f;//floatf3=f1+1.0;//floatf4=f1+1;floatf5=f1+1L;floatf6=1234;doubled1=3.4;判断并编程测试以下代码能否正常编译?Java变量使用前必须先声明和初始化(赋初值)变量声明语法格式数据类型变量名[=值];变量声明和初始化举例:publicstaticvoidmain(Stringargs[]){inti;intj=i+5; //错误,必须将i初始化.System.out.printlnI(i);//错误,doubled=3.14;} 23局部变量的作用域就是它所在的方法或语句块在程序调用方法(进入语句块)时,局部变量才被创建并可用,随方法(语句块)的退出,局部变量将被销毁全局变量的作用域是整个类体。24算术运算符:+、-、*、/、%、++、--赋值运算符:=、+=、-=、*=、/=、%=关系运算符:>、<、>=、<=、==、!=逻辑运算符:!、&、|、^、&&、||位运算符:&、|、^、~、>>、<<、>>>字符串连接运算符:+25运算符描述示例结果+加5+510-减5-41*乘5*315/除10/33%取模(求余)10%31++自增(前,后)--自减(前,后)26演示与练习:求一个指定正整数的个位上的数字用两种方法求一个指定正整数的十位上的数字用两种方法求一个指定正整数的百位上的数字练习1示例演示++、--inta=3;intb=2;intres1=(a++)*(--b)+(--a)/(b++);请推断res1,a,b此时的值。intres2=(--a)%(b++)+(++a)*(b--)-(a--);请推断res2,a,b此时的值。练习2intx=2;inty=3;intres3=(x++)*2+(--y)%3+(--x)/4+(++y)*3;intres4=(--x)/3-(y++)*2+(x++)%2-(y--)%3;请推断res3,res4,x,y此时的值。intx=3;intres=(x++)%(++x);请推断res,x此时的值。练习3inta=2;intb=3;intres1=((a++)+(++b))*2+(--a)%(b++)-(++a)*3+(--b)/(--a);请推断res1,a,b此时的值。赋值运算符作用是将一个值赋给一个变量运算符描述示例结果=赋值a=3;b=2;a=3b=2+=加等于a=3;b=2;a+=b;a=5b=2-=减等于a-=2;a=a-2*=乘等于/=除等于%=模等于31注意:赋值运算表达式的值就是等号左边的变量被赋的值,特别注意int,boolean练习4inti=1;i+=(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;//关系运算符作用是比较两边的操作数,结果总是boolean型的。运算符描述示例结果==相等于4==3false!=不等于4!=3true<小于>大于<=小于等于>=大于等于逻辑运算符用于对boolean型结果的表达式进行运算,运算结果总是boolean型。运算符描述示例结果&与false&truefalse|或false|truetrue^异或true^falsetrue!非!truefalse&&短路与false&&truefalse||短路或false||truetrue34操作数操作数&|&&||对第一个操作数取非!^truefalsetruetruefalsefalsefalsetrue练习:完成此表格练习1booleanb1=true;booleanb2=false;booleanb3=b1&b2;System.out.println(b3);System.out.println(true&true&true&true);booleanb4=b1|b2;System.out.println(b4);System.out.println(true|false|false);System.out.println(!true);//非练习2booleanb1=true;booleanb2=false;boolean

b5=b1^b2;//异或:相同为false,不同才为真System.out.println(true^true);//inta=3;intb=2;booleanbb1=(a++)>(--b)||(--a)<0||(++a)>(b++);//t&f&tSystem.out.println(bb1+"\t"+a+"\t"+b);//true,4,1练习3inta=3;intb=2;booleanb9=(a++)>(--b)&(--a)%(b++)==1&(a--)<(b--);System.out.println(b9+"\t"+a+"\t"+b);//f,2,1a=3;b=2;booleanb10=(a++)>(--b)&&(--a)%(b++)==1&&(a--)<(b--);System.out.println(b10+"\t"+a+"\t"+b);//f,3,2练习4a=3;b=2;booleanb11=(a--)/(b++)<2|(--a)*(--b)!=4|(a++)%(b--)==2;System.out.println(b11+"\t"+a+"\t"+b);//t,2,1a=3;b=2;booleanb12=(a--)/(b++)<2||(--a)*(--b)!=4||(a++)%(b--)==2;System.out.println(b12+"\t"+a+"\t"+b);//a=2,b=3位运算符对两个操作数中的每一个二进制位都进行运算位运算符功能按位取反~按位与&按位或|按位异或^示例01001111~1011000001101101&010010011100101101101101|111011111100101101101101^101001101100101140左移:"a<<b;"将二进制形式的a逐位左移b位,最低位空出的b位补0带符号右移:"a>>b;"将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位无符号右移:"a>>>b;"将二进制形式的a逐位右移b位,最高位空出的b位补02227=000000000000000000001000101100112227<<3=000000000000000001000101100110002227>>3=000000000000000000000001000101102227>>>3=00000000000000000000000100010110-2227=11111111111111111111011101001101-2227<<3=11111111111111111011101001101000-2227>>3=11111111111111111111111011101001-2227>>>3=0001111111111111111111101110100141练习下面的程序,分析其输出结果:publicclassMyTest{ publicstaticvoidmain(Stringargs[]){ inta=10; inti=~a; intj=a>>>3; intk=a<<3; intm=a>>2; System.out.println("i="+i); System.out.println("j="+j); System.out.println("k="+k); System.out.println("m="+m); }}42Java整数进制转换Java语言二进制数采用补码形式,数正负区分的标志:符号位正数进制转换十进制---->二进制:除2取余、除尽为止二进制---->十进制:累加求和负数进制转换负十进制----负二进制:取绝对值转换为二进制取反加1负二进制----负十进制:减1取反(或取反加1)转换为十进制正数乘-1练习试求127,255,-1,-128对应的二进制数Strings="He"+"llo";结果"Hello""+"除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串。如:Strings="x"+123;结果"x123"System.out.println("abc"+3+4+5);Stringc1="haha";inti=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);45X?Y:ZX为boolean类型表达式,先计算x的值,若为true,整个三目运算的结果为表达式Y的值,否则整个运算结果为表达式Z的值。例:intscore=75;

温馨提示

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

评论

0/150

提交评论