《Java语言基础》ppt课件_第1页
《Java语言基础》ppt课件_第2页
《Java语言基础》ppt课件_第3页
《Java语言基础》ppt课件_第4页
《Java语言基础》ppt课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2章章 Java语言根底语言根底2.1 Java程序概况2.2 根本数据类型2.3 运算符和表达式2.4 Java语句2.1 Java程序概况程序概况2.1.1 Java程序构造2.1.2 Java注释2.1.3 Java关键字2.1.4 Java标识符2.1.5 变量与常量2.1.1 Java程序构造程序构造Java源程序一般由一个或多个编译单元组成,每个编译单元只能包含以下内容空格和注释除外: packagepackage包语句包语句 importimport导入语句导入语句 类的声明类的声明 接口声明接口声明图2-1 Java程序中各元素及其关系注释注释0.npackage0.1im

2、port0.n成员变量成员变量0.n方法方法0.n局部变量局部变量0.n执行语句执行语句0.n类类1.nJava程序程序2.1.1 Java程序构造程序构造2.1.1 Java程序构造程序构造一个简单的Java程序例如。/ /* *这是一个简单的这是一个简单的JavaJava程序例如程序程序例如程序* */ /package mypack;package mypack;import java.util.import java.util.* *; ;public class Example public class Example public static void main public s

3、tatic void main String args String args System.out.println System.out.printlnJavaJava欢送您!欢送您! ; ; 1.1. 2.1.2 Java注释注释方式1 注释一行 例如:例如: num=2; /num num=2; /num是计算器,用于累计选课人数是计算器,用于累计选课人数方式2:/*一行或多行注释*/ 例如:例如: / /* *本方法用于计算阶乘本方法用于计算阶乘* */ /方式3:/*文档注释*/ 文档注释一般放在一个变量或函数定义说明之前文档注释一般放在一个变量或函数定义说明之前, ,表示该段注释应

4、表示该段注释应包含在自动生成的任何文档中即由包含在自动生成的任何文档中即由javadocjavadoc生成的生成的HTMLHTML文件。文件。这种注释都是声明条目的描绘。这种注释都是声明条目的描绘。2.1.3 Java关键字关键字abstractabstractconstfinallyinterfacereturnthrowbooleancontinuefloatlongsafetransientbreakdefaultfornativeshorttruebydogotonewstatictrybytedoubleifnullsupervaluecaseelseimplementspackag

5、eswitchvoidcatchextendsimportprivatesynchronizedvolatilecharfalseinstanceofprotectedthiswhileclassfinalintpublicthread2.1.4 Java标识符标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。 由字母、下划线、美元符号和数字组成,并且第一个由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。字符不能是数字。 标识符中的字母是区分大小写的例子:判断正误标识符中的字母是区分大小写的例子:判断正误 1 13max 3max 2 2clas

6、sclass 3 3room# room# 4 4userNameuserName 5 5User_nameUser_name2.1.5 变量与常量变量与常量Java变量是一个由标识符命名的项。变量具有一定类型,例如 int 型或class型,也具有作用域,其值可被改变。 变量声明的语法形式如下:变量声明的语法形式如下: varType varName=value , varName=value; varType varName=value , varName=value; double area,r;double area,r;在变量声明格式前加上final修饰符,就声明了一个常量。常量一旦

7、被初始化以后就不可改变。 常量声明的语法形式如下:常量声明的语法形式如下: final varType varName=value , varName=value;final varType varName=value , varName=value;2.2 根本数据类型根本数据类型2.2.1 根本数据类型概况 1132.2.2 根本数据类型转换 1162.2.1 根本数据类型概况根本数据类型概况根本数据类型也称作简单数据类型,Java语言有8种简单数据类型,分别是:boolean、byte 、short、int、long、float、double、char。复合数据类型包括数组、类和接口等。

8、图图2-2 Java语言数据类型语言数据类型数值类型数值类型整数类整数类 int, byte, short, long 浮点类浮点类 double, float逻辑类逻辑类 boolean字符类字符类 char数组数组 type类类 class接口接口 interface数据类型数据类型根本根本数据数据类型类型复合复合数据数据类型类型2.2.1 根本数据类型概况根本数据类型概况1逻辑类型 常量:常量:true true ,falsefalse。 变量的定义:使用关键字变量的定义:使用关键字booleanboolean来定义逻辑变量,定来定义逻辑变量,定义时也可以赋给初值。义时也可以赋给初值。

9、例如:例如: boolean xboolean x;/定义逻辑型变量定义逻辑型变量x x boolean x=false; /boolean x=false; /定义逻辑型变量定义逻辑型变量x x,并赋值为,并赋值为falsefalse2.2.1 根本数据类型概况根本数据类型概况2整数类型 常量:123,6000十进制,077八进制,0 x3ABC十六进制。 整型变量的定义分为4种类型类型举例举例字节长度字节长度bytebyte x,y=1;1shortshort x,y=2;2intint x,y=3;4longlong x,y=4;82.2.1 根本数据类型概况根本数据类型概况3字符类型

10、常量:常量: unicodeunicode字符表中的字符就是一个字符常量字符表中的字符就是一个字符常量例如例如AA,?,99,好好,等。,等。JavaJava还使用转意字符常量,如:还使用转意字符常量,如:nn为换行转意字为换行转意字符常量。符常量。 变量的定义:使用关键字变量的定义:使用关键字charchar来定义字符变量来定义字符变量例如:例如:char x= Achar x= A,漂亮,漂亮=假假,jiafeijiafei;特别提示:特别提示:一个一个unicodeunicode字符占字符占2 2个字节个字节charchar型变量,内存分配给型变量,内存分配给2 2个字节,占个字节,占1

11、616位,最高位不是位,最高位不是符号位,没有负数的符号位,没有负数的charchar。charchar型变量的取值范围是型变量的取值范围是0-655360-65536。2.2.1 根本数据类型概况根本数据类型概况4浮点类型 浮点类型包括浮点类型包括float float 型和型和doubledouble型。浮点型数值缺省型。浮点型数值缺省为为doubledouble型,型,floatfloat型在数值之后加型在数值之后加f f或或F F 例如,例如,float float 型常量:型常量:453.5439f453.5439f,21379.987F21379.987F,2e40f2e40f,d

12、oubledouble型常量:型常量:21389.5439d21389.5439dd d可以省略,可以省略,6e-1406e-140。 float float 型变量的定义:型变量的定义:float x,y=22.76f;float x,y=22.76f; doubledouble型变量的定义:型变量的定义:double x,y=12.76double x,y=12.762.2.2 根本数据类型转换根本数据类型转换含义:一种根本数据类型变量转变成另一种根本类型变量。类型转换方式:窄化和拓宽转换。 拓宽拓宽WideningWidening转换编译时可以自动执行拓宽转换转换编译时可以自动执行拓宽转

13、换称为称为PromotionPromotion,提升。,提升。 窄化窄化NarrowingNarrowing转换那么总是要求显式执行强迫转转换那么总是要求显式执行强迫转换称为换称为CastCast,转型。,转型。 JavaJava语言中不同类型之间不能互相赋值语言中不同类型之间不能互相赋值,同种类型低,同种类型低精度值可以赋给高精度变量,反之那么需要使用强迫精度值可以赋给高精度变量,反之那么需要使用强迫类转换,此时可能导致数据精度的损失。类转换,此时可能导致数据精度的损失。2.2.2 根本数据类型转换根本数据类型转换数据精度从“低到“高排序: byte byteshortshortcharch

14、ar intintlonglongfloatfloatdoubledouble规那么1:当把精度低的变量的值赋给精度高的变量时,系统自动完成数据类型的转换,如int型转换成long型规那么2:当把精度高的变量的值赋给精度低的变量时,必须使用显示类型转换运算。 类型名要转换的值; int x=int34.89;规那么3:char与byte或short之间的赋值必须实行强迫转换。2.2.2 根本数据类型转换根本数据类型转换byte b1=18,b2;short sint1,sint2;char ch1,ch2=A;ch1=charb1; b2=bytech2;sint2=shortch2;本卷须知

15、:强迫转换运算可能导致精度的损失。当把一个整数赋值给一个byte、short、int或long型变量时,不可以超出这些变量的取值范围,否那么必须进展类型转换运算。 【实例2-3】public class transExample public class transExample public static void mainpublic static void mainString args String args byte a=120; byte a=120; short b=255; short b=255; int c=2200; int c=2200; long d=8000; lo

16、ng d=8000; float f; float f; double g=0.1234567812345678; double g=0.1234567812345678; b=a; b=a; c= c=intintd;d; f= f=floatfloatg;g; System.out.println System.out.printlna=+aa=+a; ; System.out.println System.out.printlnb=+ab=+a; ; System.out.println System.out.printlnc=+ac=+a; ; System.out.println S

17、ystem.out.printlnd=+ad=+a; ; System.out.println System.out.printlne=+ae=+a; ; System.out.println System.out.printlnf=+af=+a; ; System.out.println System.out.printlng=+ag=+a; ; 1.1. 2.2.2 根本数据类型转换根本数据类型转换【实例2-3】 运行结果为:a=120a=120b=120b=120c=8000c=8000d=8000d=8000f=0.12345678f=0.12345678g=0.12345678123

18、45678g=0.12345678123456782.3 运算符和表达式运算符和表达式2.3.1 算术运算符和算术表达式2.3.2 关系运算符与关系表达式2.3.3 逻辑运算符与逻辑表达式2.3.4 赋值运算符与赋值表达式2.3.5 位运算符2.3.6 条件运算符2.3.7 instanceof 运算符2.3.8 一般表达式2.3.1 算术运算符和算术表达式算术运算符和算术表达式Java算术运算符主要包括一元运算符如+,-,+,-和二元运算符如,+,-,*,/,%,与C/C+根本一样算术表达式是用算术符号和操作元连接起来的符合Java语法规那么的式子。 例如:例如: f f * * b b +

19、 + i / ci / c - - d d * * s s2.3.1 算术运算符和算术表达式算术运算符和算术表达式java将按运算符两边操作元的最高精度保存结果。操作元的精度从低到高排列顺序是:byteshortintlongfloatdouble。 执行任何算术运算或按位运算,执行任何算术运算或按位运算,“比比intint小小的数据的数据charchar、bytebyte、shortshort在正式执行运算之前,那些值会自动转换成在正式执行运算之前,那些值会自动转换成intint 整型、实型、字符型数据可以混合运算。运算中,不同类型的数整型、实型、字符型数据可以混合运算。运算中,不同类型的数

20、据先转化为同一类型,然后进展运算,转换从低级到高级。据先转化为同一类型,然后进展运算,转换从低级到高级。 例如:假设将一个例如:假设将一个floatfloat值与一个值与一个doubledouble值相乘,结果就是值相乘,结果就是doubledouble;如将一个;如将一个intint值和一个值和一个longlong值相加,那么结果为值相加,那么结果为longlong。2.3.1 算术运算符和算术表达式算术运算符和算术表达式根据上述规那么5/2 的结果为2,因为运算符“/左右操作数均为int型,因此结果也为int型;而5.2/2的结果为2.5,因为运算符“/左操作数为double型,右操作数为

21、int型,因此运算时首先统一为double型,显然结果也为double型。【实例X-5】/程序2-5class autoPromoteExample class autoPromoteExample public static void main public static void mainString argsString args byte b = 1; byte b = 1; char c = b; char c = b; short s = 10; short s = 10; int i = 100; int i = 100; float f = 1.23f; float f = 1

22、.23f; double d = 6.78,result; double d = 6.78,result; result = result = f f * * b b + + i / ci / c - - d d * * s s; ; System.out.println System.out.printlnresult = + resultresult = + result; ; 1.1. 2.3.2 关系运算符与关系表达式关系运算符与关系表达式运算符运算符表达式表达式返回返回true的情况的情况op1op2op1大于大于op2=op1=op2op1大于或等于大于或等于op2op1op2op

23、1小于小于op2=op1=op2op1小于或等于小于或等于op2=op1=op2op1与与op2相等相等!=op1!=op2op1与与op2不等不等2.3.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式操作数取值操作数取值表达式运算结果表达式运算结果op1op2op1&op2op1|op2!op1falsefalsefalsefalsetruefalsetruefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalse2.3.4 赋值运算符与赋值表达式赋值运算符与赋值表达式赋值运算符“=是双目运算符,左面的操作元必须是变量。级别

24、是14级,结合性从右到左。2.3.5 位运算符位运算符Java位运算符主要面对根本数据类型,包括byte、short、int、long和char。 位运算符包括位运算符包括“按位与按位与& &、 “ “按位或按位或| |、“按位非按位非 、 “ “按位异或按位异或 、左移、左移。此外,。此外,JavaJava引入一个专门用于逻辑右移运算符引入一个专门用于逻辑右移运算符,它采用了,它采用了所谓的零扩展技术,不管原值是正或负,一律在高位所谓的零扩展技术,不管原值是正或负,一律在高位补补0 0。 例如:例如: int a= - 2 , b ; int a= - 2 , b ; b=a

25、30;b=a30;2.3.6 条件运算符条件运算符条件运算符是一个3目运算符,符号是:“?:。 用法如下:用法如下: op1op1?op2op2:op3op3 要求第一个操作元要求第一个操作元op1op1的值必须是的值必须是booleanboolean型数据。型数据。 运算法那么是:当运算法那么是:当op1op1的值是的值是truetrue时,运算的结果是时,运算的结果是op2op2的值;当的值;当op1op1的值是的值是falsefalse时,运算的结果是时,运算的结果是op3op3的的值。值。 JavaJava要求:要求:op2op2与与op3op3必须同类型必须同类型 。 例如,例如,1

26、28?100:200128?100:200的结果是的结果是100100;128?100:20012y&x0?xy&x0?x+1x+1:y:y 的值是的值是 intint型数据,型数据,结果为结果为1717。2.4 Java语句语句2.4.1 Java语句概述2.4.2 分支语句2.4.3 循环语句2.4.4 跳转语句2.4.5 输入输出语句2.4.1 Java语句概述语句概述Java语言中的语句可分为以下5类: 1 1方法调用语句:例如方法调用语句:例如 reader.nextIntreader.nextInt; ; 2 2表达式语句:表达式语句:x=23x=23; 3 3复合

27、语句:复合语句: “ “ + +代码块代码块+“+“ ,例如,例如, z=23+x; System.out.printlnhello; 4 4控制语句:条件分支语句、循环语句和跳转语句。控制语句:条件分支语句、循环语句和跳转语句。 5 5package package 语句和语句和 importimport语句语句2.4.2 分支语句分支语句1条件分支语句if-else语句.if表达式 假设干语句else 假设干语句多条件if-else if-else语句if表达式1 假设干语句 else if表达式2 假设干语句 else if表达式n 假设干语句 else 假设干语句 if表达式 的表达式

28、的值必须是boolean型 【实例2-6】public class multelseExample public class multelseExample public static void mainpublic static void mainString args String args int score=88;int score=88;String str=String str=不及格不及格;if if score=90 & score =90 & score =80 & score=80 & score=70 & score=70 &

29、; score=60 & score=60 & score=69str=str=及格及格;System.out.printlnSystem.out.println 成绩为成绩为+str+str; ; 1.1. 2.4.2 分支语句分支语句2switch开关语句-格式switch表达式表达式 case 常量值常量值1: 假设干个语句假设干个语句 break; case 常量值常量值n: 假设干个语句假设干个语句 break; default: 假设干语句假设干语句【实例2-7】输入月份,显示该月份所在季节。public class switchExample public cla

30、ss switchExample public static void mainpublic static void mainString args String args int month=1;int month=1;String str=;String str=;switchswitchmonthmonth case 1:case 1:case 2:case 2:case 3:case 3:str=str=春季春季;break;break;case 4:case 4:case 5:case 5:case 6:case 6:str=str=夏季夏季;break;break;case 7:c

31、ase 7:case 8:case 8:case 9:case 9:str=str=秋季秋季;break;break;default:default:str=str=冬季冬季; System.out.printlnSystem.out.println 月份月份+month+month+属于属于+str+str; ; 1.1. 2.4.3 循环语句循环语句1while循环while表达式 假设干语句 2do while循环do while 假设干语句 表达式 3for循环for 表达式1;表达式2;表达式3 假设干语句 “表达式2必须是一个求值为boolean型数据的表达式b do while循

32、环循环体True表达式False循环体True表达式False表达式1True表达式2False循环体表达式3a while循环c for循环图2-3 while 、do while循环和for循环示意图2.4.4 跳转语句跳转语句跳转语句包括break语句和continue语句。break 语句 功能:跳出当前的循环体功能:跳出当前的循环体 使用形式:使用形式: break; /break; /不带标签不带标签 break Label; /break Label; /带标签带标签 不带标签的不带标签的breakbreak语句使程序跳出它所在的那一层循环语句使程序跳出它所在的那一层循环构造构造

33、 带标签的带标签的breakbreak语句使程序跳出标签所指示的循环构造语句使程序跳出标签所指示的循环构造【实例2-9】break命令应用举例public class breakExamplepublic class breakExamplepublic static void mainpublic static void mainString args String args int i,j=0;int i,j=0;outer: outer: forfori=0;i5;i+i=0;i5;i+forforj=0;j5;j+j=0;j5;j+ System.out.printlnSystem.o

34、ut.printlni+ +ji+ +j; ;ififj=1j=1break outer; break outer; System.out.printlnSystem.out.println 最终值:最终值:+i+ +j+i+ +j; ; 1.1. 2.4.4 跳转语句跳转语句continue语句 功能:完毕本次循环功能:完毕本次循环 使用形式:使用形式: continuecontinue; /不带标签不带标签 continue Lablecontinue Lable; /带标签带标签 不带标签的不带标签的continuecontinue语句的作用是终止当前循环构造语句的作用是终止当前循环构造的本轮循环而直接开场下一轮循环。的本轮循环而直接开场下一轮循环。对for循环,就是忽略循环体中后面的语句,跳到表达式3执行对while或do while循环就是直接转去求解逻辑表达式2.4.4 跳

温馨提示

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

评论

0/150

提交评论