Java语言程序设计(一)串讲.ppt_第1页
Java语言程序设计(一)串讲.ppt_第2页
Java语言程序设计(一)串讲.ppt_第3页
Java语言程序设计(一)串讲.ppt_第4页
Java语言程序设计(一)串讲.ppt_第5页
已阅读5页,还剩354页未读 继续免费阅读

下载本文档

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

文档简介

1、Java 语言程序设计(一)讲义,更多优质自考资料尽在百度贴吧自考乐园俱乐部(,目录,:第1、2章Java基础知识 :第3章面向对象编程基础 :第4章数组与字符串 :第5 、6章图形界面设计 :第7章图形图象与多媒体 :第8章多线成 :第9章输入输出流 :第10章网络与数据库编程基础 :考情分析(即应试指导) :附自考乐园诚与天下自考人共勉,基础知识部分重点: 应用程序和小应用程序的基础知识 程序的开发过程 基本数据类型 算术运算、关系运算、逻辑运算、自增自减运算。 JAVA语句,Java语言基础知识,一、什么是程序 生活中的程序: 程序一词来自生活,通常指完成某些事务的一种既定方式和过程 在

2、日常生活中,可以将程序看成对一系列动作的执行过程的描述 计算机程序: 为了让计算机执行某些操作或解决某个问题而编写的一系列有序 指令的集合.,Java语言基础知识,二、为什么学习JAVA Java是Sun Microsystems于1995年推出的高级编程语言 Java 领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术 三、JAVA能作什么 开发桌面应用程序 银行软件、商场结算软件 开发面向Internet的应用程序 网上数码商城、阿里巴巴、易趣网,四、JAVA的特点 1、强类型 2、编译和解释 3、自动无用内存回收功能 4、面向对象 5、与平台无

3、关 6、安全性 7、分布式计算 8、多线程,五、JAVA程序的开发过程:三步走,1、编写源程序,2、编译源程序,3、运行,第一个Java程序,public class HelloWorld public static void main(String args) System.out.println(“你好! JAVA课程); ,public class HelloAccp public static void main(String args) System.out.println(“你好! JAVA课程); ,关键字高亮显示,类名与文件名完全一样,main方法是Java程序执行的入口点,和

4、一一对应,缺一不可,main方法四要素必不可少,从控制台输出信息,变量1、概念:是存储数据的一个基本单元。2、变量的声明和赋值,数据类型 变量名 = 数值;,数据类型 变量名; 变量名 = 数值;,第一步:声明一个变量 第二步:赋值 第三步:使用变量,根据类型开辟空间,将数据存入空间,取出数据使用,使用变量的步骤:,数据属于不同类别,非洲,The quick brown fox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,陈扬,char,非数值,数值,整型,int,double,非整型,String,Java数据类型,数据类型,数

5、据类型说明,数据类型说明,1、字母 2、下划线_ 3、$ 符号,首字母,任意多的: 1、数字 2、字母 3、下划线_ 4、$ 符号,其余部分,变 量 名,Java语言中,变量命名要符合一定规则,变量命名规范: 简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的 首字母大写。例如:myScore,变量命名规则,变量名 表达式;,赋值运算符,=,Z = ( X * 2 ) + ( 5 Y ),表达式,表达式,表达式,赋值运算符,表达式举例,算术运算符,基本的算术运算,比较高低、大小、长短 张三的考试成绩是否比李四高 大象是否比乌龟更长寿 篮球跟地球一样大吗,如何比较?,使用关系运

6、算符可以比较高低、大小、长短,?,使用关系运算符,什么是关系运算符,常用的关系运算符有哪些: ,=,=,大象的寿命 李四的成绩 假 令狐冲每次考试成绩 = 90分 真 篮球的大小 = 地球的大小 假,由此看出,关系运算符的作用:用来做比较运算 比较后结果:boolean类型,在某种条件下,系统自动完成类型转换 两种类型兼容 例如:int 和 double 兼容 目标类型大于源类型 例如:double 型 大于 int 型 对于表达式 如果一个操作数为double型,则整个表达式可提升为double型,自动类型转换-类型提升规则,int before = 20; /apple笔记本市场份额 do

7、uble rise = 9.8; /增长的份额 int now = before + rise; /现在的份额,int now = before + (int)rise;,去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额?,编译出错:不能完成 自动类型转换,(类型名)表达式,强制类型转换,int b = (int)10.2; double a = 10; int c = (int)a;,强制类型转换,更改为,强制类型转换,什么是if条件结构,if条件结构是根据条件判断之后再做处理,if ( 条件 ) /语句 ,if ( java成绩 90 ) 可以快速上岗

8、; ,结合问题2,基本的if条件结构,如何使用if条件结构,3、小明Java成绩大于90分,而且音乐成绩大于80分,父母奖励他;或者Java成绩等于100分,音乐成绩大于70分,父母也可以奖励他,分析:怎样把多个条件连接起来?,使用逻辑运算符,如何使用if条件结构,if-else条件结构,if ( 条件 ) /语句1 else /语句2 ,if ( 小明考试成绩 90 ) 父母奖励小明; else 父母罚他不许玩电脑; ,结合问题4,多重if结构就是在else部分中还包含其他if块,什么是多重if结构,if ( 条件 ) /语句 else if ( 条件 ) /语句 else /语句 ,可以有

9、多个,可以省略,多重if结构,switch (表达式) case 常量 1: 语句; break; case 常量 2: 语句; break; default: 语句; ,switch结构,什么是switch结构,计算表达式的值,如果等于常量1,如果等于常量2,如果没有找到匹配的值,常见错误,int mingCi = 1; switch (mingCi) case 1: System.out.println(出任武林盟主); case 2: System.out.println(出任武当掌门); case 3: System.out.println(出任峨嵋掌门); default: Syst

10、em.out.println(被逐出师门); ,输出结果是什么?,如果需要每个case执行完后跳出, 在每个case后不要忘记写break;,常见错误,int mingCi = 1; switch (mingCi) case 1: System.out.println(出任武林盟主); case 2: System.out.println(出任武当掌门); case 2: System.out.println(出任峨嵋掌门); default: System.out.println(被逐出师门); ,case后面的常量必须各不相同,代码错误,常见错误,String day = 星期一; swi

11、tch (day) case 星期一: System.out.println(星期一:青菜 ); break; case 星期二: System.out.println(星期二:鱼 ); break; default: ,switch后面小括号中表达式的值必须是整型或字符型,代码错误,比较switch和多重if结构,相同点 不同点 switch 多重if,都可以实现多分支结构,只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断,处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况,什么是循环:,打印50份试卷,10000米赛跑,旋转的车轮,循环结构的特点,锲而不

12、舍地学习,生活中的循环,什么是while循环,特点:先判断,再执行 步骤:使用while循环的步骤 1、分析循环条件和循环操作 2、套用while语法写出代码 3、检查循环是否能够退出,while ( 循环条件 ) 循环操作 ,符合条件,循环继续执行;否则,循环退出,循环中被重复执行的操作,int i = 1; while ( i = 30 ) System.out.println(我能行!); i +; ,编码规范:缩进、换行,while循环常见问题,/* 打印4次“欢迎新同学” */ public static void main(String args) int i = 0; while

13、 (i 4 ) System.out.println(“欢迎新同学); i + ; ,永远都不会退出的循环称为死循环,循环一直执行,不会退出,哪里出错了?,while循环常见问题,/* 打印4次“欢迎新同学” */ public static void main(String args) int i= 1; while ( i 4 ) System.out.println(“欢迎新同学); i +; ,i = 4,只打印了三次 ,哪里出错了?,注意检查循环次数是否满足需求,while循环常见问题,/* 打印4次“欢迎新同学” */ public static void main(String

14、args) int i = 0; while ( i 5 ) System.out.println(“欢迎新同学); i +; ,注意:如果一开始条件就不满足,while循环一次都不执行,i 5,一次都没有打印,哪里出错了?,什么是do-while循环,do 循环操作 while ( 循环条件 );,先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出,特点:先执行,再判断,while循环和do-while循环的区别 语法不同 初始情况不满足循环条件时 while循环一次都不会执行 do-while循环不管任何情况都至少执行一次,do 循环操作 while( 循环条件 );,while

15、( 循环条件 ) 循环操作 ,先判断,再执行,先执行,再判断,比较while和do-while,for循环的语法和执行顺序,什么是for循环,for( ; ; ) ; ,条件为true,循环体被执行,for ( int i = 0 ; i 100 ; i+ ) System.out.println(我最棒); ,代码规范:格式对齐、代码的缩进,表达式1,表达式2,表达式3,循环操作,参数初始化,条件判断,更新循环变量,1,2,4,3,for循环常见问题,for(;i10;i+) System.out.println(这是 +i); ,int i=0;,编译错误: 变量 i 没有初始化,for(

16、 ; ; ) ; ,不能省略,可省略,表达式1省略,循环变量 的初始值在for语句之前 由赋值语句取得,for循环常见问题,for(int i=0;i+) System.out.println(这是 +i); ,编译正确,但是缺少 循环条件,造成死循环,for循环常见问题,for(int i=0;i10;) System.out.println(这是 +i); ,i+;,省略表达式3,在循环体内应设法改 变循环变量的值以结束循环,编译通过,但是循环变量的值无变化,造成死循环,for循环常见问题,for(;) System.out.println(这是测试); ,表达式全省略,无条件判断,循环变

17、量无改变, 应在循环体内设法结束循环,否则会造成死循环,死循环,为什么需要break语句,int i = 2; switch(i) case 1: System.out.println(星期一); break; case 2: System.out.println(星期二); break; /其他语句,遇到break,立即跳出switch语句,回顾break用于switch语句,描述4000米长跑比赛,for (int i = 0; i10; i+) 跑400米; ,if(不能坚持) break; /退出比赛 ,第8圈, 快累死了 我要退出,什么是break语句,break:改变程序控制流 用

18、于do-while、while、for中时,可跳出循环而执行循环后面的语句,while() break; ,跳出整个循环,break通常在循环中与条件语句一起使用,什么是continue语句,continue :只能用在循环里 continue 作用:跳过循环体中剩余的语句而执行下一次循环,while() continue; ,继续下一次循环,通常与条件语句一起使用,加速循环,for(int i = 0; i10;i+) 跑400米; if(!口渴) continue; /不喝水,继续跑 接过水壶,喝水; ,示例,循环结构总结,到目前为止所学的循环结构有哪些?,需要多次重复执行一个或多个任务的

19、问题考虑使用 循环来解决,循环总结,int i=0; int sum=0; while( i10 ) sum=sum+i; i+; ,int i=0; int sum=0; do sum=sum+i; i+; while(i10);,int sum=0; for(int i=0;i10;i+) sum=sum+i; ,1,2,3,4,1,2,3,4,1,2,3,4,while和for相同,先进行判断,后执行循环体内容 do-while是先执行,后判断,至少执行一次,指出各种循环结构的执行顺序,控制流语句小结,顺序结构:语句顺序执行 分支结构:语句在满足条件下执行 if, if-else, if

20、-else if-else, switch 循环结构:语句在满足条件下循环执行多次 while, do-while, for 跳转语句 break, continue,包,包解决类的同名问题,允许类组成较小的单元(类似 文件夹),易于找到和使用相 应的文件,防止命名冲突,更好的保护类、数 据和方法,如何创建包,package s1java.sg.chap7 ; public class AccpSchool public String toString() ,包名,使用package声明包, 以分号结尾,如果有包的声明,一定 作为Java源代码的第一条 语句,包命名规范,包名由小写字母组成,不

21、能以圆点开头或结尾 自己设定的包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名 自己设定的包名部分依不同机构各自内部的规范不同而不同,package mypackage;,package net.javagroup.mypackage;,package net.javagroup.research.powerproject;,部门名,项目名,package .mypackage; ,如何导入包,为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类,import java.util.*; /导入java.util包中所有类 import java.lan

22、g.*; /导入java.lang包中所有类,关键字import并不陌生,import 包名. 类名;,1、系统包(eg:java.lang) 2、自定义包:net.javagroup,*: 指包中的所有类 HelloSchool:指包中的HelloSchool类,什么是异常,异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序,异常!,程序运行,程序中断运行,Java 语言程序设计(一)串讲,主讲人:周立民 更多优质自考资料尽在百度贴吧自考乐园俱乐部(,面向对象编程基础,本部分重点 JAVA语言的类 对象 继承 多态 接口 JAVA小应用程序基础,世界是由什么组成的?,面向

23、对象编程基础,对象的特征属性,属性对象具有的各种特征 每个对象的每个属性都拥有特定值 例如:王小红和朱小雨的体重不一样,60kg,王小红,属性,35岁,对象的特征方法,方法对象执行的操作,打单,收银,方法,刷卡,封装,对象同时具有属性和方法两项特性 对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者相辅相承, 不能分割,谁看见过只有“完好的零件和颜色”而不能开动的汽车?,类:从对象抽取出类,顾客类 轿车类 ,类是模子,确定对象将会拥有的特征(属性)和行为(方法),类是对象的类型 不同于int类型:具有方法,各种口味的球状冰淇淋,球状冰淇淋模子,类和对象有什么区别呢?,类是抽象的概念,

24、仅仅是模板,比如说:“人” 对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”,小布什,普京,克林顿,Java 是面向对象的语言,所有Java程序都以类class为组织单元 关键字class定义自定义的数据类型,public class HelloWorld public static void main(String args) System.out.println(使用Java语言理解程序逻辑); ,Java类模板,类将现实世界中的概念模拟到计算机程序中,public class 类名 /定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; 属性n的类型 属性n; /定义方

25、法部分 方法1; 方法2; 方法m; ,定义类,定义一个类的步骤 1、定义类名 2、编写类的属性 3、编写类的方法,常见错误,public class .Book String bookName; String authorName; int pageNum; boolean isAvailable; ,类命名规则: 1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这样) 3、不能包含空格或“.”号,代码错误,如何创建和使用对象,使用对象的步骤: 使用new创建类的一个对象 使用对象:使用“.”进行以下操作 给类的属性赋值:对象名.属性 调用类的方法:对象名

26、.方法名(),School center = new School();,center.schoolName = “北京大学; /给属性赋值 center.toString(); /调用类的方法,该方法中的操作将被执行,面向对象(OO)的优点,便于程序模拟现实世界中的实体 用“类”表示实体的特征和行为 隐藏细节 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注内部细节如何实现 可重用 可以通过类的模板,创建多个类的对象,数据类型总结,int double char,String 使用class定义的类型 Student Teacher School ,基本数据类型,引用数据类

27、型,数据类型使用区别,类的方法,写出狮子对象的“跑”方法 写出狮子对象的“叫”方法,电动玩具狮子 属性: 颜色:黄色 行为: 跑 叫,按此按钮, 狮子开始跑,如何定义类的方法,类的方法定义类的某种行为(或功能),方法的名称,方法的主体,方法返回的数据类型,定义类的方法,public 返回值类型 方法名() /这里编写方法的主体 ,步骤一:定义方法名以及返回值,步骤二:编写方法体,方法的命名,如何给方法起名字? 必须以字母、_或开头 可以包括数字,但不能以它开头 遵循的命名规范 通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写,方法的返回值,两种情况 如果

28、方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型 如果方法没有返回值,返回类型为void,public class Student String name = 张三; public void getName() return name; ,返回类型要匹配,return 表达式;,编译错误,常见错误,public class School public static void main(String args) return “北京大学! ; ,返回类型是void 方法中不能有返回值,常见错误,public class Student public double

29、 getInfo() double weight = 95.5; double height = 1.69; return weight, height; ,方法至多可以返回一个值,不能返回多个值,方法调用,方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果 方法调用:执行方法中包含的语句,对象名.方法名();,方法调用小结,方法之间允许相互调用,不需要知道方法的具体实现,提高了效率,变量作用域,变量声明的位置决定变量作用域 变量作用域确定可在程序中按变量名访问该变量的区域, for(int i = 0, a = 0; i 4; i+) a+; System.out.println(a

30、); ,a的作用域仅在for循环中,代码错误,变量作用域,变量1类型 变量1; 变量2类型 变量2; 变量3类型 变量3;,public 返回类型 方法1() 变量4类型 变量4; public 返回类型 方法2() 变量5类型 变量5; ,public class AutoLion,AutoLion类的方法 别的类的方法,谁能使用这些变量?,方法1,方法2,成员变量,局部变量,局部变量,面向对象的编程思维,ScoreCalc类 和 Test类,public static void main(String args) Scanner input = new Scanner(System.in)

31、; System.out.print(请输入Java成绩:); int java = input.nextInt(); /*计算并显示输出*/ int total = java + c + db; double avg = total / 3; System.out.print(总成绩: + total); System.out.print(n平均分: + avg); ,一次还可以接受,如果 还要再执行这个功能, 难道还要重复再写?,类的方法实现某个特定的功能, 别的类不需要知道它如何实现! 知道了实现此功能的类和它的方法名, 就可以直接调用了,不用重复写代码!,什么是封装,public cl

32、ass Teacher2 private String name; / 教员姓名 / 返回教员姓名 public String getName() return name; / 设定教员姓名 public void setName(String name) = name; ,封装,就是隐藏实现细节 将属性私有化,提供公有方法访问私有属性 通过这些公有方法访问私有属性,Teacher2 teacher = new Teacher2(); teacher.setName (李芳); String tName = teacher.getName();,通过setter、gette

33、r方法访问name属性,this代表当前类的实例,82,如何实现封装,封装的实现: 1、修改属性的可见性来限制对属性的访问 2、为每个属性创建一对赋值(setter)方法和取值(getter) 方法,用于对这些属性的访问 3、在setter和getter方法中,加入对属性的存取限制,public class Teacher3 private String name; / 教员姓名 private int age; /年龄 public int getAge() return age; public void setAge(int age) if (age22) System.out.print

34、ln(错误!最小年龄应为22岁!); this.age = 22; /如果不符合年龄要求,则赋予默认值 else this.age = age; /此处省略对name属性的setter、getter方法 ,1,2,3,83,如何实现封装,public class Teacher3Test public static void main(String args) AccpTeacher3 teacher = new AccpTeacher3(); teacher.setName (李芳); teacher.setAge(10); System.out.println(rod

35、uction(); ,使用封装,增加了数据访问限制,增强了程序的可维护性,错误!最小年龄应为22岁! 大家好!我是李芳,我今年22岁,测试类通过调用setter方法,为对象的各个属性赋值,84,什么是构造方法,构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值 构造方法必须满足以下语法规则: 1、方法名与类名相同 2、没有返回类型,public class Teacher5 private String name; / 教员姓名 / 构造方法 public Teacher5() name = 无名氏; ,Public Teacher5Test public static void m

36、ain(String args) Teacher5 teacher = new Teacher5(); ,使用new关键字调用构造方法,85,带参数的构造方法,通过带参数的构造方法,显式地为实例变量赋予初始值,public class Teacher6 private String name; / 教员姓名 private int age; / 年龄 private String education; / 学历 private String position; / 职位 / 带参数的构造方法 Public Teacher6(String pName,int pAge,String pEduca

37、tion,String pPosition) name = pName; age = pAge; / 可以增加对age等属性的存取限制条件 education = pEducation; position = pPosition; public String introduction() return 大家好!我是 + name + ,我今年 + age + 岁,学历 + education + ,目前职位是+position; ,86,带参数的构造方法,通过调用带参数的构造方法,简化对象初始化的代码,public class Teacher6Test public static void m

38、ain(String args) Teacher6 teacher = new Teacher6(李芳, 23, 本科, 咨询师); System.out.println(roduction(); ,创建对象时,一并完成了对象成员的初始化工作,大家好!我是李芳,我今年23岁,学历本科,目前职位是咨询师,87,生活中的方法重载,类,方法,方法参数,方法实现,司机,轿车,巴士,火车,驾驶,启动、行驶、,等待乘客上车、启动、 行驶、到站停车、,正点发车、行驶、 到站停车、,如果用代码实现,我们需要三个方法,这些方法的方法名称相同,参数类型不同,88,方法重载必须满足的条件,重载

39、方法必须满足以下条件: 方法名相同。 方法的参数类型、个数、顺序至少有一项不相同。 方法的返回类型可以不相同。 方法的修饰符可以不相同。 调用重载方法时,Java 使用参数的类型和数量决定实际调用重载方法的哪个版本。,89,方法重载的代码示例 1,方法重载并不陌生 java.io.PrintStream类的println方法能够打印数据并换行,根据数据类型的不同, 有多种实现方式,public class Test public static void main(String args) int i = 0; char c = z; String str = hello; System.out

40、.println(i); System.out.println(c); System.out.println(str); ,PrintStream,println(int) println(char) println(String) ,方法名相同,参数类型不同,调用不同的println方法,方法重载,90,生活中的继承,生活中,继承的例子随处可见,动物,食草动物,食肉动物,谁是父类? 谁是子类? 能说出继承的特点吗?,继承需要符合的关系:is-a,父类更通用、子类更具体,91,生活中的继承,子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性,巴士是汽车吗? 卡车是汽车吗? 出租车是汽

41、车吗?,汽车,92,为什么要使用继承 ?,使用继承,可以有效实现代码复用,93,如何实现继承,在Java语言中,用extends关键字来表示一个类继承了另一个类,例如:,public class JavaTeacher2 extends Teacher /其余代码省略 ,在父类中只定义一些通用的属性与方法,例如:,public class Teacher private String name; / 教员姓名 private String school; / 所在中心 public AccpTeacher(String myName, String mySchool) /初始化属性值 publ

42、ic void giveLesson() /授课方法的具体实现 public void introduction() /自我介绍方法的具体实现 ,94,如何实现继承,子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法,public class Teacher private String name; / 教员姓名 private String school;/ 所在中心 public AccpTeacher (String myName, String mySchool) /初始化属性值 public void giveLesson() /授课方法的具体实现 public void

43、introduction() /自我介绍方法的具体实现 ,public class JavaTeacher2 extends Teacher public AccpJavaTeacher2(String myName, String mySchool) super(myName, mySchool); public void giveLesson() System.out.println(启动Eclipse); super.giveLesson(); ,由于giveLesson()方法与父类的实现有所不同,因此重写了该方法,方法重写:子类和父类的方法具有相同的名称、参数列表、返回类型,父类中的

44、属性和方法可以被子类继承,95,public class JavaTeacher2 extends Teacher Public JavaTeacher2(String myName, String mySchool) super(myName, mySchool); ,如何实现继承,子类的构造方法中,通过super关键字调用父类的构造方法,方法重写后,通过super关键字调用父类的方法,public class JavaTeacher2 extends Teacher public void giveLesson() System.out.println(启动 Eclipse); super

45、.giveLesson(); ,通过调用父类的构造方法,完成对属性值的初始化,96,一切类的“祖先”Object,在Java 中,所有的Java类都直接或间接地继承了java.lang.Object类,public class MyObject / ,public class MyObect extends Object / ,在Eclipse中调用MyObject对象的成员,会自动弹出继承自Object的所有方法,97,什么是多态,简单来说,多态是具有表现多种形态的能力的特征 同一个实现接口,使用不同的实例而执行不同操作,彩色打印机,打印机,黑白打印机,打印效果:彩色,打印效果:黑白,打印,

46、打印,98,public class Teacher public void giveLesson() System.out.println(知识点讲解); System.out.println(总结提问); ,如何实现多态,1、子类重写父类的方法 2、编写方法时,使用父类定义的方法 3、运行时,根据实际创建的对象类型动态决定使用哪个方法,99,什么是Java接口,一个Java接口是一些方法特征的集合,但没有方法的实现,public interface PCI public void start(); public void stop();,class SoundCard implements

47、 PCI public void start() System.out.println(Du du.); public void stop() System.out.println(Sound stop!); ,Java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为,这是Java接口,相当于主板上的PCI插槽的规范,class NetworkCard implements PCI public void start() System.out.println(Send.); public void stop() System.out.println(Network stop!); ,

48、100,什么是Java接口,public class Assembler public static void main(String args) PCI nc = new NetworkCard(); PCI sc = new SoundCard(); nc.start(); sc.start(); ,可以使用Java接口标识类型 运行时,根据实际创建的对象类型调用相应的方法实现,Du du. Send.,控制台输出,2,1,101,多态与接口的区别,相同点:都是为了实现程序的可扩展和可维护性. 不同点: 多态:指实现同一个接口,使用不同的实例而执行不同的操作,必须存在继承关系. 接口:存在

49、共同的方法特征,但对方法有各自不同的实现,不必存在继承关系.,102,this 关键字,用于任何实例方法内,指向当前对象 this 的值指向对其调用当前方法的对象 this 关键字可在需要当前类类型的对象引用时使用,this 关键字的示例,class Pixel int x; int y; void init (int x, int y) this.x = x; this.y = y; public static void main (String args) Pixel p = new Pixel(); p.init (4,3); ,104,什么是常量,常量是一种标识符,它的值在运行期间恒定

50、不变 常量标识符在程序中只能被引用,而不能被重新赋值,105,Java中常量的定义规则,加入final 关键字代表常量, 加入static 关键字代表类变量 尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串,public class Student public static final int FEMALE = 1; /代表女性 public static final int MALE = 2; /代表男性 private int sex; /性别 public void setSex(int sex) if(sex=FEMALE) System.out.println(这是

51、一名女学生); else if(sex = MALE) System.out.println(这是一名男学生); this.sex = sex; ,106,在Java接口中声明常量,在Java 接口中声明的变量在编译时会自动加上static final的修饰符,即声明为常量, 因而Java接口通常是存放常量的最佳地点,public interface SchoolType public static final String school1 = “国立大学; public static final String school2 = “民办大学; ,public interface School

52、Type String school1 = “国立大学; String school2= “民办大学; ,等同于,107,OO思想总结,108,访问修饰符,信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因 信息隐藏的原因包括: 对任何实现细节所作的更改不会影响使用该类的代码 防止用户意外删除数据 此类易于使用,访问修饰符,109,访问修饰符,110,访问修饰符,访问修饰符可访问性,111,方法修饰符,112,static 修饰符,static修饰符修饰的方法叫静态方法 目的 使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法,113,static 修饰符,调用静态

53、方法的语法为: classname.methodname( );,114,final 修饰符,115,abstract 修饰符,由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类 抽象方法必须声明在抽象类中 抽象方法语法: abstract type method_name(parameter_list); 声明抽象类语法: abstract class 使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节,116,abstract 修饰符,抽象类可以具有指向子类对象的对象引用,117,JAVA小应用程序-Java Applet,它是

54、嵌入在Web页上供浏览器运行的程序,也可放在服务器上供客户端下载使用, 每个小应用程序继承java.applet.Applet 一、小应用程序建立到运行的4个步骤: 1、用Java语言编写小应用程序的源程序。 2、小应用程序翻译成字节码。 3、将小应用程序的字节码嵌入到Web页中,设计一个指定小应用程序的HTML文件 使用标记 4、在支持Java的浏览器上运行。 二、熟悉APPLET类的基本方法作用。,什么是异常处理,Java编程语言使用异常处理机制为程序提供了错误处理的能力,程序中预先想好了 对付异常的处理办法,异常!,程序运行,处理完毕,程序继续运行,对异常进行处理,Java中如何进行异常

55、处理,Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws,捕获异常,catch,try,finally,执行可能产生 异常的代码,捕获异常,无论是否发生异常, 代码总能执行,手动抛出异常,抛出异常,throw,声明异常,声明方法可能要 抛出的各种异常,throws,Java 语言程序设计(一)串讲,主讲人:周立民 更多优质自考资料尽在百度贴吧自考乐园俱乐部(,第四章 数组和字符串,本章重点 数组的应用 字符串常用方法 字符串与基本类型数据之间的转换,数组定义,数组是一个变量,存储相同数据类型的一组数据,int类型,元素,博物架名,标识符,

56、古玩,物品编号,元素下标,物品类型,元素类型,数据,使用数组四步走: 1、声明数组 2、分配空间 3、赋值 4、处理数据,如何使用数组,int a;,a = new int5;,a 0 = 8;,a 0 = a0 * 10;,a,8,80,a0,数组的声明,int score1; /Java成绩 int score2 ; /C#成绩 String name; /学生姓名,声明数组: 告诉计算机数据类型是什么,1,数据类型 数组名 ;,数据类型 数组名 ;,数组初始化,score = new int30; avgAge = new int6; name = new String30;,30,分配

57、空间: 告诉计算机分配几个格子,数组属于引用数据类型,2,数据类型 数组名 = new 数据类型大小 ;,声明数组并分配空间,数组赋值,score0 = 89; score1 = 79; score2 = 76; ,赋值:向分配的格子里放数据,30,score0,score1,score2,89,79,76,太麻烦!能不能一起赋值?,3,数组赋值,方法1: 边声明边赋值 方法2:动态地从键盘录入信息并赋值,解决,int score = 89, 79, 76;,Scanner input = new Scanner(System.in); for(int i = 0; i 30; i +) scorei = input.

温馨提示

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

评论

0/150

提交评论