Java语言程序设计—复习.ppt

上传人:豆**** 文档编号:34214830 上传时间:2022-08-14 格式:PPT 页数:79 大小:320KB
返回 下载 相关 举报
Java语言程序设计—复习.ppt_第1页
第1页 / 共79页
Java语言程序设计—复习.ppt_第2页
第2页 / 共79页
点击查看更多>>
资源描述

《Java语言程序设计—复习.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计—复习.ppt(79页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、提 纲nJavaJava概述概述nJavaJava基本语法基本语法n程序的流程控制程序的流程控制n数组数组n字符串字符串n类和对象类和对象nJava Java 标准类库标准类库nJavaJava图形用户界面(不要求)图形用户界面(不要求)n异常异常nJava I/OJava I/O操作操作n网络编程(不要求)网络编程(不要求)n线程(不要求)线程(不要求)复习方式复习方式 理解理解PPTPPT中出现的程序,网上练习题,中出现的程序,网上练习题,练习上机作业练习上机作业 根据复习大纲,有选择的复习根据复习大纲,有选择的复习考试题型考试题型 选择选择(20%) (20%) 判断对错判断对错(10%

2、)(10%), 简答题简答题(20%)(20%) 阅读程序阅读程序(30%)(30%) 编写程序编写程序(20%)(20%)第第1 1讲讲 JavaJava概述概述 JavaJava的发展历程的发展历程(oak(oakjava)java) JavaJava技术的含义技术的含义 编程语言编程语言(Programming Language)(Programming Language) 运行平台运行平台(Platform)JAVA(Platform)JAVA虚拟机(虚拟机(JVMJVM) JavaJava语言的特点语言的特点* * 简单简单(Simple)(Simple) 面向对象面向对象(Obje

3、ct oriented)(Object oriented) 解释性解释性(Interpreted)(Interpreted) 平台独立和可移植平台独立和可移植(Architecture neutral & Portable)(Architecture neutral & Portable) 鲁棒和安全鲁棒和安全(Robust & Secure)(Robust & Secure) 多线程多线程(Multithreaded)(Multithreaded) 分布式分布式(Distributed)(Distributed) 高性能高性能(High performance)(High performan

4、ce) 动态动态(Dynamic)(Dynamic)第第1 1讲讲 JavaJava概述概述 JavaJava程序的种类程序的种类* * JavaJava应用程序应用程序(Java Application)(Java Application) 独立的独立的JavaJava程序程序 程序入口方法程序入口方法: public static void main(String args) : public static void main(String args) 分图形界面与文本界面两种分图形界面与文本界面两种 JavaJava小应用程序小应用程序(Java Applet(Java Applet)

5、在在WebWeb浏览器中运行浏览器中运行( (内嵌内嵌JavaJava虚拟机虚拟机) ) 特定标记特定标记 APPLET CODE=HelloWorld.class WIDTH=150 HEIGHT=25 Java ServletJava Servlet应用程序应用程序第第1 1讲讲 JavaJava概述概述 简单的简单的JavaJava程序程序* *import java.lang.System;/可缺省class HelloWorld public static void main(String args) System.out.println(“Hello World!”); 步骤:如何

6、编写(建立)、编译和运行?步骤:如何编写(建立)、编译和运行? 什么是什么是“.java”.java”文件?文件? 什么是什么是”.class”.class”文件?文件?第第2 2讲讲 JavaJava基本语法基本语法 关键字(保留字)关键字(保留字)* *abstract abstract double double int int strictfp strictfp * * * boolean boolean else else interface interface super super break break extends extends long long switch swit

7、ch byte byte final final native native synchronized synchronized case case finally finally new new this this catch catch float float package package throw throw char char for for private private throws throws class class goto goto * * protected protected transient transient const const * * if if pub

8、lic public try try continuecontinueimplements implements return return void void default default import import short short volatile volatile do do instanceof instanceof static static while while 注注: : * *当前未被使用当前未被使用 * * * * 用于用于Java2Java2第第2 2讲讲 JavaJava基本语法基本语法 标识符标识符* *-表示成分的名称表示成分的名称 常量、变量、数据类型、

9、类和方法常量、变量、数据类型、类和方法public class HelloWorld1 public class HelloWorld1 public static void main(String args) public static void main(String args) String message = “Hello World!”; String message = “Hello World!”; myPrint(message);myPrint(message); private static void myPrint(String s) private static voi

10、d myPrint(String s) System.out.println(s);System.out.println(s); 字母字母(AZ(AZ、az)az)、特殊符号、特殊符号($($、_)_)和数字和数字(09)(09) 第第1 1个符号不能为数字个符号不能为数字 不能为关键词、不能为关键词、truetrue、falsefalse、nullnull 区分大小写区分大小写 第第2 2讲讲 JavaJava基本语法基本语法 数据类型数据类型* * 基本类型基本类型(primitive)(primitive) 数字数字 (number)(number) 整型整型 (integers)(in

11、tegers) 字节整数字节整数 (byte, 8 bits): -128 127, 0(byte, 8 bits): -128 127, 0 短整数短整数 (short, 16 bits): -32768 32767, 0(short, 16 bits): -32768 32767, 0 整数整数 (int, 32 bits): -2147483648 2147483647, 0(int, 32 bits): -2147483648 2147483647, 0 长整数长整数 (long, 64 bits): , 0L(long, 64 bits): , 0L 实型实型 (real numbe

12、rs): (real numbers): 单精度单精度(float, 32 bits): , 0.0F(float, 32 bits): , 0.0F 双精度双精度(double, 64 bits): , 0.0D(double, 64 bits): , 0.0D 字符字符 (char, 16-bit Unicode(char, 16-bit Unicode字符字符): u0000 uffff): u0000 uffff 布尔布尔 (boolean): true, false(boolean): true, false 构造构造/ /引用类型引用类型(reference): (referenc

13、e): 数组数组(Array), (Array), 类类(class), (class), 接口接口(interface)(interface)第第2 2讲讲 JavaJava基本语法基本语法 常量与变量常量与变量* * int i = 178;int i = 178; long l = 8864L; (8864l)long l = 8864L; (8864l) double d1 = 37.266; double d1 = 37.266; double d2 = 37.266D; (37.266d)double d2 = 37.266D; (37.266d) double d3 = 26.7

14、7e3; double d3 = 26.77e3; float f = 87.363F; (87.363f)float f = 87.363F; (87.363f) char c = d; char c = d; boolean b1 = true; boolean b1 = true; 十进制、八进制、十六进制十进制、八进制、十六进制 123123、 023023、0 xFE0 xFE finalfinal常量常量第第2 2讲讲 JavaJava基本语法基本语法 变量定义域变量定义域* *if ( . ) int i = 17; .System.out.println(The value o

15、f i = + i);第第2 2讲讲 JavaJava基本语法基本语法 运算符运算符* * 算术运算符算术运算符 加法运算符加法运算符 + “op1 + op2” + “op1 + op2” 减法运算符减法运算符 - “op1 - op2” - “op1 - op2” 乘法运算符乘法运算符 * * “op1 “op1 * * op2” op2” 除法运算符除法运算符 / “op1 / op2” / “op1 / op2” 求模运算符求模运算符% “op1 % op2” % “op1 % op2” 计算余数计算余数 关系运算符关系运算符 大于大于 “op1 op2” “op1 op2” 大于等于

16、大于等于 = “op1 = op2” = “op1 = op2” 小于小于 “op1 op2” “op1 op2” 小于等于小于等于 = “op1 = op2” = “op1 = op2” 等于等于 = “op1 = op2” = “op1 = op2” 不等于不等于 != “op1 != op2”!= “op1 != op2”第第2 2讲讲 JavaJava基本语法基本语法 运算符运算符* * 逻辑运算符逻辑运算符 逻辑与逻辑与 & “op1 & op2” & “op1 & op2” 逻辑或逻辑或 | “op1 | op2” | “op1 | op2” 逻辑非逻辑非 ! “! op” ! “

17、! op” 另一种与或运算另一种与或运算 & &、| | 位运算符位运算符 按位取反按位取反 “op2” “op2” 按位与按位与 & “op1 & op2” & “op1 & op2” 按位或按位或 | “op1 | op2”| “op1 | op2” 按位异或按位异或 “op1 op2” “op1 op2”int a = 42;int a = 42;int aa = a;int aa = a;System.out.println(“aa=” + aa);System.out.println(“aa=” + aa);42 & 1542 & 15、43 & 143 & 1、42 | 1542

18、| 15、42 1542 15第第2 2讲讲 JavaJava基本语法基本语法 运算符运算符* * 移位运算符移位运算符 左移左移 “op1 op2” “op1 “op1 op2” “op1 op2” 无符号右移无符号右移 “op1 op2” “op1 op2”int a = 42;int a = 42;int aa = a 2;int aa = a 2;int aa = a 2;System.out.println(“aa=” + aa);System.out.println(“aa=” + aa); 条件运算符条件运算符op1 ? op2 : op3 运算符的优先级运算符的优先级第第2 2

19、讲讲 JavaJava基本语法基本语法 运算符运算符* * 自增运算符自增运算符(+)(+)、自减运算符、自减运算符(-)(-) “ “赋值赋值”和和“运算运算”的先后顺序的先后顺序int i = 10; int n = i+%5; int i = 10; int n = +i%5; i = 11, n = 0i = 11, n = 1第第2 2讲讲 JavaJava基本语法基本语法 类型转换类型转换* * 隐型类型转换隐型类型转换: : 自动类型转换自动类型转换( (系统完成系统完成) ) 宽化转换宽化转换(widening conversion)(widening conversion)b

20、yte j=60; short k=4; int l=31; long m=4l;byte j=60; short k=4; int l=31; long m=4l;long result=0l;long result=0l;result +=j-8;result +=j-8;result result * *=k+2;=k+2;result /=m+1;result /=m+1;result -=l;result -=l;result %=m;result %=m; 显型类型转换显型类型转换: : 强制类型转换强制类型转换 窄化转换窄化转换 (narrowing conversion)(na

21、rrowing conversion)double a = 1.5;double a = 1.5;float b = a;float b = a;System.out.println(“b= + b);System.out.println(“b= + b);编译编译: “possible loss of precision”: “possible loss of precision”数据精度丢失数据精度丢失数据丢失数据丢失第第3 3讲讲 程序的流程控制程序的流程控制 条件选择语句条件选择语句* * if if和和if-elseif-else语句语句 if if语句的嵌套语句的嵌套 ?:?: 例

22、例 int x=x3?x+4:y+4int x=xc) if (cb) System.out.print(c);else System.out.print(a);修改配对关系: if (ac) if (cb) System.out.print(c); else System.out.print(a); 默认Java虚拟机: if (ac) if (cb) System.out.print(c); else System.out.print(a); 注意条件第第3 3讲讲 程序的流程控制程序的流程控制 switchswitch语句语句* *switch (表达式) case 值1: 语句序列;

23、break; case 值2: 语句序列; break; default: 默认语句; 第第3 3讲讲 程序的流程控制程序的流程控制 switchswitch语句语句* *public class Test public static void main(String args) int month = 2, year = 2000; int numDays = 0; switch (month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: numDays = 31; break;case 4: case 6: case

24、9: case 11: numDays = 30; break; case 2: if (year % 4 = 0) & !(year % 100 = 0) | (year % 400 = 0) ) numDays = 29; else numDays = 28; break; System.out.println(Number of Days = + numDays); 第第3 3讲讲 程序的流程控制程序的流程控制 循环控制语句循环控制语句* * whilewhile循环循环 do-whiledo-while循环循环 forfor循环循环import java.io.IOException;

25、import java.io.IOException;class Test class Test public static void main(String args) throws IOException public static void main(String args) throws IOException int i, n, sum=1; int i, n, sum=1; System.out.println(“Please input(09):”); System.out.println(“Please input(09):”); n = System.in.read(); n

26、 = System.in.read(); n -= 48; n -= 48; for (i = 1; i = n; i+) for (i = 1; i = n; i+) sum sum * *= i;= i; System.out.println(n + “!= ” + sum); System.out.println(n + “!= ” + sum); 第第3 3讲讲 程序的流程控制程序的流程控制 循环控制语句循环控制语句* * 循环的嵌套循环的嵌套import java.io.IOException;import java.io.IOException;class Test class T

27、est public static void main(String args) throws IOException public static void main(String args) throws IOException int n, sum, total=0; int n, sum, total=0; System.out.println(“Please input(09):”); System.out.println(“Please input(09):”); n = System.in.read(); n = System.in.read(); n - = 48; n - =

28、48; for (int j = 1; j = n; j+) for (int j = 1; j = n; j+) sum = 1; sum = 1; for (int i = 1; i =j; i+) for (int i = 1; i =j; i+) sum sum * *= i;= i; total +=sum; total +=sum; System.out.println(“ System.out.println(“各阶乘之和为各阶乘之和为: ” + total);: ” + total); 第第3 3讲讲 程序的流程控制程序的流程控制 跳转语句跳转语句* * continue co

29、ntinue 结束本次循环结束本次循环 break break 跳出跳出( (中止中止) )循环循环class Test class Test public static void main(String args) public static void main(String args) for (int j = 1; j 6; j+) for (int j = 1; j 6; j+) if (j =3) if (j =3) break; break; System.out.print(“j=“ + j); System.out.print(“j=“ + j); System.out.pri

30、ntln(“ stop”); System.out.println(“ stop”); 第第3 3讲讲 程序的流程控制程序的流程控制 常见的一些算法 创建一个应用程序创建一个应用程序 XX、n!n!。 创建一个求和应用程序创建一个求和应用程序 1/X1/X。 (1/X1/X)! !。 创建一个求和应用程序创建一个求和应用程序 1-1/2+1/3-1/4-.+1/99-1/1001-1/2+1/3-1/4-.+1/99-1/100 分别使用嵌套分别使用嵌套if if语句和语句和switchswitch语句完成判断成绩等级程序。语句完成判断成绩等级程序。 求出求出100-300100-300之间的

31、所有素数。之间的所有素数。 从键盘输入一批数,统计运算。从键盘输入一批数,统计运算。 创建一个应用程序求创建一个应用程序求100-999100-999所有水仙花数。即各位数的立所有水仙花数。即各位数的立方和与该数相等。如:方和与该数相等。如:153=1153=1* *1 1* *1+51+5* *5 5* *5+35+3* *3 3* *3 3 教材上的例题、习题教材上的例题、习题第第4 4讲讲 数组数组 一维数组的声明一维数组的声明* * 方法方法1: 1: 类型类型 数组名数组名; 方法方法2: 2: 类型类型 数组名数组名; ; 注意注意 类型是数组中元素的数据类型类型是数组中元素的数据

32、类型( (基本和构造类型基本和构造类型) ) 数组名是一个标识符数组名是一个标识符 数组声明后不能被访问,因为未对数组分配内存空间数组声明后不能被访问,因为未对数组分配内存空间 String args; int a; double amount; char c;String args; int a; double amount; char c; 一维数组的创建一维数组的创建* * 用用newnew来创建数组来创建数组 为数组元素分配内存空间,并对数组元素进行初始化为数组元素分配内存空间,并对数组元素进行初始化 int i = new int3;int i = new int3;一维数组的排序一

33、维数组的排序*(冒泡、选择)(冒泡、选择)第第4 4讲讲 数组数组 二维数组的声明二维数组的声明* * 类型类型 数组名数组名, 例例 int a;int a; 二维数组的创建二维数组的创建* * 方法方法1: 1: 直接分配空间直接分配空间(new)(new)int a = new int23;int a = new int23;a00 a01 a02a00 a01 a02a10 a11 a12a10 a11 a12 方法方法2: 2: 从最高维开始,为每一维分配空间从最高维开始,为每一维分配空间int c = new int2;int c = new int2;c0 = new int4;

34、c0 = new int4;c1 = new int3;c1 = new int3;c00 c01 c02 c03c00 c01 c02 c03c10 c11 c12 c10 c11 c12 第第4 4讲讲 数组数组 二维数组二维数组* *class Test class Test public static void main (String args) public static void main (String args) int a = new int33;int a = new int33;a00=1;a11=1;a22=1;a00=1;a11=1;a22=1;System.out

35、.println(“System.out.println(“数组数组a: ”);a: ”);for (int i=0; i a.length; i+)for (int i=0; i a.length; i+)for (int j=0; jai.length; j+)for (int j=0; j4 a4 则则?第第5 5讲讲 字符串字符串java.lang.Stringjava.lang.String类类字符串字符串判断字符串相等判断字符串相等* *String s1 = java语言;String s2 = JavA语言;System.out.println(s1.equals(s2);Sy

36、stem.out.println(s1.equalsIgnoreCase(s2);System.out.println(pareTo(s2);System.out.println(pareToIgnoreCase(s2);第第5 5讲字符串讲字符串其他其他* *String s = java语言;System.out.println(s.length();System.out.println(s.substring(0, 4);System.out.println(s.substring(4);System.out.println(s.charAt(0);System.out.println(

37、s.indexOf(a);System.out.println(s.indexOf(a, 2);System.out.println(s.indexOf(“a”);System.out.println(s.indexOf(“语言”);System.out.println(s.lastIndexOf(a);System.out.println(s.lastIndexOf(v, 1);System.out.println(s.lastIndexOf(“语言”);System.out.println(s.lastIndexOf(“v”, 2);第第7 7讲字符串讲字符串 StringBuffer 类

38、 字符串变量 常见方法(append、length)等第第6 6讲讲 类和对象类和对象面向对象编程的特点面向对象编程的特点 用客观世界中描述事物的方法来描述程序中要解决的问题用客观世界中描述事物的方法来描述程序中要解决的问题 万事万物都是对象万事万物都是对象 程序便是成堆的对象,彼此通过消息的传递,请求其他对象进行工作程序便是成堆的对象,彼此通过消息的传递,请求其他对象进行工作五个基本概念五个基本概念* * 对象对象 状态状态: : 指对象本身的信息指对象本身的信息 行为行为: : 实现对信息的访问实现对信息的访问 消息消息 对象之间的交互和通信是通过相互间发送消息来实现对象之间的交互和通信是

39、通过相互间发送消息来实现 类类 类是对象的模板类是对象的模板(template)/(template)/抽象抽象 一个对象是类的一个实例一个对象是类的一个实例(instance)(instance) 继承继承- -树型结构树型结构 多态性多态性- -不同的子类中同样的方法有不同的表现形式,同一子不同的子类中同样的方法有不同的表现形式,同一子类中相同方法名的不同方法类中相同方法名的不同方法第第6 6讲讲 类和对象类和对象类的定义格式类的定义格式* * 类修饰符类修饰符 class class 类名类名extends extends 父类名父类名 implements implements 接口名

40、接口名 t t 类型类型成员方法成员方法1(1(参数参数1, 1, 参数参数2, ) 2, ) 方法体方法体; ; 类型类型成员方法成员方法2(2(参数参数1, 1, 参数参数2, ) 2, ) 方法体方法体; ; 第第6 6讲讲 类和对象类和对象类的定义格式类的定义格式 类修饰符类修饰符 class class 类名类名 extends extends 父类名父类名 implements implements 接口名接口名 常见的类修饰符常见的类修饰符* *publicpublic: (: (无任何限制无任何限制) )无修饰无修饰: (: (仅仅能被同一个包中的其他类引用仅仅能被同一个包中的

41、其他类引用) )abstractabstract: (: (声明该类不能被实例化,抽象类声明该类不能被实例化,抽象类) )finalfinal: (: (声明该类不能有子类声明该类不能有子类) )继承与实现继承与实现* *extends: extends: 继承的关系继承的关系implements: implements: 实现哪些接口实现哪些接口(interface)(interface)的方法,实现多重的方法,实现多重继承继承第第6 6讲讲 类和对象类和对象类成员的访问修饰符类成员的访问修饰符* *publicpublicprivateprivateprotectedprotected无修

42、饰无修饰staticstaticfinalfinal第第6 6讲讲 类和对象类和对象 4.2.1 类的访问控制访问域访问域可见性可见性类控制符类控制符第第6 6讲讲 类和对象类和对象 4.2.2 类成员的访问控制可见性可见性成员控制符成员控制符访问域访问域第第6 6讲讲 类和对象类和对象静态变量和静态方法静态变量和静态方法* *类的成员(变量类的成员(变量/ /方法),独立于类的对象,可以直接根据方法),独立于类的对象,可以直接根据类名调用类名调用class S class S static int A = 12, B = 34;static int A = 12, B = 34;static

43、 void print() static void print() class Test class Test public static void main(String args) public static void main(String args) System.out.println(“A=“ + S.A + “ B=“ + S.B); System.out.println(“A=“ + S.A + “ B=“ + S.B); S.print(); S.print(); 第第6 6讲讲 类和对象类和对象成员方法的访问成员方法的访问* *- -定义、调用、返回、形参、实参定义、调用、

44、返回、形参、实参class Test public static void main(String args) double d_product;Area myArea;myArea = new Area(); d_product = myArea.product();System.out.println(“myArea的面积是: ” + d_product);class Area Area() ; double width, height; void set(double w, double h) width = w;height = h; double product() return w

45、idth*height;第第5 5讲讲 类和对象类和对象( (续续) ) 向方法传递参数向方法传递参数 传递简单变量传递简单变量 传递对象(教材传递对象(教材109109)第第6 6讲讲 类和对象类和对象class Example Example() int u, v;void compute(int x, int y) int i, j;for (i=1; i=x;i+) j = y+i; System.out.print(j+“ ”); void p( ) u=3; v=2; compute(u, v);System.out.println();u+=v; v*=u; compute(u,

46、 v); public static void main(String args) Example A = new Example();A.p();第第6 6讲讲 类和对象类和对象方法重写方法重写* *子类重写子类重写( (重新定义重新定义) )父类的方法及上转型问题父类的方法及上转型问题class Father void display( ) ; class Son extends Father void display() ;Father f = new Father();f.display();Son s = new Son();s.display();Father s = new So

47、n();s.display();第第6 6讲讲 类和对象类和对象( (续续) )对象的创建对象的创建* *创建对象创建对象/ /实例化对象实例化对象newnew Apple a = new Apple(); -Apple a = new Apple(); -理解含义理解含义对象的实例化通过构造方法对象的实例化通过构造方法(constructor)(constructor)来来实现实现构造方法的名字与类名相同构造方法的名字与类名相同构造方法没有返回值构造方法没有返回值构造方法可以有多个,构成方法的重载构造方法可以有多个,构成方法的重载(overload)(overload)第第5 5讲讲 类和对

48、象类和对象( (续续) )对象的创建对象的创建* * public static void main(String args) Square s1 = new Square(); Square s2 = new Square(20, 50); Square s3 = new Square(s1); System.out.println(s1.width() +“ ” +s1.height(); System.out.println(s2.width() +“ ” +s2.height(); System.out.println(s3.width() +“ ” +s3.height();clas

49、s Square int a, h;Square() a = 10; h = 20;Square(int x, int y) a = x; h = y;Square(Square s) a = s.width(); h = s.height();int width() return a;int height() return h;第第5 5讲讲 类和对象类和对象( (续续) )默认构造方法默认构造方法* *例例 class Apple class Apple int color; int color; Apple a = new Apple();Apple a = new Apple();对象

50、实例的判断对象实例的判断* *(null)(null)例例 Apple a;Apple a;if (a = null) if (a = null) System.out.println(“Day dream”);System.out.println(“Day dream”);第第5 5讲讲 类和对象类和对象( (续续) )对象的引用对象的引用* *通过对象引用对象的成员变量和成员方法通过对象引用对象的成员变量和成员方法class Square int a, h;Square () a = 10; h = 20;Square(int x, int y) a = x; h = y; Square(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com