《最新Java语言程序设计(一)串讲(共356张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新Java语言程序设计(一)串讲(共356张PPT课件).pptx(356页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java 语言程序设计语言程序设计(chn x sh j)(一)(一)讲义讲义 第一页,共三百五十六页。目录目录(ml):第:第1、2章章Java基础知识基础知识:第:第3章面向对象编程基础章面向对象编程基础:第:第4章数组与字符串章数组与字符串:第:第5 、6章图形界面设计章图形界面设计:第:第7章图形图象与多媒体章图形图象与多媒体:第:第8章多线成章多线成:第:第9章输入输出流章输入输出流:第:第10章网络与数据库编程基础章网络与数据库编程基础:考情分析(即应试指导:考情分析(即应试指导(zhdo)):附自考乐园诚与天下自考人共勉:附自考乐园诚与天下自考人共勉第二页,共三百五十六页。 基础
2、知识部分重点基础知识部分重点: :应用程序和小应用程序的基础知识程序的开发过程基本数据类型算术运算(yn sun)、关系运算(yn sun)、逻辑运算(yn sun)、自增自减运算(yn sun)。JAVA语句JavaJava语言语言(yyn)(yyn)基础知识基础知识第三页,共三百五十六页。一、什么是程序一、什么是程序 生活中的程序:程序一词来自生活,通常指完成某些事务的一种既定方式和过程 在日常生活中,可以将程序看成对一系列动作的执行过程的描述 计算机程序: 为了让计算机执行某些操作或解决某个问题(wnt)而编写的一系列有序 指令的集合. JavaJava语言语言(yyn)(yyn)基础知
3、识基础知识第四页,共三百五十六页。二、为什么学习二、为什么学习JAVAJAVA Java是Sun Microsystems于1995年推出的高级编程语言 Java 领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术三、三、JAVAJAVA能作什么能作什么 开发桌面应用程序 银行(ynhng)软件、商场结算软件开发面向Internet的应用程序 网上数码商城、阿里巴巴、易趣网第五页,共三百五十六页。四、四、JAVAJAVA的特点的特点 1、强类型 2、编译(biny)和解释 3、自动无用内存回收功能 4、面向对象 5、与平台无关 6、安全性 7、分布式
4、计算 8、多线程第六页,共三百五十六页。五、五、JAVAJAVA程序程序(chngx)(chngx)的开发过程:三步走的开发过程:三步走1 1、编写、编写(binxi)(binxi)源程序源程序2、编译、编译(biny)源程序源程序3、运行、运行第七页,共三百五十六页。第一个第一个JavaJava程序程序(chngx)(chngx) public class HelloWorld public static void main(String args) System.out.println(“你好你好(n ho)! JAVA课程课程); 第八页,共三百五十六页。public class Hel
5、loAccp public static void main(String args) System.out.println(“你好(n ho)! JAVA课程); 关键字高亮关键字高亮(o lin)显显示示类名与文件类名与文件名完全名完全(wnqun)一一样样main方法是方法是Java程序执行程序执行的入口点的入口点和和一一对应,缺一一对应,缺一不可一不可main方法四要素方法四要素必不可少必不可少从控制台输出信息从控制台输出信息第九页,共三百五十六页。变量变量1、概念:是存储(cn ch)数据的一个基本单元。2、变量的声明和赋值 数据类型 变量名 = 数值(shz); 数据类型 变量名;
6、 变量名 = 数值(shz);第十页,共三百五十六页。第一步:声明一个(y )变量第二步:赋值第三步:使用变量根据类型(lixng)开辟空间 将数据存入(cn r)空间 取出数据使用 使用变量的步骤:使用变量的步骤:第十一页,共三百五十六页。数据属于(shy)不同类别非洲(fi zhu) The quick brown fox TRUE 数据(shj) 非数值数值整型非整型9002.129999/12/20032.175123陈扬 char非数值数值整型intdouble非整型StringJava数据类型数据类型 数据类型 第十二页,共三百五十六页。数据类型说明char(字符型)用于存储单个字
7、符如:性别男、女,电灯开、关int(整型)用于存储整数如:一天的时间是24小时,一月份有31天double(双精度)用于存储小数,占8个字节,64位。如:蒙牛早餐奶的价格1.3元,手机待机时间6.5小时float(单精度)用于存储小数,占4个字节,32位如:蒙牛早餐奶的价格1.3元,手机待机时间6.5小时数据类型说明数据类型说明(shumng)(shumng)第十三页,共三百五十六页。数据类型说明boolean(逻辑类型)用于存储真和假两个值True表示真,false表示假。String(字符串)用于存储一串字符如:“我的爱好是踢足球”, “我喜欢Java程序” 数据类型说明数据类型说明(sh
8、umng)(shumng)第十四页,共三百五十六页。1、字母(zm)2、下划线_3、$ 符号首字母任意多的:1、数字(shz)2、字母3、下划线_4、$ 符号其余部分变量名Java语言中,变量命名要符合(fh)一定规则变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:myScore 变量命名规则变量命名规则第十五页,共三百五十六页。变量名 表达式;赋值运算符赋值运算符Z = ( X * 2 ) + ( 5 Y ) 表达式 表达式 表达式 赋值运算符表达式举例(j l)第十六页,共三百五十六页。算术算术(sunsh)运算符运算符基本(jbn)的算
9、术运算 操作数操作数运算符第十七页,共三百五十六页。比较高低、大小、长短张三的考试成绩是否比李四高大象是否比乌龟更长寿篮球(lnqi)跟地球一样大吗如何(rh)比较?使用(shyng)关系运算符可以比较高低、大小、长短使用关系运算符使用关系运算符第十八页,共三百五十六页。什么什么(shn me)是关系运算符是关系运算符常用的关系(gun x)运算符有哪些:,=,=大象的寿命 李四的成绩 假令狐冲每次考试成绩 = 90分 真篮球的大小(dxio) = 地球的大小 假由此看出关系运算符的作用:用来做比较运算比较后结果:boolean类型第十九页,共三百五十六页。在某种条件下,系统(xtng)自动完
10、成类型转换两种类型兼容例如:int 和 double 兼容目标类型大于源类型例如:double 型 大于 int 型 对于表达式如果一个操作数为double型,则整个表达式可提升为double型自动类型转换自动类型转换-类型提升类型提升(tshng)(tshng)规则规则第二十页,共三百五十六页。int before = 20; /apple笔记本市场份额double rise = 9.8; /增长的份额(fn )int now = before + rise; /现在的份额int now = before + (int)rise; 去年Apple笔记本所占的市场份额是20,今年增长(zngz
11、hng)的市场份额是9.8,求今年所占的份额?编译出错(ch cu):不能完成自动类型转换(类型名)表达式强制类型转换int b = (int)10.2;double a = 10;int c = (int)a;强制类型转换强制类型转换更改为强制类型转换第二十一页,共三百五十六页。什么是什么是ifif条件条件(tiojin)(tiojin)结构结构if条件结构是根据条件判断之后(zhhu)再做处理if ( if ( 条件条件(tiojin)(tiojin) ) ) / /语句语句 if ( javaif ( java成绩成绩 90 ) 90 ) 可以快速上岗;可以快速上岗; 结合问题结合问题2
12、 2基本的if条件结构表达式表达式语句语句假假真真第二十二页,共三百五十六页。如何如何(rh)使用使用if条件结构条件结构 3、小明Java成绩大于90分,而且(r qi)音乐成绩大于80分,父母奖励他;或者Java成绩等于100分,音乐成绩大于70分,父母也可以奖励他分析:怎样把多个分析:怎样把多个(du )条件连接起来?条件连接起来?使用逻辑运算符使用逻辑运算符运算符运算符表达式表达式说明说明&条件条件1 1 & 条件条件2 2仅仅两个条件同时为真,结果为真仅仅两个条件同时为真,结果为真|条件条件1 1 | | 条件条件2 2只要两个条件有一个为真,结果为真只要两个条件有一个为真,结果为真
13、! ! ! 条件条件条件为真时,结果为假条件为真时,结果为假条件为假时,结果为真条件为假时,结果为真第二十三页,共三百五十六页。如何使用如何使用(shyng)if条件结构条件结构 if-else条件条件(tiojin)结构结构if ( 条件条件(tiojin) ) /语句语句1 else /语句语句2 if ( 小明考试成绩小明考试成绩 90 ) 父母奖励小明;父母奖励小明;else 父母罚他不许玩电脑;父母罚他不许玩电脑;结合问题结合问题4真真表达式表达式语句语句1假假语句语句2第二十四页,共三百五十六页。多重if结构就是在else部分(b fen)中还包含其他if块 什么什么(shn me
14、)(shn me)是多重是多重ifif结构结构 if ( 条件(tiojin) ) /语句 else if ( 条件 ) /语句 else /语句 可以有多个可以省略多重if结构假真真假表达式1语句1表达式2语句2语句3第二十五页,共三百五十六页。switch (表达式) case 常量(chngling) 1:语句;break; case 常量 2:语句;break;default:语句;switch结构(jigu)什么什么(shn me)(shn me)是是switchswitch结构结构计算表达式的值如果等于常量1如果等于常量2如果没有找到匹配的值第二十六页,共三百五十六页。常见常见(c
15、hn jin)错误错误int mingCi = 1;switch (mingCi) case 1: System.out.println(出任武林出任武林(wln)盟主盟主); case 2: System.out.println(出任武当掌门出任武当掌门); case 3: System.out.println(出任峨嵋掌门出任峨嵋掌门); default: System.out.println(被逐出师门被逐出师门);输出输出(shch)结果是结果是什么?什么?如果需要每个如果需要每个case执行完后跳出,执行完后跳出,在每个在每个case后不要忘记写后不要忘记写break;第二十七页,共
16、三百五十六页。常见常见(chn jin)错误错误int mingCi = 1;switch (mingCi) case 1: System.out.println(出任武林盟主出任武林盟主(mngzh); case 2: System.out.println(出任武当掌门出任武当掌门); case 2: System.out.println(出任峨嵋掌门出任峨嵋掌门); default: System.out.println(被逐出师门被逐出师门);case后面的常量后面的常量(chngling)必须各不相必须各不相同同代码错误代码错误第二十八页,共三百五十六页。常见常见(chn jin)错误
17、错误String day = 星期一星期一;switch (day) case 星期一星期一: System.out.println(星期一:青菜星期一:青菜(qngci) ); break; case 星期二星期二: System.out.println(星期二:鱼星期二:鱼 ); break; default:switch后面后面(hu mian)小括号中表达式小括号中表达式的值必须是整型或字符型的值必须是整型或字符型代码错误代码错误第二十九页,共三百五十六页。比较比较(bjio)(bjio)switchswitch和多重和多重ifif结构结构相同点相同点不同点不同点switch多重if都
18、可以实现(shxin)多分支结构只能处理(chl)等值的条件判断,且条件是整型变量或字符变量的等值判断处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况第三十页,共三百五十六页。什么什么(shn me)(shn me)是循环是循环: :打印50份试卷10000米赛跑旋转的车轮循环结构(jigu)的特点循环结构 循环条件循环操作锲而不舍地学习生活(shnghu)中的循环第三十一页,共三百五十六页。什么什么(shn me)(shn me)是是whilewhile循环循环特点:先判断,再执行步骤:使用while循环的步骤1、分析循环条件和循环操作2、套用while语法(yf)
19、写出代码3、检查循环是否能够退出while ( while ( 循环条件循环条件(tiojin)(tiojin) ) ) 循环操作循环操作 符合条件,循环继续执行;否符合条件,循环继续执行;否则,循环退出则,循环退出循环中被重复循环中被重复执行的操作执行的操作int i = 1;int i = 1;while ( i = 30 ) while ( i = 30 ) System.out.println( System.out.println(我能行!我能行!);); i +; i +; 编码规范:缩进、换行编码规范:缩进、换行循环操作循环操作 循环条件循环条件 真真假假第三十二页,共三百五十六
20、页。while循环循环(xnhun)常见问题常见问题/* 打印(d yn)4次“欢迎新同学” */public static void main(String args)int i = 0;while (i 4 ) System.out.println(“欢迎新同学); i + ; 永远都不会(b hu)退出的循环称为死循环 循环一直执行,不会退出,哪里出错了?第三十三页,共三百五十六页。while循环循环(xnhun)常见问题常见问题/* 打印4次“欢迎(hunyng)新同学” */public static void main(String args)int i= 1;while ( i
21、4 ) System.out.println(“欢迎新同学); i +; i 5 ) System.out.println(“欢迎新同学); i +; 注意:如果一开始条件就不满足(mnz),while循环一次都不执行 i 5一次都没有打印,哪里出错了?第三十五页,共三百五十六页。什么什么(shn me)(shn me)是是do-whiledo-while循环循环do 循环操作(cozu) while ( 循环条件 );先执行(zhxng)一遍循环操作符合条件,循环继续执行;否则,循环退出特点:先执行,再判断循环操作 循环条件 真假第三十六页,共三百五十六页。while循环和do-while循
22、环的区别语法(yf)不同初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次do 循环操作循环操作(cozu) while( 循环条件循环条件 );while ( 循环循环(xnhun)条件条件 ) 循环操作循环操作先判断,再执行先判断,再执行先执行,再判断先执行,再判断比较比较while和和do-while第三十七页,共三百五十六页。for循环的语法(yf)和执行顺序什么(shn me)是for循环for( ; ; ) ; 条件(tiojin)为true 循环体被执行 for ( int i = 0 ; i 100 ; i+ ) System.o
23、ut.println(我最棒); 代码规范:格式对齐、代码的缩进 表达式1 表达式2 表达式3 循环操作 参数初始化条件判断更新循环变量1243第三十八页,共三百五十六页。for循环循环(xnhun)常见问题常见问题for(;i10;i+) System.out.println(这是这是 +i);int i=0;编译错误:编译错误:变量变量(binling) i 没有初始化没有初始化for( ; ; ) ; 不能省略不能省略 可省略可省略表达式表达式1省略,循环变量省略,循环变量的初始值在的初始值在for语句之前语句之前由赋值语句取得由赋值语句取得第三十九页,共三百五十六页。for循环循环(x
24、nhun)常见问题常见问题for(int i=0;i+) System.out.println(这是这是 +i);编译正确,但是编译正确,但是(dnsh)缺少缺少循环条件,造成死循环循环条件,造成死循环第四十页,共三百五十六页。for循环循环(xnhun)常见问题常见问题for(int i=0;i10;) System.out.println(这是这是 +i); i+;省略表达式省略表达式3,在循环,在循环(xnhun)体内应设法改体内应设法改变循环变量的值以结束循环变循环变量的值以结束循环编译通过编译通过(tnggu),但是循环,但是循环变量的值无变化,造成死循环变量的值无变化,造成死循环第
25、四十一页,共三百五十六页。for循环循环(xnhun)常见问题常见问题for(;) System.out.println(这是测试这是测试(csh);表达式全省略,无条件判断表达式全省略,无条件判断(pndun),循环变量无改变,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环应在循环体内设法结束循环,否则会造成死循环死循环死循环第四十二页,共三百五十六页。为什么需要为什么需要(xyo)break语句语句int i = 2;switch(i) case 1: System.out.println(星期一星期一); break; case 2: System.out.println(星
26、期二星期二); break; /其他其他(qt)语句语句遇到遇到break,立即跳出,立即跳出(tio ch)switch语句语句回顾回顾break用于用于switch语句语句描述描述4000米长跑比赛米长跑比赛for (int i = 0; i10; i+) 跑跑400米;米; if(不能坚持)(不能坚持) break; /退出比赛退出比赛 第第8圈,圈,快累死了快累死了我要退出我要退出第四十三页,共三百五十六页。什么什么(shn me)是是break语句语句break:改变程序控制流用于do-while、while、for中时,可跳出(tio ch)循环而执行循环后面的语句while()
27、break; 跳出跳出(tio ch)整个循整个循环环break通常在循环中与条通常在循环中与条件语句一起使用件语句一起使用第四十四页,共三百五十六页。什么什么(shn me)是是continue语句语句continue :只能用在循环里continue 作用:跳过循环体中剩余的语句(yj)而执行下一次循环while() continue; 继续继续(jx)下一次循环下一次循环通常与条件语句一起使用,通常与条件语句一起使用,加速循环加速循环for(int i = 0; i10;i+) 跑跑400米;米; if(!口渴)(!口渴) continue; /不喝水,继续跑不喝水,继续跑 接过水壶,喝
28、水接过水壶,喝水;示例示例第四十五页,共三百五十六页。循环结构循环结构(jigu)总结总结到目前为止所学的循环结构(jigu)有哪些? 需要多次重复执行一个或多个任务的问题考虑使用需要多次重复执行一个或多个任务的问题考虑使用循环循环(xnhun)来解决来解决第四十六页,共三百五十六页。循环循环(xnhun)总结总结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;123412341234
29、while和和for相同相同(xin tn),先进行判断,后执行循环体内容,先进行判断,后执行循环体内容do-while是先执行,后判断,至少执行一次是先执行,后判断,至少执行一次指出各种指出各种( zhn)循环结构的执行顺序循环结构的执行顺序 第四十七页,共三百五十六页。控制流语句控制流语句(yj)小结小结顺序结构:语句顺序执行 分支(fnzh)结构:语句在满足条件下执行if, if-else, if-else if-else, switch 循环结构:语句在满足条件下循环执行多次while, do-while, for跳转语句break, continue第四十八页,共三百五十六页。包包包
30、解决类的同名(tngmng)问题允许类组成较小的单元(类似允许类组成较小的单元(类似(li s)文件夹),易于找到和使用相文件夹),易于找到和使用相应的文件应的文件 防止命名防止命名(mng mng)冲突冲突 更好的保护类、数更好的保护类、数据和方法据和方法 A.java包包第四十九页,共三百五十六页。如何如何(rh)创建包创建包package s1java.sg.chap7 ;public class AccpSchool public String toString() 包名包名 使用使用(shyng)package声明包,声明包,以分号结尾以分号结尾如果如果(rgu)有包的声明,一定有包
31、的声明,一定作为作为Java源代码的第一条源代码的第一条语句语句 第五十页,共三百五十六页。包命名包命名(mng mng)规范规范包名由小写字母组成,不能以圆点开头或结尾自己设定的包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名(y mn)。如:域名(y mn) 自己设定的包名部分依不同机构各自内部的规范不同而不同package mypackage;package net.javagroup.mypackage;package net.javagroup.research.powerproject; 部门部门(bmn)名名 项目名项目名 package .mypackage; 第五十一页
32、,共三百五十六页。如何如何(rh)导入包导入包为了使用不在同一包中的类,需要(xyo)在Java程序中使用import关键字导入这个类import java.util.*; /导入导入java.util包中所有包中所有(suyu)类类import java.lang.*; /导入导入java.lang包中所有类包中所有类 关键字关键字import并不陌生并不陌生 import 包名包名. 类名;类名;1、系统包、系统包(eg:java.lang)2、自定义包:、自定义包:net.javagroup *: 指包中的所有类指包中的所有类HelloSchool:指包中的:指包中的HelloSchoo
33、l类类 第五十二页,共三百五十六页。什么什么(shn me)是异常是异常异常就是在程序(chngx)的运行过程中所发生的不正常的事件,它会中断正在运行的程序(chngx)异常异常(ychng)!程序运行程序运行程序中断运行程序中断运行第五十三页,共三百五十六页。Java 语言语言(yyn)程序设计(一)程序设计(一)串讲串讲主讲人主讲人: :周立民周立民更多优质自考资料(zlio)尽在百度贴吧自考乐园俱乐部(http:/ me)组成的? 名胜名胜 人人 物品物品 动物动物 ,植物,植物 面向对象编程基础面向对象编程基础(jch)(jch)第五十六页,共三百五十六页。对象的特征对象的特征(tzh
34、ng)属性属性属性对象具有的各种特征 每个对象的每个属性都拥有(yngyu)特定值例如:王小红和朱小雨的体重不一样 60kg王小红王小红属性属性(shxng) 35岁岁收银员小王收银员小王 第五十七页,共三百五十六页。对象的特征对象的特征(tzhng)方法方法方法(fngf)对象执行的操作 打单打单 收银收银 方法方法(fngf) 刷卡刷卡 收银员王小红收银员王小红第五十八页,共三百五十六页。封装封装对象同时具有属性和方法两项特性对象的属性和方法通常被封装在一起,共同体现(txin)事物的特性, 二者相辅相承,不能分割谁看见谁看见(kn jin)过只过只有有“完好的零件和颜完好的零件和颜色色”
35、而不能开动的汽而不能开动的汽车?车?第五十九页,共三百五十六页。类:从对象类:从对象(duxing)抽取出类抽取出类顾客(gk)类轿车类 类是模子类是模子(m zi),确定对象将会拥有的,确定对象将会拥有的特征(属性)和行为(方法)特征(属性)和行为(方法)类是对象的类型类是对象的类型不同于不同于int类型:具有方法类型:具有方法 各种口味的球状冰淇淋各种口味的球状冰淇淋 球状冰淇淋模子球状冰淇淋模子第六十页,共三百五十六页。类和对象类和对象(duxing)有什么区别呢有什么区别呢?类是抽象的概念,仅仅是模板(mbn),比如说:“人”对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”小
36、布什小布什普京普京克林顿克林顿“人人”类类特征(属性)特征(属性)年龄年龄体重体重行为(方法)行为(方法)衣衣食食住住行行第六十一页,共三百五十六页。Java 是面向对象的语言是面向对象的语言(yyn) 所有所有Java程序程序(chngx)都以类都以类class为组织单元为组织单元关键字关键字class定义自定义的数据类型定义自定义的数据类型 public class HelloWorld public static void main(String args) System.out.println(使用使用Java语言语言(yyn)理解程序逻辑理解程序逻辑); 第六十二页,共三百五十六页。
37、Java类模板类模板(mbn)类将现实世界(shji)中的概念模拟到计算机程序中public class 类名类名 /定义属性定义属性(shxng)部分部分 属性属性1的类型的类型 属性属性1; 属性属性2的类型的类型 属性属性2; 属性属性n的类型的类型 属性属性n; /定义方法部分定义方法部分 方法方法1; 方法方法2; 方法方法m;第六十三页,共三百五十六页。定义定义(dngy)类类定义(dngy)一个类的步骤1、定义类名2、编写类的属性3、编写类的方法第六十四页,共三百五十六页。常见常见(chn jin)错误错误public class .Book String bookName; S
38、tring authorName; int pageNum; boolean isAvailable; 类命名规则:类命名规则:1、不能使用、不能使用Java关键字关键字2、首字母、首字母(zm)可以为字母可以为字母(zm),也可以是,也可以是“_”或或“$ ”(建建议不要这样议不要这样)3、不能包含空格或、不能包含空格或“.”号号代码代码(di m)错误错误第六十五页,共三百五十六页。如何创建如何创建(chungjin)和使用对象和使用对象使用对象的步骤:使用new创建类的一个对象使用对象:使用“.”进行以下操作(cozu)给类的属性赋值:对象名.属性调用类的方法:对象名.方法名()Scho
39、ol center = new School();center.schoolName = “北京大学北京大学; /给属性给属性(shxng)赋值赋值center.toString(); /调用类的方法,该方法中的操作将被执行调用类的方法,该方法中的操作将被执行第六十六页,共三百五十六页。面向对象(面向对象(OO)的优点)的优点(yudin)便于程序模拟现实世界中的实体用“类”表示实体的特征和行为隐藏细节对象的行为和属性被封装在类中,外界通过调用(dioyng)类的方法来获得,不需关注内部细节如何实现可重用可以通过类的模板,创建多个类的对象第六十七页,共三百五十六页。数据类型总结数据类型总结(z
40、ngji)intdoublechar String使用使用(shyng)class定义的类型定义的类型StudentTeacherSchool基本基本(jbn)数据类型数据类型引用数据类型引用数据类型第六十八页,共三百五十六页。数据类型使用数据类型使用(shyng)区别区别数据类型数据类型特征特征声明声明使用使用基本数据类型基本数据类型没有方法没有方法int i= 8;i+;引用数据类型引用数据类型具有方法具有方法Student stu = new Student();stu.age+;第六十九页,共三百五十六页。类的方法类的方法(fngf)写出狮子对象(duxing)的“跑”方法写出狮子对象
41、的“叫”方法 电动玩具狮子电动玩具狮子(sh zi)属性:属性:颜色:黄色颜色:黄色行为:行为:跑跑叫叫按此按钮,按此按钮,狮子开始跑狮子开始跑第七十页,共三百五十六页。如何定义如何定义(dngy)类的方法类的方法类的方法定义(dngy)类的某种行为(或功能) 方法的定义方法的定义 方法方法(fngf)的名称的名称 方法的主体方法的主体 方法返回的数据类型方法返回的数据类型 定义类的方法定义类的方法public 返回值类型返回值类型 方法名方法名() /这里编写方法的主体这里编写方法的主体步骤一:定义方法步骤一:定义方法名以及返回值名以及返回值步骤二:编写方步骤二:编写方法体法体第七十一页,共
42、三百五十六页。方法方法(fngf)的命名的命名如何给方法起名字(mng zi)?必须以字母、_或开头可以包括数字,但不能以它开头遵循的命名规范通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母小写,其后单词首字母大写第七十二页,共三百五十六页。方法方法(fngf)的返回值的返回值两种情况(qngkung)如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为voidpublic class Student String name = 张三张三(zhn sn); public void getName() return
43、name; 返回类型要匹配返回类型要匹配return 表达式;表达式;编译错误编译错误第七十三页,共三百五十六页。常见常见(chn jin)错误错误public class School public static void main(String args) return “北京大学(bi jn d xu)! ; 返回类型返回类型(lixng)是是void方法中不能有返回值方法中不能有返回值 第七十四页,共三百五十六页。常见常见(chn jin)错误错误public class Student public double getInfo() double weight = 95.5; dou
44、ble height = 1.69; return weight, height; 方法至多可以返回一个方法至多可以返回一个(y )值,值,不能返回多个值不能返回多个值第七十五页,共三百五十六页。方法方法(fngf)调用调用方法是个“黑匣子”,完成(wn chng)某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句 对象对象(duxing)名名.方法名()方法名();第七十六页,共三百五十六页。方法方法(fngf)调用小结调用小结方法之间允许相互调用,不需要知道方法的具体(jt)实现,提高了效率 情况情况举例举例1、类、类Student 的方法的方法a()调用调用Student类
45、类的方法的方法b(),直接调用,直接调用public void a() b(); /调用调用b() 2、类、类Student的方法的方法a()调用类调用类Teacher的方法的方法b(),先创建类对象,然后使用,先创建类对象,然后使用“.”调用调用public void a() Teacher t = new Teacher(); t.b(); /调用调用Teacher类的类的b() 第七十七页,共三百五十六页。变量变量(binling)作用域作用域变量声明的位置决定变量作用域变量作用域确定(qudng)可在程序中按变量名访问该变量的区域for(int i = 0, a = 0; i 4; i
46、+) a+;System.out.println(a);a的作用域仅在的作用域仅在for循循环环(xnhun)中中 代码错误代码错误第七十八页,共三百五十六页。变量变量(binling)作用域作用域变量变量(binling)1类型类型 变量变量1; 变量变量2类型类型 变量变量2;变量变量3类型类型 变量变量3;public 返回类型返回类型(lixng) 方法方法1() 变量变量4类型类型 变量变量4;public 返回类型返回类型 方法方法2() 变量变量5类型类型 变量变量5; public class AutoLion AutoLion类的方法类的方法别的类的方法别的类的方法 谁能使用
47、这些变量?谁能使用这些变量? 方法方法1 方法方法2 成员变量成员变量局部变量局部变量局部变量局部变量第七十九页,共三百五十六页。面向对象的编程思维面向对象的编程思维(swi)ScoreCalc类 和 Test类public static void main(String args) Scanner input = new Scanner(System.in); System.out.print(请输入请输入(shr)Java成绩:成绩:); int java = input.nextInt(); /*计算并显示输出计算并显示输出*/ int total = java + c + db; do
48、uble avg = total / 3; System.out.print(总成绩:总成绩: + total); System.out.print(n平均分平均分: + avg);一次还可以接受,如果一次还可以接受,如果还要再执行还要再执行(zhxng)这个功能,这个功能,难道还要重复再写?难道还要重复再写?calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg() main() /程序入口程序入口 /计算并输出总成绩计算并输出总成绩 /计算并输出平均分计算并输出平均分 Test调用调用调用调用类的方法实现某
49、个特定的功能,类的方法实现某个特定的功能,别的类不需要知道它如何实现!别的类不需要知道它如何实现!知道了实现此功能的类和它的方法名,知道了实现此功能的类和它的方法名, 就可以直接调用了,不用重复写代码!就可以直接调用了,不用重复写代码! 第八十页,共三百五十六页。什么什么(shn me)是封装是封装public class Teacher2 private String name; / 教员教员(jioyun)姓名姓名/ 返回教员姓名返回教员姓名public String getName() return name;/ 设定教员姓名设定教员姓名public void setName(Strin
50、g name) this.name = name;封装,就是隐藏实现细节(xji)将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性 Teacher2 teacher = new Teacher2();teacher.setName (李芳李芳);String tName = teacher.getName();通过通过setter、getter方法访方法访问问name属性属性this代表当前类的实例代表当前类的实例第八十一页,共三百五十六页。82如何如何(rh)实现封装实现封装封装的实现(shxin):1、修改属性的可见性来限制对属性的访问2、为每个属性创建一对赋值(sett