版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章Java编程基础,Java与UML面向对象程序设计,第2章 Java编程基础,第2章Java编程基础,(1)定义:标识符是指程序中所用对象的符号名称,像包、变量、类、接口和方法等都有用户自定义的名称,即标识符。 说明:一个标识符可以由任意长度的字母、数字、下拉线、美元符号或Unicode字符(如汉字)组成。但不能是后面介绍的关键字。 (2)标识符命名约定:常量用大写字母,变量用小写字母开始,类以大写字母开始。如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始,例如anInt。下划线虽然可以作为标识符的一员,但常用于常量名的单词分隔,因为常量名都是以大写字母单词命名的。 切记
2、:标识符的第一个字符不能是数字!,标识符与关键字,1、标识符,第2章Java编程基础,标识符举例,以下为合法的标识符: A98_23 _abc 变量1 USdollars userName username,以下为非法的标识符: A- 4减号不能作为标识符的一部分 3_1数字不能作为标识符的开头字符 the大于号不是标识符的有效字符 boolean关键字不能作为标识符使用 true关键字不能作为标识符使用 null关键字不能作为标识符使用,有同学会问“userName”与“username”有什么区别么?是不是一样的呢? 强调:Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个
3、字符。所以上述两个标识符也是不一样的,第2章Java编程基础,(1)定义:它是预先定义好的标识符,是Java语言保留的用来标识数据类型、控制如何定义程序的特殊标识符。,标识符与关键字,2、Java关键字,所有关键字都是由小写字母组成的!,所有的Java关键字将不能被用作标识符!,说明:,第2章Java编程基础,标识符与关键字,2、Java关键字 (2)目前Java语言用到的主要关键字如下表所示:,第2章Java编程基础,补充知识:分隔符,分隔符是用来区分源程序中的基本成分,可使编译器确认代码在何处分隔。 分隔符有注释、空白符和普通分隔符三种。,第2章Java编程基础,1、注释,注释是为了程序的
4、可读性而加入的帮助理解程序实现思路的解释性文字,它不是程序的有效执行语句,程序执行时忽略之。 注释有三种形式: (1)单行注释: / 所在行内此符号之后的所有文字都作为程序注释来解释。 (2)多行注释: /* - 注释开始符号 * */ - 注释结束符号 (3)文件注释:借助javadoc.exe来制作帮助文件。 /* 注释内容 * */,第2章Java编程基础,2 空白符,空白符包括空格、回车、换行和制表符(Tab键)等符号,用来作为程序中各种基本成分之间的分隔符。各基本成分之间可以有一个或多个空白符,其作用相同。和注释一样,系统编译程序时,只用空白符区分各种基本成分,然后忽略它。,第2章J
5、ava编程基础,3 普通分隔符,普通分隔符和空白符的作用相同,用来区分程序中的各种基本成分,但它在程序中有确定的含义,不能忽略。 Java有4种普通分隔符: 大括号,用来定义复合语句、方法体、类体及数组的初始化; ;分号,是语句结束的标志; ,逗号,分隔方法的参数、分隔变量说明等; :冒号,说明语句标号。,第2章Java编程基础,变量与基本数据类型Java的基本数据类型,第2章Java编程基础,变量与基本数据类型,1、变量定义与赋值 变量是内存中的一块空间,提供了可以存放信息和数据的地方,具有记忆数据的功能。变量是可以改变的,它可以存放不同类型的数据,通常用字母或单词作为变量名。 变量的声明及
6、赋值 声明变量的语句格式如下: 类型 变量名=初值 ,变量名=初值; 例如: byte b1, b2; int v1=0, v2=10, v3=18;,“=”为赋值号,“v3=18;”为赋值语句,变量的声明,第2章Java编程基础,2、逻辑型数据,逻辑型的类型标识符为boolean,Java语言引入了逻辑型用以表示关系运算和逻辑运算的结果,布尔型数据只有两个值true和false。例如: boolean b=true;/定义b为布尔型变量,且初值为true 与C(C+)语言不同,逻辑型数据不可作为整型数据使用,不同于C (C+)语言中的0和非0。Java语言中应该使用逻辑型数据的地方,不可使用
7、其他类型的数据。,第2章Java编程基础,3、字符型数据,字符型的类型标识符为char ,因Java语言使用Unicode字符集,所以其字符型数据在内存中占用2个字节,共16位,其范围为065 535。 字符常量是用单引号括起来的一个字符,如a、A。下面是字符型变量的定义的例子: char c=a;/指定变量c为char型,且赋初值为a 与C语言相同,Java语言允许将字符型变量用作整型,也可与整型进行混合运算。例如: int j=A; / j=65 int i=3; /i=3 i=i+0; /i=3+48=51 都是合法的。,第2章Java编程基础,Java常用转义字符,第2章Java编程基
8、础,4、整型数据,Java中4种整型为:byte、short、int和long 下表给出Java整型数据字节数和表示范围,第2章Java编程基础,1、Java中整型变量的定义如下: byte a,b; /指定变量a、b为字节整型; short c,d;/指定c、d为短整型; int e,f=50;/指定变量e,f为整型,并初始化f的值为50; long g,h;/ 指定变量g,h为长整型。 2、在Java中用三种进制来表示证书 (1)十进制: 如int decNumber1=25; (2)八进制 如int octNumber2=04 /需在该数前面放一个0 (3)十六进制 如int hexNu
9、mber3=0 x7ffFf/在该数前放置0 x,4、整型数据,第2章Java编程基础,5、浮点型数据,浮点型数据用来表示实数,包括单精度(float)和双精度(double)。 下表浮点型型数据字节数及范围数据,说明:Java中浮点常量采用默认的double类型 例:float z=3.14f;/声明并初始化一个float型变量 double w=3.1415;/声明并初始化一个double型变量,第2章Java编程基础,2.3 运算符和表达式,算术运算符和算术表达式 赋值运算符和赋值表达式 增量和减量运算符 关系运算符和关系表达式 逻辑运算符和逻辑表达式 位运算符 条件运算符和条件表达式
10、表达式中的类型转换 运算符的优先级与结合性总结,第2章Java编程基础,算术运算符,第2章Java编程基础,赋值运算符与赋值表达式,在Java中,赋值运算符“=”是一个双目运算符,结合方向从右向左。 语法格式:=; 复合赋值运算符op=计算和赋值两种功能组合在一起。 语法格式:op=,第2章Java编程基础,赋值运算符与赋值表达式,第2章Java编程基础,关系运算符,第2章Java编程基础,逻辑运算符,高,低,第2章Java编程基础,布尔逻辑运算真值表,第2章Java编程基础,位运算符,第2章Java编程基础,位逻辑运算 ,第2章Java编程基础,位逻辑运算 条件表达式的计算过程为:首先计算作
11、为条件的逻辑表达式或关系表达式的表达式1,返回值为true时表达式2的值作为整个条件表达式的值;返回值是false时表达式3的值为整个条件表达式的值。 说明:条件表达式可取代简单的二分支结构,书写简单,并有较快的运算速度。例如: int a=5, b=2, result; if (ab) result=a-b; else result=b-a;,其中的分支结构可改写为:result= ab ? a-b : b-a; 思考:假设x=5;y=8;w=10;z=3 则条件表达式xy?x:wz?w:z 的值是多少?,10,第2章Java编程基础,自动类型转换规则,类型转换有两种方法:隐式(自动)类型转
12、换和强制类型转换。 隐式类型转换按照右图中的箭头方向把下面的低级数据类型自动转换成上面的高级数据类型再进行运算。char与short,char与byte不能进行自动转换,第2章Java编程基础,混合运算中如果高级数据要转换成低级数据,需要进行强制类型转换,方法与C语言相似。例如: int i=10; byte b=(byte) i+20; 这里使用了强制类型转换运算符把int型表达式的值强制转换为byte型然后赋值给变量b。 强制类型转换运算符为单目运算符,优先级高于其他运算符,其格式为: (类型)表达式 采用强制类型转换将高级类型数据转换为低级类型数据会导致溢出或精度的下降,在使用时应注意值
13、的范围。,自动类型转换规则,第2章Java编程基础,简单数据类型之间的转换规则,第2章Java编程基础,Java运算符的优先级和结合性,第2章Java编程基础,小结,标识符与关键字 Java的基本数据类型 Java变量的定义 运算符和表达式 表达式运算的优先级别 作业:习题2.1、2.2(2)(3)(6)、2.3,第2章Java编程基础,控制台输入输出,数据输出 1、print和println方法:JDK5.0以前使用 eg:int i=100;System.out.print(100); 2、printf格式化输出方法 JDK5.0开始使用 该方法调用语句的一般格式为: system.out
14、.printf(格式控制字符串,输出项列表); 格式控制字符串主要包含3种信息: (1)格式说明符:由%和格式转换字符组成,如%d、%f 等,它的作用是将数据转换成指定的格式输出。 如:System.out.printf(“%d %f”,x,y); (2)普通字符,格式控制字符串中的普通字符原样输出 如:System.out.printf(“The result is%d”,x); The result is 将原样输出。 (3)标志符。放在%和格式转换符之间,用来改变输出格式。 如: System.out.printf(“%+d”,100) 将输出 +100,第2章Java编程基础,日期和时
15、间的转换符,第2章Java编程基础,日期和时间的转换符,第2章Java编程基础,用于System.out.printf的格式转换符,第2章Java编程基础,用于System.out.printf的标志符,第2章Java编程基础,数据输入,对话框输入 在JDK5.0之前,在接受用户输入时使用一个“输入”对话框,但需要声明下面语句 String name=JOptionPane.showInputDialog(“Whats your name?”); JOptionPane.showInputDialog()只能返回字符串,想要输入数值并返回的话,还要使用Intege.parseInt()或Dou
16、ble.parseDouble ()方法将字符串转换为相应的整型或浮点型数据。 String year=JOptionPane.showInputDialog(“How old are you?”); int age= Intege.parseInt(year); 说明:JOptionPane类定义在javax.swing包中,因此还需在程序的开始处加上如下语句:import javax.swing.*;,第2章Java编程基础,1、输入对话框,第2章Java编程基础,输入对话框,第2章Java编程基础,2、命令行输入,(1)先构造一个Scanner类的对象,如下 Scanner input=
17、new Scanner(System.in); (2)调用input对象的nextLine()方法来读取输入的下一行内容:input.nextLine(); (3)调用next()方法读取输入的下一个单词(以空格作为分隔符):input.next(); (4)调用nextInt()/nextDouble()方法读取输入的下一个整数/浮点数:Int();input.nextDouble(); (5)调用hasNext();/检测输入中是否还有单词 调用hasInt();/检测输入中是否还有整数 调用hasDouble()检测输入中是否还有浮点数,第2章Java编程基础,例子,import jav
18、a.util.*; public class CommandInput public static void main(String args) Scanner input = new Scanner(System.in); System.out.println(Whats your name? ); String name = input.nextLine( ); System.out.println(How old are you? ); int age = input.nextInt( ); System.out.println(name+ is +age+ years old.); ,
19、第2章Java编程基础,程序运行结果,第2章Java编程基础,程序控制语句,Java语句概述 1、表达式语句:由一个表达式加上一个分号就构成了一个表达式语句。如 a=5;i+; 2、方法调用语句:由一个方法调用加上一个分号构成一个语句。如 System.out.println(“hi”) 3、流程控制语句:稍后做详细讲解 4、异常处理语句:在程序执行过程中出现异常情况时,可以使用异常处理语句来捕获异常情况,将程序返回到一种安全状态,并将控制权交给异常处理程序,使程序能最终正常退出。主要有:try-catch-finally语句和throw语句。 5、复合语句:可以用把一些语句括起来成为复合语句
20、。如 c=a+b; d=c/10; y=d+100; ,第2章Java编程基础,if条件语句,if (条件) 语句 if (a 0) System.out.print(a是正数);,第2章Java编程基础,if语句的流程图,第2章Java编程基础,if (条件) 语句1 else 语句2,if (mark = 60) System.out.print(及格); else System.out.print(不及格);,第2章Java编程基础,if/else语句的流程图,第2章Java编程基础,if (条件1) 语句1 else if (条件2) 语句2 else if (条件3) 语句3 els
21、e if (条件m) 语句m else 语句n,第2章Java编程基础,例子,if (mark = 90) System.out.print(A); else if (mark = 80) System.out.print(B); else if (mark = 70) System.out.print(C); else if (mark = 60) System.out.print(D); else System.out.print(F);,第2章Java编程基础,if/else/if多分支语句的流程图,第2章Java编程基础,嵌套的if语句,第2章Java编程基础,例:判断某一年是否为闰年
22、。闰年的条件是符合下面二者之一:能被4整除,但不能被100整除;能被400整除。,public class LeapYear public static void main(String args) int year=1988; boolean leap=false; if(year%4=0 ,第2章Java编程基础,switch分支语句,switch (表达式) case 常量表达式1: 语句序列1; break; case 常量表达式2: 语句序列2; break; case 常量表达式3: 语句序列3; break; case 常量表达式n: 语句序列n; break; default:
23、 语句序列n+1; break; ,使用switch开关语句时,注意以下三个问题: 这里的表达式可以是整型或字符型表达式,由于实型在内存中的表示是不精确的,因此不允许使用。 case子句中的值应为常量,而且所有case子句中的值必须是不同的。 通常在每一个case中都应使用break语句提供一个出口,使流程跳出开关语句。否则,在第一个满足条件case后面的所有语句都会被执行,这种情况叫做落空。看下面分别加上和去掉break语句的例子,第2章Java编程基础,switch语句的流程图,例:根据考试成绩的等级打印出百分制分数段。,第2章Java编程基础,public class SwitchDem
24、o public static void main(String args) char grade=C; switch(grade) case A:System.out.println(grade+ is 90100); break; case B:System.out.println(grade+ is 8089); break; case C:System.out.println(grade+ is 7079); break; case D:System.out.println(grade+ is 60 69); break; case F:System.out.println(grade
25、+ is 60); break; default:System.out.println(输入有误!); 运行结果: C is 7079,去掉break语句的运行结果: C is 7079 C is 6069 C is 60 输入有误!,第2章Java编程基础,while循环语句,1while语句 while语句实现 “当型” 循环,格式为 while (布尔表达式) 循环体 while语句首先判断布尔表达式的值是否为true,如果为true,则执行循环体,然后重复该过程;如果布尔表达式的值为false,则终止while语句的执行。循环体可以是一条简单语句,也可以是用大括号括起来的语句序列。 w
26、hile语句首先计算终止条件,当条件满足时,才去执行循环中的语句,因此循环体有可能一次都不执行。,第2章Java编程基础,while循环语句,前100个正整数之和(1+2+3+99+100)。 public class qiuhe public static void main (String args) int sum = 0; int i = 1; while (i = 100) sum = sum + i; i = i + 1; System.out.println(“1到100以内所有整数和”+sum); ,程序运行结果:1到100以内所有整数和5050,第2章Java编程基础,whi
27、le语句的流程图,第2章Java编程基础,do-while循环语句,do-while语句实现“直到型”循环,格式为: do 循环体 while (布尔表达式); do-while语句首先执行循环体,然后计算布尔表达式。如果布尔表达式的值为true,则重复上述过程,直到布尔表达式的结果为false。与while语句不同的是,do-while语句的循环体至少执行一次。 do-while中的循环体可以是一条简单语句,也可以是用大括号括起来的语句序列。建议即使是一条语句也用大括号括起来,以增加程序的可读性。,第2章Java编程基础,do-while循环语句, int sum = 0; int i =
28、1; do sum = sum + i; i = i + 1; while (i = 100) ,第2章Java编程基础,do-while循环的流程图,第2章Java编程基础,for循环语句,for (循环变量初始化; 循环条件; 循环变量更新) 语句 for后面的括号内包含了用分号隔开的三部分,当循环第一次开始时,首先执行循环变量初始化部分,循环变量一般用来控制循环的执行次数,初始化部分只执行一次。接着执行循环条件测试部分,它通常测试循环变量的值以判断是否执行了指定的次数,如果循环条件为真,就执行循环体,否则就终止循环。执行完循环体后,接下来执行循环变量更新部分,它通常增加或减小循环变量的值
29、,然后以新的循环变量的取值继续循环条件的测试和循环体的执行,如此重复直到循环条件为假。,第2章Java编程基础,for-each循环语句,它是一种增强的for循环,主要用来对集合中的元素以严格连续的方式从头到尾进行循环。它的一般形式为: for (类型 循环变量: 集合) 语句 其中“类型”指定了“循环变量”的取值类型,“循环变量”用来接收“集合”中的元素。每一次循环,会按顺序从“集合”中取出一个元素存储在“循环变量”中,如此重复,直到集合中的所有元素都已取出为止。由于循环变量从集合中接收值,所以“类型”必须与集合中存储的元素类型相同(或兼容)。,第2章Java编程基础,循环嵌套,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。三种类型的循环可以互相嵌套。但是常用的是for循环的嵌套。,第2章Java编程基础,例子,public class NestFor public static void main(String args) int i, j;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豫德投资担保公司发展战略:基于市场与环境视角的深度剖析
- 谢一矿深部煤质剖析:特征探究与配煤炼焦影响的深度解析
- 调肝理脾汤合小儿推拿:小儿疳气型疳证治疗新视角
- 2026浙江杭州市上城区湖滨街道社区卫生服务中心编外招聘1人笔试模拟试题及答案详解
- 说话人声纹识别算法:演进、挑战与创新
- 语言环境对儿童人称代词习得的影响:普通话与英语儿童的比较研究
- 2026年安康市福利彩票市场专管员招聘(12人)笔试模拟试题及答案详解
- 成都中医药大学体育健康学院2026年助学助管员招用笔试模拟试题及答案详解
- 2026年度东营市市级机关公开遴选公务员职位表(18人)考试模拟试题及答案详解
- 2026浙江嘉兴市高照街道招聘消防人员2人考试参考题库及答案详解
- 2026内蒙古鄂尔多斯市本级事业单位第二批引进高层次和紧缺人才28人备考题库及一套完整答案详解
- 杭州市博物馆藏品管理制度(试行)
- 促销活动外包合同
- 小升初小学数学《找规律》大题量练习总复习试卷练习题一
- 2026年食品安全管理员资格考试试题【带答案】
- 五卅反帝爱国运动历史回顾
- 湖南省技术产权交易所有限责任公司招聘笔试题库2026
- 2026年4月自考00160审计学试题及答案含评分参考
- 2026年4月自考00022高等数学(工专)试题
- 对比剂不良反应应急预案演练脚本
- 2025年河南焦作市八年级地生会考真题试卷+答案
评论
0/150
提交评论