Java程序设计基础第五章精品PPT课件

合集下载

Java语言程序设计_基础篇_中文ppt_第五章

Java语言程序设计_基础篇_中文ppt_第五章

Java语言程序设计_基础篇_中文ppt_第五章第5章方法Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2022Pearon Education,Inc.Allrightreerved.0132130807开放问题分别求出1到10、20到30、35到45的整数和。

Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2022Pearon Education,Inc.Allrightreerved.0132130807问题intum=0;for(inti=1;i<=10;i++)um+=i;Sytem.out.println("Sumfrom1to 10i"+um);um=0;for(inti=20;i<=30;i++)um+=i;Sytem.out.println("Sum from20to30i"+um);um=0;for(inti=35;i<=45;i++)um+=i;Sytem.out.prin tln("Sumfrom35to45i"+um);Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2022Pearon Education,Inc.Allrightreerved.0132130807问题intum=0;for(inti=1;i<=10;i++)um+=i;Sytem.out.println("Sumfrom1to 10i"+um);um=0;for(inti=20;i<=30;i++)um+=i;Sytem.out.println("Sum from20to30i"+um);um=0;for(inti=35;i<=45;i++)um+=i;Sytem.out.prin tln("Sumfrom35to45i"+um);Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2022Pearon Education,Inc.Allrightreerved.0132130807解决方案publictaticintum(inti1,inti2){intum=0;for(inti=i1;i<=i2;i++)um+ =i;returnum;}publictaticvoidmain(String[]arg){Sytem.out.println("Sumfrom1to10i"+um(1,10));Sytem.out.println("Sumfrom20to30i"+u m(20,30));Sytem.out.println("Sumfrom35to45i"+um(35,45));}Liang, IntroductiontoJavaProgramming,EighthEdition,(c)2022PearonEducat ion,Inc.Allrightreerved.0132130807学习目标定义方法、调用方法以及传参数给方法(第5.2-5.5节)。

Java程序设计经典教程课件chap5-part2PPT教学课件

Java程序设计经典教程课件chap5-part2PPT教学课件
void close(), 关闭输入流,释放资源
2020/12/10
9
(4)、实现、继承OutputStream类的常用方法 void write(b),将整数b的低8位写入输出流。
void write(byte b[]),将字节数组写入输出流。
void flush(),强制将输出流保存在缓冲区中的数 据写入数据流终点。
2020/12/10
14
2、字符过滤流
BufferedReader
输入字符过滤流
readLine(),从输 入流中读取一行 字符
BufferedWriter
输出字符过滤流
newLine(), 向输 出流中写入一个 行结束标记
2020/12/10
15
3、InputStreamReader类和 OutputStreamWrite类
8
(3)实现、继承InputStream类的常用方法 int read(),从字节流中读入一个字节,若流结
束,返回-1
int read(byte b[]),从字节流中读取字节到字 节数组b,返回读入的字节数,若流结束,返回-1。
int read(byte b[],int off,int len),存放位 置从b[off]开始,返回读取的字节数。
输入流 输出流
程序
Test.java
2020/12/10
5
InputStream
输入字节流
OutputStream
输出字节流
2020/12/10
Reader
输入字符流
Writer
输出字符流
6
节点流 程序与输入源或输出目的地之间直接建立的流
程序
输入源

Java课件(第五章)

Java课件(第五章)

静态属性与实例属性的比较
在Cust类中,增加属性bankName代表账 户所属的银行,因为它是每个账户所共有 的,将其定义为静态属性。再创建一个账 户总数(或总编号)allNum,它代表当前一共 创建了多少个账户,也不属于任何一个账 户对象,而是属于Cust类的,也将其定义 为静态属性。最后定义一个流水编号,它 是对象所独有的,应该定义为实例属性。
Public class TestThis{ public static void main(String[] args){ SimpleClass simple=new SimpleClass(); simple.test(); System.out.print(“simple对象中a的值 为:”); System.out.println(simple.a); }
如果将对象比作汽车,那么类就是汽车的设计图纸。 所以面向对象程序设计的重点是类的设计,而不是对 象的设计。
类的定义
class Person { int age; void shout() {System.out.println(“oh,my god! I am “ + age);} } • age是类的属性 ,也叫类成员变量 。 • shout是方法也叫类的成员函数。 • shout方法可以直接访问同一个类中的age变量 , 如果一个方法中有与成员变量同名的局部变量, 该方法中对这个变量名的访问是局部变量,而 不再是成员变量。
运行结果
X=103
静态代码块
• 一个类中可以使用不包含在任何方法体中的静态 代码块(static block ),当类被载入时,静态代码 块被执行,且只被执行一次,静态块经常用来进 行类属性的初始化。 • 类中的静态代码块被自动执行,尽管我们产生了 类的多个实例对象,但其中的静态代码块只被执 行了一次。当一个程序中用到了其他的类,类是 在第一次被使用的时候才被装载,而不是在程序 启动时就装载程序中所有可能要用到的类。

java语言程序设计基础篇(第5章)英文PPT课件

java语言程序设计基础篇(第5章)英文PPT课件
1
Chapter 5 Methods
Opening Problem
2
Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively.
Problem
3
int sum = 0; for (int i = 1; i <= 10; i++)
sum = 0; for (int i = 35; i <= 45; i++)
sum += i; System.out.println("Sum from 35 to 45 is " + sum);
Solution
5
public static int sum(int i1, int i2) { int sum = 0; for (int i = i1; i <= i2; i++) sum += i; return sum;
else result = num2;
return result; }
parameter list
return value
method signature
Invoke a method
int z = max(x, y);
actual parameters (arguments)
Formal Parameters 9
parameter list
return value
method signature
Invoke a method
int z = max(x, y);
actual parameters (arguments)

Java基础第5章课件

Java基础第5章课件
• 只创建了一个TicketWindow对象,然后创建了四个线程,在每个 线程上都去调用这个TicketWindow对象中的run()方法,这样就可 以确保四个线程访问的是同一个tickets变量,共享100张车票。
5.2 线程的创建
让IT教学更简单,让IT学习更有效
• 5.2.3 两种实现多线程方式的对比分析
让IT教学更简单,让IT学习更有效
第五章 多线程
• 多线程的概念 • 线程创建的两种方式 • 线程的调度 • 线程的安全和同步
• 线程的生命周期及状态转换
• 多线程通信
目录
线程概述
让IT教学更简单,让IT学习更有效
线程的创建 线程的生命周期及状态转换
线程的调度
多线程同步 多线程通信
5.1 线程概述
getName()可以获取到线程的名称。
5.2 线程的创建
让IT教学更简单,让IT学习更有效
• 5.2.3 两种实现多线程方式的对比分析
– 通过继承Thread类的方式来实现多线程的创建
5.2 线程的创建
– 运行结果
让IT教学更简单,让IT学习更有效
• 5.2.3 两种实现多线程方式的对比分析
– 可以看出,每张票都被打印了四次。出现这样现象的原因是四个 线程没有共享100张票,而是各自出售了100张票。在程序中创建 了四个TicketWindow对象,就等于创建了四个售票程序,每个程 序中都有100张票,每个线程在独立地处理各自的资源。
创建一个线程对象后,该线程对象就处于新建状态,此时它不能 运行,和其它Java对象一样,仅仅由Java虚拟机为其分配了内存,没 有表现出任何线程的动态特征。
• 2、就绪状态(Runnable)

Java语言程序设计第五章PPT教学课件

Java语言程序设计第五章PPT教学课件

voidpf5u(b)l;icpuvobildicfv3o( i)d{f5}( ){
}
public vpoSuiydbslfti4ecm(c)l.ao{sus}t.Tpersitn{tln("我就对f5( )方法感兴趣!");
public} voidpfu5b(l)ic{st}atic void main(String[ ] args) {
作用二:继承时,可用来修饰父类方法,防止 子类同名方法发生重写。
public class Mammal {
public final void call( ) {
System.out.println("哺乳动物会叫。");
}
public class Cat extend Mammal {
}
public void call() { //编译时发生错误
}
Line l = new Line();
public class Line implemCiercnltescS=hanpeew{Circle();
6
6
接口
演示接口
当所有方法均为抽象的,即没有具体实现时, 可使用interface关键字定义为接口,它是某个 事物对外提供的一些功能的申明 。
接口中的方法均为抽象声明的,及没有具体实 现;接口中的属性均为静态常量。
使用implements关键字来实现接口,可以利用 接口实现多态。
7
7
接口
接口中的方法不能有任何方法体实现。
声明抽象类语法:
– abstract class{…… }
应用场合:父类中的某些抽象方法不包含任何 逻辑,子类可以通过方法重写的机制提供这种 抽象方法的实现细节。

Java编程基础及应用(第2版)教学课件第5章 类和对象

Java编程基础及应用(第2版)教学课件第5章 类和对象
变量定义及初始化;〃声明成员变量 [方法修饰字]返回值的数据类型方法名称(参数1,参数 2...)
{ 程序语句! 〃定义成员方法 [return表达式];
} }
7
§5.1.2 类的定义
说明: (1) class关键字,用于定义类。“class类名”是类的声明 部分, 类名必须是合法的Java标识符,通常第一个字母大写 ,能体现类的功能和作用。 (2 )类的修饰字有:[public] > [abstract | final] 、缺省方式 为 friendly。其中,abstract类不能直接产生属于这个类的对 象;final类不能被其他任何类所继承;public类不但可以被同 一程序包中的其他类使用,别的程序包中的类也可以使用; friendly(缺省)类只能被本包中的其他类使用。
一个对象 就要为对象的各个成员变量分配存 储空间,可以通过 引用对象的成员来使用对 象。 -对象数据成员的引用方式如下:
-对象成员方法的引用方式如下:
22
§5.1.3 对象的创建、使用及清除
例5.3定义DogTestl类,创建该类对象dog,使用该对象 并输
岀相应信息。
程序运行结果: dog阿黄的年龄:3,毛发的颜色:黄色 狗在汪汪叫…
(4) 方法不能嵌套,即不能在方法中再声明其他方法。 (5) 同一个类中的方法可以访问该类的成员变量。 (6) 一个类的方法只能访问自己的局部变量。
17
§5.1.2 类的定义
-例5.1定义Dog类,并设置其属性和方法。
在上面的程序屮,Dog类定义了name、age和color三 个属性,分别表示狗的姓名、年龄和毛发颜色,然后 定义了一个bark()方法,表明狗有汪汪叫的能力。
返回值的 类型和访问限制;方法体由括号内的声明部分和语 句部分组成,描述方法的功能。

Java语言程序设计基础教程课件(第5章)

Java语言程序设计基础教程课件(第5章)

2.String类常用方法:
public int length() public char charAt(int index) public boolean equals(Object anObject) Int compareTo(String anotherString) String concat(String str) byte[] getBytes()
class ep { P104 例5-1 int x = 1; } class ep5_1 { public static void main(String args[]) { ep One = new ep(); ep Two = new ep(); String a1, a2, a3 = "abc", a4 = "abc"; a1 = new String("abc"); a2 = new String("abc"); System.out.println("a1.equals(a2)是" + (a1.equals(a2))); System.out.println("a1==a2是" + (a1 == a2)); System.out.println("a1.equals(a3)是" + (a1.equals(a3))); System.out.println("a1==a3是" + (a1 == a3)); System.out.println("a3.equals(a4)是" + (a3.equals(a4))); System.out.println("a3==a4是" + (a3 == a4)); System.out.println("One.equals(Two)是" + (One.equals(Two))); System.out.println("One==Two是" + (One == Two)); One = Two; System.out.println("赋值后,One.equals(Two)是" + (One.equals(Two))); System.out.println("赋值后,One==Two是" + (One == Two)); } }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{ return(x+y+z); }
public static void main(String[] args) {
System.out.println("Sum is:"+add(8.5,2.3));
} } 11.10.2020
5
保护访问控制符protected说明
➢用protected修辞的数据成员和方法可以被 该类自身、同一包中的其他类以及其他 包中的该类的子类
➢其主要作用就是允许其他包中的该类的 子类来访问父类的特定属性
11.10.2020
6
缺省访问控制符示例
➢ 位于default包中的Human.java
– (1)以相似的方式处理相近概念
– (2)使程序更易于扩展
Java中提供两种多态机制:
– 重载:同一类中定义了多个同名而不同内容的 成员方法
– 覆盖:子类可以重新定义与父类同名的成员方
法,使父类方法在子类对象中不复存在。
11.10.2020
11
重载示例
重载的方法主要通过形式参数列表中参数的个数、参数的数
第7章 Java 语言类的特性
1 类的私有成员与公共成员及访问控制 2 多态机制——方法的重载 3 构造方法 4 类的静态成员 5 对象的应用
11.10.2020
1
1 访问控制

数据成员与方法
Public
Public
所有类
缺省
包中类(含当前类)
Protected
包中类(含当前 包中类(含当前类) 类),所有子类
Human man=new Human();
System.out.println();
System.out.println (man.age);
System.out.println (man.showname());
}
11}.10.2020
7
缺省访问控制符示说明
➢使用缺省访问控制符的类、数据成员及 成员方法只能被处于同一个包中的其它 类访问
imnds Human{
public static void main(String[] args) {
test man=new test();
System.out.println(man.showname());
System.out.println ();
11.10.2020
4
保护访问控制符protected示例
package human; public class Human{
protected String name="Tom"; public int age=24; public String showname(){return name;} }
➢缺省访问控制符即无访问控制符,而不 是“default”或“friendly”
11.10.2020
8
私有访问控制符private示例
class Human{ private String name="Tom"; public int age=24; String showname() { name="John"; return name; }
➢ 位于default包中的test.java
import human.*;
public class test{
public static void main(String[] args) {
Human man=new Human();
System.out.println();
System.out.println (man.age);
class Human{ String name="Tom"; int age=24; String showname(){return name;}
}
➢ 位于default包中的test.java
public class test{
public static void main(String[] args) {
缺省(friendly) 包中类(含当前类) 包中类(含当前类)
private
当前类本身
当前类本身
11.10.2020
2
公共访问控制符public示例
➢ 位于包human中的Human.java package human;
public class Human{ public String name="Tom"; public int age=24; public String showname(){return name;} }
}
}11.10.2020
9
私有访问控制符private说明
➢用private修辞的数据成员和方法只能被 该类自身访问和修改
➢不能被任何其他类(包括该类的子类) 访问和引用
➢private为数据成员和方法提供最高级别 的保护
11.10.2020
10
2 多态机制
多态是指一个程序中同名的不同方法共存 的情况。 多态的作用主要有两个方面:
}
public class test{
public static void main(String[] args) {
Human man=new Human();
System.out.println();
System.out.println (man.showname());
System.out.println (man.age);
据类型和参数的顺序等方面的不同来区分,跟返回值类型和 修饰符无关
public class test
{ static int add(int a,int b)
{ return(a+b);}
static double add(double x,double y)
{return(x+y); }
static double add(double x,double y, double z)
System.out.println (man.showname());
11.1}0.2020
3
}
公共访问控制符public说明
➢处于同一个包中的类不用说明即可相互 访问
➢处于不同包中的类,一般说来,他们之 间是不可见的,也不能互相引用
➢但是,当一个类被声明为public时,只要 在其他包的程序中使用import语句引入 这个public类,就可访问和引用这个类
相关文档
最新文档