java超详细教程适合初学者深入掌握Java知识ppt课件.ppt

上传人:牧羊曲112 文档编号:1376291 上传时间:2022-11-16 格式:PPT 页数:68 大小:1.97MB
返回 下载 相关 举报
java超详细教程适合初学者深入掌握Java知识ppt课件.ppt_第1页
第1页 / 共68页
java超详细教程适合初学者深入掌握Java知识ppt课件.ppt_第2页
第2页 / 共68页
java超详细教程适合初学者深入掌握Java知识ppt课件.ppt_第3页
第3页 / 共68页
java超详细教程适合初学者深入掌握Java知识ppt课件.ppt_第4页
第4页 / 共68页
java超详细教程适合初学者深入掌握Java知识ppt课件.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《java超详细教程适合初学者深入掌握Java知识ppt课件.ppt》由会员分享,可在线阅读,更多相关《java超详细教程适合初学者深入掌握Java知识ppt课件.ppt(68页珍藏版)》请在三一办公上搜索。

1、JAVA2编程技术基础,四川大学锦城学院 计算机科学与信息工程系赵 春zhaochun_c.n,Java语言基础,求图形面积,public class Graphic public static void main(String args) double length = Double.parseDouble(args0); double area = 0; area = length * length; System.out.println(area); ,Exception in thread main java.lang.ArrayIndexOutOfBoundsException: 0

2、at com.basic.Graphic.main(Graphic.java:6),java Graphic,Java语言基础,读取用户输入,输入为空?,提示用户输入错误,正常进行计算,是,否,求图形面积,Java语言基础,程序流程控制,if(expression) / 程序块1 else /可选项 /程序块2 ,选择语句,Expression?,程序块1,程序块2,return,true,false,Java语言基础,选择语句,例:猜商品价格,ublic class QuessNumber public static void main(String args) int price = 12

3、0; int qNumber = Integer.parseInt(args0); if(target=qNumber) System.out.println(您猜中了!); else System.out.println(“谢谢参与!); ,Java语言基础,选择语句,例:猜商品价格,if(target=qNumber) System.out.println(您猜中了!); else System.out.println(重在参与,谢谢猜数!); ,if(target=qNumber) System.out.println(您猜中了!); else System.out.println(重在

4、参与,谢谢猜数!);,if(target=qNumber) System.out.println(您猜中了!); if(target!=qNumber) System.out.println(“重在参与,谢谢猜数!”);,Java语言基础,选择语句,例:猜商品价格 提示用户,ublic class QuessNumber public static void main(String args) int target = 100; int qNumber = Integer.parseInt(args0); if(targetqNumber) System.out.println(您猜的价格低于

5、实际价格!); else if(targetqNumber) System.out.println(您猜的价格高于实际价格!); else System.out.print(您猜中了! ); ,选择语句可以嵌套使用,Java语言基础,求图形面积,coding,ublic class Graphic public static void main(String args) if(args.length=0)System.out.println(请输入正方形边长!); elsedouble length = Double.parseDouble(args0);double area = 0;are

6、a = length * length;System.out.println(area); ,思考:如何让用户在程序运行过程中与程序交互?,Java语言基础,Java API,扫描器 Scanner java.util.Scanner,一个可以使用正则表达式来分析基本类型和字符串的 简单文本扫描器,Java语言基础,Scanner,public class J_Test public static void main(String args)Scanner scanner = new Scanner(System.in);while(scanner.hasNext() String s = s

7、canner.next(); if(s.equals(exit) break; System.out.println(s); scanner.close(); ,代表来自键盘的标准输入,判断是否还有下一个元素,获取下一个元素,关闭扫描器对象,创建扫描器对象,Java语言基础,coding,import java.util.Scanner;public class Graphic public static void main(String args) Scanner scanner = new Scanner(System.in); if(scanner.hasNext() double le

8、ngth = Double.parseDouble(scanner.next(); double area = 0; area = length * length; System.out.println(area); ,思考:如何让用户在程序运行过程中多次与程序交互?,Java语言基础,程序流程控制,循环结构, 初始化部分:设置相关循环变量的初始值 条件部分:决定是否执行循环 循环部分:反复执行的一段代码,主体部分 迭代部分:对循环计数器进行加1或减1的操作来进 行下一轮循环,Java语言基础,循环语句,for (initialization;condition;iteration) repe

9、tition;, 初始化、条件及迭代部分 都可以是空语句。 若控制变量已初始化,则 可以省略初始化部分。 若增量由for循环体内的语 句完成或不需要增量,则迭 代部分也可以被省略。,Java语言基础,循环语句,int n = 0;int i = 0;for (;i10;i+) n += i;,for循环,int n = 0;int i = 0;for (;i10;) n += i; i+;,利用for循环求1到10的累加和?,int n = 0;for (int i=0;i10;i+) n += i;,Java语言基础,Example,今有物不知其数,三三数之剩二,五五数 之剩三,七七数之剩二

10、,问物几何?,public class JavaTest public static void main(String args) int x; for(x=0;x100;x+) if(x%3=2) ,Java语言基础,循环语句,for循环 多重循环,冒泡排序:a = 3,0,2,1,4初始数据:3 0 2 1 4第 一 趟:3 2 1 4 0第 二 趟:3 2 4 1 0第 三 趟:3 4 2 1 0第 四 趟:4 3 2 1 0,相邻元素进行比较,小 的元素往后移动每一趟排序能够确保某 一个元素在正确的位置为了提高效率,每一趟 排序应该去掉那些已经 排好序的元素,Java语言基础,首先扫描

11、数组,定位每一个待比较的元素;然后再次 扫描除此元素以外的其它元素。,for(?) for(?) ? ,每一趟排序能够确保某一个元素在正确的位置,需要排序的趟数:a.length,for(int i=0;ia.length-1;i+),为了提高效率,每一趟排序应该去掉那些已经排好序 的元素,每一趟需要排序的元素个数:a.length-1-i,for(int j=0;ja.length-1-i;j+),相邻元素进行比较,小的元素往后移动,if (ajaj+1) temp=aj+1; aj+1=aj; aj=temp; ,Java语言基础,循环语句,for循环 多重循环,/冒泡排序算法的Java实

12、现public static void BubbleSort(int a ) int temp=0; for (int i = 0; i a.length-1; i+) for (int j = 0; j a.length-1-i; j+) if (ajaj+1) temp=aj+1; aj+1=aj; aj=temp; ,Java语言基础,ublic class QuessNumber public static void main(String args) int target = 100; int qNumber = 0; System.out.println(请输入您猜的商品价格:);

13、 Scanner scanner = new Scanner(System.in); for (; scanner.hasNext();) qNumber = Integer.parseInt(scanner.next(); if (target qNumber) System.out.println(您猜的价格低于实际价格!); else if (target qNumber) System.out.println(您猜的价格高于实际价格!); else System.out.print(您猜中了!); ,循环语句,Java语言基础,for循环 给用户三次机会,猜中即退出,ublic cla

14、ss QuessNumber public static void main(String args) int target = 100; int qNumber = 0; System.out.println(请输入您猜的商品价格:); Scanner scanner = new Scanner(System.in); for (int i=0; scanner.hasNext() ,Java语言基础,跳转语句,break语句:跳出整个循环,int i = 0;for(;i10;i+) System.out.println(i); if(i=6) break;,int sum=0; oute

15、r: for(int i=1;i6) System.out.println(“sum=”+sum);,break outer: sum=15,break inner: sum=109,不带标签的break语句,带标签的break语句,break outer;,break inner;,跳转语句,Java语言基础,continue语句:跳出本次循环,int i = 0;while(i10) i+; if(i=6) continue; System.out.println(i);,Java语言基础,循环语句,for循环,Java语言基础,for循环 给用户三次机会,猜中即退出,int target

16、 = 100;int qNumber = 0;System.out.println(请输入您猜的商品价格:);Scanner scanner = new Scanner(System.in);for (int i=0; scanner.hasNext(),Java语言基础,循环语句,while循环,initializationwhile(condition) repetition; iteration;,Java语言基础,while循环 给用户三次机会,猜中即退出,ublic static void main(String args) int target = 100; int qNumber

17、 = 0; int i=0; System.out.println(请输入您猜的商品价格:); Scanner scanner = new Scanner(System.in); while (scanner.hasNext() ,Java语言基础,循环语句,dowhile循环,initializationdo repetition; iteration; while(condition);,Java语言基础,dowhile循环 给用户三次机会,猜中即退出,ublic static void main(String args) int target = 100, qNumber = 0, i=

18、0; System.out.println(请输入您猜的商品价格:); Scanner scanner = new Scanner(System.in); do if(scanner.hasNext() qNumber = Integer.parseInt(scanner.next(); if (target qNumber) System.out.println(您猜的价格低于实际价格!); else if (target qNumber) System.out.println(您猜的价格高于实际价格!); else System.out.print(您猜中了!);break; i+; wh

19、ile (i3); ,Java语言基础,循环语句,while和dowhile的区别,int i = 10;while(i10) System.out.println(i); i+;,int i = 10;do System.out.println(i); i+;while(i10);,先判断,再执行,先执行,再判断,Java语言基础,求图形面积,coding,ublic class Graphic public static void main(String args) double length = 0; double area = 0; Scanner scanner = new Scan

20、ner(System.in); while (scanner.hasNext() length = Double.parseDouble(scanner.next(); if (length 0) System.out.println(您的输入有误!); continue; else area = length * length; System.out.println(area); ,Java语言基础,求图形面积,thinking: add new sharp,Java语言基础,分支语句,switch语句,switch(expression) case value1: statement1;

21、break; case value2: statement2; break; default: statement;, expression必须是一个类型为byte、short、int或char 的表达式。相应的case后的值也必须是与表达式类型 兼容的一个常量。 若case后没有break语句,则执行完本case后的程序以 后,继续执行下一个case后的程序。,Java语言基础,分支语句,public class GradeSwitch public static void main(String args) int score = 93; char grade; switch(score/

22、10) case 10: case 9: grade=A; break; case 8: grade=B; break; case 7: grade=C; break; case 6: grade=D; break; default: grade=E; System.out.println(“93:grade is ”+grade); ,Java语言基础,分支语句,例:class J_Test public static void main(String args) int a = 2; switch(a) case 1: a+=1; break; case 2: a+=2; case 3:

23、a+=3; break; case 4: a+=4; break; default: a=0; System.out.println(a); ,Java语言基础,求图形面积,ublic static void main(String args) double length = 0; double area = 0; int type = 0; Scanner scanner = new Scanner(System.in); while (scanner.hasNext() type = Integer.parseInt(scanner.next(); length = Double.pars

24、eDouble(scanner.next(); if (length 0) System.out.println(您的输入有误!); continue; switch(type) case 1: area = length * length; break; case 2: area = 3.14 * length * length; break; System.out.println(area); ,Java语言基础,求图形面积,thinking 有N种图形,且每种图形的面积算法异常复杂,问题:主程序急剧膨 胀,难于管理。,解决方案: 1、在主程序中定义不 同的方法来封装。 2、面向对象,面向

25、对象,对象,一切皆是对象,对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。,对象,实体:正方形实体:圆形,面向对象,问题领域,对象:正方形对象:圆形,对象,正方形对象,正方形对象,正方形对象,归纳为正方形类型,面向对象,对象的抽象与产生,正方形,正方形A,正方形B,正方形C,抽象,实例化,面向对象,抽象的结果形成类,实例化的结果产生对象,类,面向对象,对对象的抽象形成了类。,类:轿车,类:客车,类:车,抽象,抽象,抽象,抽象,面向对象,类是具有相同属性和方法的一组对象的集合,它为属于 该类的所有对象提供了统一的抽象描述,其内部包括属 性和方法两个主要部分。,类,面向对象,正

26、方形类圆形类,类的属性和方法,面向对象,类或对象都拥有自己的属性和方法。属性描述的是状态;方法描述的是行为。,颜色:color车牌:code属主:ower功率:power排量:emission品牌: type ,启动:start()刹车:stop()换挡:changePower()开空调:airconditioner()放音乐:turnonmusic(),class:car,类的实例化,面向对象,类的实例化形成对象,或者说对象就是类的实例。,class:car,实例化,object:car1,实例化,color: blackcode: 川A2006ower: 锦城学院power: 160/63

27、00emission: 2976type: 奥迪A6 ,启动:start()刹车:stop(),类、对象与现实的关系,面向对象,消息,面向对象,消息,面向对象,class Parrot 品种 颜色 唱歌() 飞翔(),消息接收方,消息:唱歌(),.,消息发送方,消息:唱歌(),消息发送方,消息接收方,封装,面向对象,隐藏实现细节 隔离变化 提高易用性,封装其实就是保护对象隐私。,封装,面向对象,封装性就是把对象的属性和方法结合成一个独立的相同 单位,并尽可能隐蔽对象的内部细节。 把对象的全部属性和全部方法结合在一起,形成一 个不可分割的独立单位(即对象)。 信息隐蔽,即尽可能隐蔽对象的内部细节

28、,对外形 成一个边界,只保留有限的对外接口使之与外部发 生联系。,继承,面向对象,子类继承父类的所有性质,并可拥有自己新的属性和方法。,继承,面向对象,继承是父类和子类之间共享数据和方法的机制 继承使得子类可以利用父类中定义的方法和变 量,就像它们属于子类本身一样。,代码向上移动,数据向下移动,多态,面向对象,对象的多态性是指不同的对象在接收到相同的消息以后 可以表现出不同的行为。,求图形面积,面向对象,求图形面积,面向对象,while (scanner.hasNext() type = Integer.parseInt(scanner.next(); length = Double.pars

29、eDouble(scanner.next(); if (length 0) System.out.println(您的输入有误!); continue; switch(type) case 1: 创建正方形对象; 正方形对象.设定边长(length); area = 正方形对象.计算面积; break; case 2: 创建圆形对象; 圆形对象.设定半径(length); area = 圆形对象.计算面积; break; System.out.println(area); ,如何定义类? 如何创建对象? 如何访问对象?,类的定义,面向对象,包,面向对象,包的声明,面向对象,包的引用,面向对象,

30、默认一个类只能访问与它在同一个包中的公共类;若需要引用在其它包中的类,可以采用以下方法:, 完全限定类名 java.util.ArrayList list = new java.util.ArrayList(); 加载需要使用的类 import java.util.ArrayList; ArrayList list = new ArrayList(); 加载整个包 import java.util.*; ArrayList list = new ArrayList();,访问控制修饰符 缺省(包访问权限),面向对象, 对一个类没有给定任何访问权限,则这个类具 有缺省的访问权限(包访问权限)。,

31、class C,class B,class A,class E,Package 1,Package 3,Package 2,class D,访问控制修饰符 - public,面向对象,当使用关键字public,就意味着public之后紧跟着的成员声明自己对每个人都是可用的。,package dessertpublic class Cookie public Cookie() System.out.println( “Cookie constructor!”); void bite() System.out.println(“bite!”); ,import dessert;public cla

32、ss Dinner public Dinner() System.out.println(“Dinner constructor!”); public static void main(String args) Cookie c = new Cookie(); c.bite(); ,访问控制修饰符 - protected,面向对象,使用protected修饰符可以对类的属性进行访问保护,被访问保护的成员可以被同一个包中的类访问,还可以被其它包中继承了该类的子类访问。,package dessertpublic class Cookie public Cookie() System.out.pr

33、intln( “Cookie constructor!”); protected void bite() System.out.println(“bite!”); ,import dessert;public class ChocolateChip extends Cookie public ChocolateChip() System.out.println( “ChocolateChip constructor!”); public static void main(String args) ChocolateChip c = new ChocolateChip(); c.bite();

34、,访问控制修饰符 - private,面向对象,rivate关键字限定类的成员仅能被该类的其它成员使用。对外界来说,该成员是不可知的。,class Sundae private Sundae() static Sundae makeASundae() return new Sundae(); ,public class IceCream public static void main(String args) Sundae s = Sundae.makeASundae(); ,访问控制修饰符,面向对象,访问控制修饰符小结,面向对象,类的修饰符,面向对象,类的修饰符,访问控制修饰符,public,包访问权限,抽象类修饰符,最终类修饰符,abstract,final,类的修饰符 class 类名称 extends 父类名称 implements 接口名称列表,求图形面积,面向对象,正方形类public class Square,圆形类public class Circle,想要它们工作,必须设置它们的状态,教会它们做事。,下次课内容,面向对象, 面向对象的深入学习,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号