Java程序设计-第02章 Java基础语法[详版课资].ppt

上传人:rrsccc 文档编号:10248437 上传时间:2021-05-02 格式:PPT 页数:74 大小:1.22MB
返回 下载 相关 举报
Java程序设计-第02章 Java基础语法[详版课资].ppt_第1页
第1页 / 共74页
Java程序设计-第02章 Java基础语法[详版课资].ppt_第2页
第2页 / 共74页
Java程序设计-第02章 Java基础语法[详版课资].ppt_第3页
第3页 / 共74页
Java程序设计-第02章 Java基础语法[详版课资].ppt_第4页
第4页 / 共74页
Java程序设计-第02章 Java基础语法[详版课资].ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《Java程序设计-第02章 Java基础语法[详版课资].ppt》由会员分享,可在线阅读,更多相关《Java程序设计-第02章 Java基础语法[详版课资].ppt(74页珍藏版)》请在三一文库上搜索。

1、,第二章 Java基础语法,图形图像研究所 计算机科学与技术、软件学院浙江工业大学,高飞,陆佳炜等。Java程序设计实用教程。北京:清华大学出版社,2013(ISBN:978-7-302-31695-4) 高飞,赵小敏等。Java程序设计实用教程习题集。北京:清华大学出版社,2013(ISBN:978-7-302-32051-7),高飞 教授,博士生导师 Tel.:0571-85290535 URL: ,前言,本章的目的:标识符(4种字符:字母、数字、_、$,首字符:字母、_、$)、关键字、8种基本数据类型(booleancharbyte、short、int、longfloat、double)

2、、运算符、流程控制、结构化程序设计 、5种参数输入方式,回顾关键词:程序设计语言的发展、Java语言的发展史、Java开发环境的配置、常用开发工具(记事本、JCreator、Eclipse),小节安排,J A V A 基础语法,2.1、标识符和关键字,2.2、基本数据类型,2.3、变量和常量,2.4、运算符,2.5、语句,2.6、输入参数方式,2.1标识符和关键字,Java中的标识符:可以用来标识变量名、类名、类中的方法名和文件名等. 标识符组成: (1) 字母, (2)数字, (3)下划线“_” 和 (4)美元符号“$”; 首字符必须是(1) 字母, (2)下划线“_” 和 (3)美元符号“

3、$”; 所有标识符是区分大小写的; 除去关键字、false、true和null;,问题: 是/不是 标识符?,myVariable 9pins MYVARIABLE i a+c testing1-2-3,_myvariable java long j = i; 若反过来,将长格式赋值给短格式整数,如: long j= 25L; int i = j; 将出现编译错误。,显示类型转换,当长格式数据赋值给短格式整型变量,双精度数据给单精度类型赋值,浮点型数据给整型变量赋值时,均要进行显示类型转换,即强制类型转换 强制类型转换用圆括号进行转换: (目标数据类型)变量名 例如: int a = 260;

4、 byte b; b = (byte)a;,小节安排,J A V A 基础语法,2.1、标识符和关键字,2.2、基本数据类型,2.3、变量和常量,2.4、运算符,2.5、语句,2.6、输入参数方式,2.3变量和常量,变量在计算机内部对应着一个存储单元,而且总是具有某种数据类型:基本数据类型或引用数据类型 变量总是具有与其数据类型相对应的值 每个变量均具有: 名字、类型、一定大小的存储单元以及值,变量的四个要素,变量名:程序通过变量名访问变量的值,对应变量在内存的位置。 变量类型:变量类型由程序员显式地声明,类型决定了变量对应存储区域的大小以及如何解释存储在其中的二进制串。 存储单元:一个变量与

5、内存中某一区域相关联,存储单元即指该区域的起始地址。 值:变量对应的内存区域中存放的数据即为变量的值。在程序运行的不同时刻,变量的值可能不同。,名字,类型,值,存储单元,变量在内存中的存储方式,int ID = 42889; String s = new String(“Hello World!”);,Java变量必须属于某种类型,变量值也必须与变量类型相匹配 例如: int studentNumber; / 声明单个变量 double velocity, distance; / 声明多个变量 studentNumber=30;/ 给变量赋以整数30 int studentNumber=30;

6、/ 声明变量,并赋初值,Java常量,Java常量包括基本数据类型常量、字符串(String)常量和null 布尔(boolean)常量只有两个:true 和 false c, u0061, u0051 和 u005a 是char常量. 34是int常量 1.5, 45.6, 76.4E8和-32.0是double常量 34L是long常量. 1.5F, 45.6f, 76.4E8F和-32.0F是float常量 “Hello World!”是String常量 null是引用数据类型的常量 任意引用数据类型的常量(null),小节安排,J A V A 基础语法,2.1、标识符和关键字,2.2、

7、基本数据类型,2.3、变量和常量,2.4、运算符,2.5、语句,2.6、输入参数方式,2.4运算符,对基本数据类型的常量与变量进行加工的过程称为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数。 Java语言的运算符分成以下几类: 一元、二元或三元运算符(按操作数的个数) 前缀或中缀或后缀运算符(按运算符与操作数的位置关系),Java运算符,算术运算符 关系运算符 布尔逻辑运算符 位运算符 赋值类运算符 条件运算符 其他运算符,1、算术运算符,算术运算符包括:+, -, *, /, +, -, % 没有指数运算 Math.pow(2.0, 3.0); / 2.03.0 整数除法

8、:截去余数 7 / 5 结果为 1 取模:返回余数 7 % 5 结果为 2,1、算术运算符,public class IncrementDecrement public static void main(String args) int i = 0; System.out.println(i+); System.out.println(+i); System.out.println(i-); System.out.println(-i); ,1、算术运算符,public class IncrementDecrement2 public static void main(String args)

9、 int i = 0; i+; System.out.println(i); +i; System.out.println(i); i-; System.out.println(i); -i; System.out.println(i); ,问题?,7/-5 = -7%5 = 7%-5 = -7.0/5 = 7/-5.0 = 7%5.0 = -7%-5.0 =,-1 -2 2 -1.4 -1.4 2.0 -2.0,2、关系运算符,六个关系运算符: 、=、= 和 != 例如: 1 2; / false 3.5 != 1; / true 51.5 = 23.0; / true 540 = 654;

10、 / true 24 = 3*8; / true boolean isEqual=(10 10); / isEqual= false;,关系运算符的注意事项,、=只能用来比较两个数值类型数据的大小 不能用于String、boolean、array或其他类型,若有两个变量x与y要比较是否相等,应该是写成x = y,而不是写成x = y,后者的作用是将y的值指定给x,而不是比较x与y是否相等。 对于对象来说,两个对象参考之间使用=作比较时,是比较其名称是否参考至同一对象,而不是比较其内容。,关系运算符的注意事项,String str1=new String(“welcome”); /创建一个对象,

11、初始化 String str2=new String(“welcome”); /创建一个对象,初始化 String str3=str1; /创建一个对象,并利用对象str1的地址赋值,str1=str2 /false str1=str3 /true,3、布尔逻辑运算符,六个布尔逻辑运算符: int k= ( (i=0) ? 1 : -1); 得出k值为1,7、其他运算符,其他运算符包括:(类型)、.、 、( )、instanceof和new 例如: String str1=new String(“welcome”); char c=(char)a;,运算符优先级,一元后缀 . ( ) + -

12、一元前缀 + - + = ! 创建和强制类型转换 new (type) 倍数 * / % 增量 + - 移位 关系 = = = if(scoreOfMark=90) System.out.println(“祝贺你,你的成绩优秀); else System.out.println(“你的成绩未达到优秀,请努力!); ,while 语句,while 语句的语法形式为: while (布尔表达式) 语句 while 语句用于在布尔表达式(即测试条件)的值保持为真(true)时反复地执行其中的内嵌语句(一般叫做循环体)。,while 语句的流程图,True,false,例:用while语句求1+2+1

13、0的和。,public class WhileOfSum public static void main(String args) int i,sum; sum=0; /累加器清0 i=1; /i的初始值为1 while (i=10) sum+=i; i+; System.out.println(sum=+sum); ,do while语句,Java还提供了另一个与while语句类似的语句:dowhile 语句。 dowhile 语句的语法形式如下: do 语句; while (布尔表达式);,dowhile 语句的流程图,true,false,for语句,for 语句是循环的另一种表示形式。

14、 for语句的语法形式为: for (表达式1;表达式2;表达式3) 语句; 例如:循环执行某一段代码1000次,可表达为: for (int num=0; num1000; num+) /一段代码 ,for语句的流程图,例:用for语句求1+2+10的和,public class ForOfSum public static void main(String args) int i,sum; sum=0; / 累加器清0 for(i=1;i=10;i+) sum+=i; System.out.println(sum=+sum); ,for语句常见的错误,for(int i=1,sum=0;i

15、=100;i+) sum+=i; System.out.println(“i=”+i+“,+sum=”+sum); 错误:for语句不写大括号 , System.out.println中的i会出现编译错误 修改后: for(int i=1,sum=0;i=100;i+) sum+=i; System.out.println(“i=”+i+“,+sum=”+sum); 或者在for外部定义变量: int i;,for语句常见的错误,错误二:利用浮点类型的=或!=运算作为条件表达式 for(double x=0.1; x!=1.0; x+=0.1) System.out.println(x+;);

16、 ,switch语句,switch 语句根据表达式的结果来执行多个操作中的一个,它的语法形式如下: switch (表达式) case 常量1:语句1; break; case常量2:语句2; break; case常量n:语句n; break; default: 缺省处理语句 break; ,switch语句的流程图,表达式,break,语句1,break,语句2,break,语句n,break,缺省处理语句,后续语句,常量1,常量2,常量n,default,.,switch语句的注意点(1),1.使用switch语句时,要注意表达式必须是符合byte,char,short,int类型的表达

17、式,而不能使用浮点类型或long类型,也不能为一个字符串; 2.switch语句将表达式的值依次与每个case子句中的常量值相比较。如果匹配成功,则执行该case子句中常量值后的语句,直到遇到break语句为止; 3.case子句中常量的类型必须与表达式的类型相容,而且每个case子句中常量的值必须是不同的; 4. default子句是可选的,当表达式的值与任一case子句中的值都不匹配时,就执行default后的语句。,switch语句的注意点(2),5.break语句在执行完一个case 分支后,使程序跳出switch 语句,执行switch 语句的后续语句。 6. 在一些特殊的情况下,例

18、如多个不同的case值要执行一组相同的操作,可以写成如下形式: case常量n: case常量n+1:语句 break; ,switch语句的注意点(3),7.case 分支中包括多个执行语句时,可以不用花括号“”括起; 8.通过if-else语句可以实现switch 语句所有的功能。但通常使用switch语句更简练,且可读性强,程序的执行效率也高; 9. if-else 语句可以基于一个范围内的值或一个条件来进行不同的操作,但switch 语句中的每个case 子句都必须对应一个单值。,例:用switch语句实现学生成绩的百分制到等级制的转换,class SwitchDemo public

19、static void main(String args) int testScore=88; char grade; switch (testScore/10) / 两个整型数相除的结果还是整型 case 10: /此处没有使用break case 9: grade=A; break; /值为10和9时的操作是相同的 case 8: grade=B; break; case 7: grade=C;break; case 6: grade=D;break; default: grade=E; break; System.out.println(grade is:+grade); ,break语

20、句,对于Java 中的三种类型的循环:while、do-while、for来说,正常的退出循环的方法是当测试条件变为false时。但有时即使测试的条件为true ,也希望循环立即终止,这时可以用break语句实现此功能。 break语句的一般语法格式为: break 标号; break语句不能用于循环语句和switch语句之外的任何其它语句中。,例:break语句的例子,public class BreakDemo public static void main(String args) int index=0; while (index=100) index+=10; if (index=4

21、0) break; /* 当index的值大于100时,循环将终止。但有一种特殊的情况,如果index的值等于40,循环也将立即终止。*/ System.out.println(The index is +index); ,输出结果: The index is 10 The index is 20 The index is 30,true,false,continue 语句,Continue语句只能在循环中使用。 它和break语句的区别是continue 语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环语句的执行。 continue语句的一般格式为: conti

22、nue标号;,例:continue语句的例子,public class ContinueDemo public static void main(String args) int index=0; while(index=99) index+=10; /*当index的值等于40时,使循环回到while语句处, 而不像正常处理那样去执行后面的输出语句*/ if(index=40) continue; System.out.println(The index is +index); ,true,false,return语句,return语句的作用是终止当前方法的执行,返回到这个方法的调用者。 所

23、有非void方法必须包含一个return语句作为方法最后执行的语句,该语句停止方法的执行,并返回指定类型的值。 语法如下: return expression; expression的类型应与方法的返回类型一致。,小节安排,J A V A 基础语法,2.1、标识符和关键字,2.2、基本数据类型,2.3、变量和常量,2.4、运算符,2.5、语句,2.6、输入参数方式,2.6 输入参数方式,通过main方法来输入参数 在main方法内直接设置参数 使用JOptionPane类进行输入 使用输入流进行输入 使用Scanner类来输入,2.6 输入参数方式,通过main方法来输入参数,/【程序2-21

24、 】JHelloWorld2.java public class JHelloWorld2 public static void main(String args) System.out.println(第一个参数: +args0+ 第二个参数: +args1+ 第三个参数: +args2); ,2.6 输入参数方式,在main方法内直接设置参数,/【程序2-22 】JHelloWorld3.java public class JHelloWorld3 public static void main(String args) String array=abc,d,ef; System.out.

25、println(第一个参数: +array0+ 第二个参数: +array1+ 第三个参数: +array2); ,2.6 输入参数方式,使用JOptionPane类进行输入,/【程序2-23 】JHelloWorld4.java import javax.swing.JOptionPane; /导入JOptionPane类 public class JHelloWorld4 public static void main(String args) String ss = JOptionPane.showInputDialog(请输入一个数, ); System.out.println(输入参

26、数为: + ss); ,2.6 输入参数方式,使用输入流进行输入,/【程序2-24】 JSysteminReadTest.java import java.io.IOException; public class JSysteminReadTest public static void main(String args) throws IOException byte b = new byte100; int count = System.in.read(b); for (int i = 0; i = count - 1; i+) System.out.print(char) bi); ,2.

27、6 输入参数方式,使用输入流进行输入数据,/【程序2-25】 JBufferedReaderTest.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class JBufferedReaderTest public static void main(String args) throws IOException String ss; int a; BufferedReader buf = new BufferedReader( new

28、 InputStreamReader(System.in); System.out.println(请输入一个数:); ss = buf.readLine(); a = Integer.parseInt(ss); System.out.println(输入的数为: + a); ,2.6 输入参数方式,使用Scanner类来输入,/【程序2-26】 JScannerTest.java import java.util.Scanner; /导入Scanner类 public class JScannerTest public static void main(String args) Scanner scan = new Scanner(System.in); int a; System.out.println(请输入数据:); a = scan.nextInt(); System.out.println(输入的数据是:n + a); ,本章小节,J A V A 基础语法,2.1、标识符和关键字,2.2、基本数据类型,2.3、变量和常量,2.4、运算符,2.5、语句,2.6、输入参数方式,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1