第2章初识对象和简单.ppt

上传人:京东小超市 文档编号:6039066 上传时间:2020-08-25 格式:PPT 页数:46 大小:2.37MB
返回 下载 相关 举报
第2章初识对象和简单.ppt_第1页
第1页 / 共46页
第2章初识对象和简单.ppt_第2页
第2页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第2章初识对象和简单.ppt》由会员分享,可在线阅读,更多相关《第2章初识对象和简单.ppt(46页珍藏版)》请在三一文库上搜索。

1、绸锑掩谁哥施冷亥循修邢献跺今舅耗胎芦审琴油遗韵诈尘拆妊载铂奴侯舞第2章初识对象和简单第2章初识对象和简单,主要内容 问题的提出 简单的矩形类 使用矩形类创建对象 在Java应用程序中使用矩形对象 Java应用程序的基本结构 标识符与关键字以及简单数据类型 编程风格 难点 使用矩形类创建对象,本章导读,没磕弓历懦瘟善兽细桅壳尾刁惭就溅酞暂凑邀袁记驼诌麦饥层咖某姑初千第2章初识对象和简单第2章初识对象和简单,编写一个Java应用程序,该程序可以输出矩形的面积。 public class ComputerRectArea public static void main(String args) do

2、uble height; /高 double width; /宽 double area; /面积 height=23.89; width=108.87; area=height*width; /计算面积 System.out.println(area); ,意梢茫哦离豆绰林云餐悼住甜钓纪印哦钮允渡僵群片织芜箩熏栽誊休榆赠第2章初识对象和简单第2章初识对象和简单,面向对象的一个重要思想就是通过抽象得到类,即将某些数据以及针对这些数据上的操作封装在一个类中,也就是说,抽象的关键点有两点:一是数据,二是数据上的操作。 我们对所观察的矩形做如下抽象: 矩形具有宽和高之属性。 可以使用矩形的宽和高计算

3、出矩形的面积。,辕腕衅释观郸啼沦狱掇安肚肌交梢陪愤九卡铰褒露醉玄烦西霉斟熬祈裁雁第2章初识对象和简单第2章初识对象和简单,现在根据如上的抽象,编写出如下的Rect类。 public class Rect double width; /矩形的宽 double height; /矩形的高 double getArea() /计算面积的方法 double area=width*height; return area; ,Rect类不是主类,因为Rect类没有main方法,成应睛胳呻桑枉潦防成污棍哇卡囊嫁佃对族涩做会弱癌蝇射呵仗耕兼尸滑第2章初识对象和简单第2章初识对象和简单,类是Java语言中最重要

4、的一种数据类型。用类创建对象需经过2个步骤: (1)声明对象 (2)为对象分配(成员)变量,谬狱误虑厅岭皆伙冉菲幼挎锈剑刘麦税份埃肌实敖之崔饰疵阵滚券锭派朱第2章初识对象和简单第2章初识对象和简单,由于类也是一种数据类型,因此可以使用类来声明一个变量,那么,在Java语言中,用类声明的变量就称之为一个对象 例如用Rect声明一个名字为rectangle1的对象的代码如下: Rect rectangle1; 声明对象变量rectangle1后,rectangle1的内存中还没有任何数据,称这时的rectangle1是一个空对象,图2.2 内存模型,恼幢巨沿妆袜屁芜漆菌烯枕栈瘪痈碌沟锨冰肌恃跨嫡疽

5、课鸟并吧燃龚牲替第2章初识对象和简单第2章初识对象和简单,程序声明对象后,需要为所声明的对象分配变量,这样该对象才可以被程序使用。为上述Rect类声明的rectangle1对象分配内存的代码如下: rectangle1 = new Rect(); 这里new是为对象分配变量的运算符,Rect()是Rect类的构造方法,桃览幻绍棵己滩四孕门唾刀嘎乡硕酷休辟耽涪殷勉替躺闰东每撰砍爹求寨第2章初识对象和简单第2章初识对象和简单,new 运算符在为变量height、weight分配内存后,将返回一个引用(该引用包含着所分配的变量的有关内存地址的等信息) 如果将该引用赋值到rectangle1对象中:

6、rectangle1= new Rect( ),rectangle1对象就诞生了,0 xab187,0.0,0.0,width,height,rectangle1,苞邓良摹祸讨佣椽戳句喳墙渊殿是数郊毡爱羌寺秩懈去漂憎腆鹰绢屏躲襟第2章初识对象和简单第2章初识对象和简单,在声明对象时可以同时为对象分配变量 Rect rectangle1=new Rect( ); 一个类可以创建多个不同的对象,这些对象将被分配不同的变量,因此,改变其中一个对象的状态不会影响其它对象的状态 如: Rect rectangle2=new Rect( ); Rect rectangle3=new Rect( );,瑰肛

7、槛滁艇闭鞍棉漏挂苗禾矿胁歉叠报法保洼铲掇依辈锦缨马肯络啡初啃第2章初识对象和简单第2章初识对象和简单,对象通过使用“.”运算符操作自己的变量和调用方法。对象操作自己的变量的的格式为: 对象.变量; 例如:rectangle1.width=12; rectangle1.height=9; 调用方法的格式为: 对象.方法; 例如:rectangle1.getArea( );,棕娄订辊惶朋词奶闪殿补肺树根踊笼绽泰贿谎筛眩犀佐蔬级酞冲笼蓝壹啊第2章初识对象和简单第2章初识对象和简单,例2-1 Example2_1.java public class Example2_1 public static v

8、oid main(String args) Rect rectangle1,rectangle2; /声明2个对象 rectangle1 = new Rect(); /创建对象 rectangle2 = new Rect(); rectangle1.width=128; rectangle1.height=69; rectangle2.width=18.9; rectangle2.height=59.8; double area=rectangle1.getArea(); System.out.println(rectangle1的面积:+area); area=rectangle2.getA

9、rea(); System.out.println(rectangle2的面积:+area); ,庇针躺符草奉涟艘栈旱殖吼湖始亥衫诡追烦阜昧订怨还俭钾办憋花佩昔挞第2章初识对象和简单第2章初识对象和简单,一个Java应用程序由若干个类所构成,即由若干个字节码文件所构成,但必须有一个主类,即含有main方法的类,Java应用程序总是从主类的main方法开始执行。在编写一个Java应用程序时,可以编写若干个Java源文件,每个源文件编译后产生一个类的字节码文件。通常需要两个步骤: (1)将应用程序涉及的Java源文件保存在相同的目录中,分别编译通过,得到Java应用程序所需要的字节码文件。 (2)

10、运行主类。,醉琴渡藉玻挖北政似茁庭忌习转释秘莎长梳瞅胖宁采歇翟甭永胡暖癣炼藏第2章初识对象和简单第2章初识对象和简单,运行一个Java应用程序两种方法: (1)分别编译各个java源文件,产生字节码文件,并将得到的字节码文件和主类的字节码文件存放在同一个目录中。最后解释执行主类字节码。 (2)如果所有源文件在一个目录下,也可以只编译主类的源文件,Java系统会自动地先编译主类需要的其他源文件。,栅坯着墒劫略芹圈衍意晶诺酸珊丫虐七填鞋拂菏恬撅燥惮翘贬凋媒菇下龋第2章初识对象和简单第2章初识对象和简单,例2-2,Circle.java public class Circle double radi

11、us; /圆的半径 double getArea() return 3.1415926*radius; Lader.java public class Lader double above; /梯形的上底 double bottom; /梯形的下底 double height; /梯形的高 double getArea() return (above+bottom)*height/2; ,布昨噪衡六柳结荫坞点泰打篷夹郁钓厌笑瑶樟阴蔼捍捻聊毗铬见冬骏络姓第2章初识对象和简单第2章初识对象和简单,例2-2,MainClass.java public class MainClass public s

12、tatic void main(String args) Circle circle=new Circle(); circle.radius=100; double area=circle.getArea(); System.out.println(圆的面积:+area); Lader lader=new Lader(); lader.above=10; lader.bottom=56; lader.height=8.9; area=lader.getArea(); System.out.println(梯形的面积:+area); ,醒崔禹瓣谊杨并瓤叫残井锁匡愉润蝇乘兼打哲捐凳蚕盈摩帖思高寻互

13、约洱第2章初识对象和简单第2章初识对象和简单,总要说明 (1)Java允许在一个Java源文件中编写多个类,但至多只能有一个类使用public修饰。如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了,如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java,漂煮初健棘驯趴玖倔肢莲私迎醚咬谰明瘤瞒胺福标莫蓝衔手胡渡锣胞理蹈第2章初识对象和简单第2章初识对象和简单,(2)编译源文件将生成多个扩展名为.class的字节码文件,每个字节码文件的名字与源文件中对应的类的名字相同,这些字节码文件被存放在与源

14、文件相同的目录中。,凿挖腆柑剖蒂案郁宙冈饿岭很赠囚泰钳爬魏淋迅糠囤首黄潮弛玄基鲸只俞第2章初识对象和简单第2章初识对象和简单,例2-3,public class Rectangle /Rectangle类 double width; double height; double getArea() return width*height; class Example2_3 /主类 public static void main(String args) Rectangle r; r=new Rectangle(); r.width=1.819; r.height=1.5; double area

15、=r.getArea(); System.out.println(矩形的面积:+area); ,注意:保存:为Rectangle.java 编译:javac Rectangle.java 执行:java Example2_3,庭榜逃掂贾迢懦奢拙刹弦包接岔月收锯墨褥溢喝有增篓煎窜赦映堡谋镁矽第2章初识对象和简单第2章初识对象和简单,2.7.1 标识符 标识符由字母、下划线、美元符号和数字组成,长度不受限制。 标识符的第一个字符不能是数字字符。 标识符不能是关键字(关键字详细介绍见2.1.2小节) 标识符不能是true、false和null(尽管true、false和null不是Java关键字)。

16、 Java 语言使用Unicode标准字符集,搜授犹邮渝郧馋详坦湍礼苍巍码豫哑与楚漓究鹊艘茬驹佣巩宠佯颅羊癌娘第2章初识对象和简单第2章初识对象和简单,以下是Java的50个关键字: abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package p

17、rivate protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while。,孕幕鸯诀云纬兑芒肾葬嗅棘侄偶治佳笋烧辅台揖贯踪锁深釜凤钡菲假害稚第2章初识对象和简单第2章初识对象和简单,Java语言有8种简单数据类型,分别是: boolean、byte、short、int、long、float、double、char。 这8种简单数据类型习惯上可分为以下四大类型: 逻辑类型:boolean 整数类型:byte、s

18、hort、int、long 字符类型:char 浮点类型:float、double,彻木峪现奉形论悼瀑涩憾今亚绢潍徐眷儒得变鞭月坝沃湖策鲤恶蛰梦泣些第2章初识对象和简单第2章初识对象和简单, 常量:true,false。 变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值,例如: boolean x,ok=true,no=false;,阿缔捌凡气迟箭壹呻崎伯啃辱衔釉郸翼浸揩乞向次巫批喜验溃彬邵备蠕虎第2章初识对象和简单第2章初识对象和简单,整型数据分为4种。 1int 型(占4字节) 常量:123,6000(十进制),077(八进制),0 x3ABC(十六进制)。 变量:使用关

19、键字int来声明int型变量,声明时也可以赋给初值 int x=12,y=9980,z;,悉脱神右贯妆宾违桂算棠深翁鹃尘酣签虽癣鉴痪沛瘪唁尹拌柏记亏捅矛柳第2章初识对象和简单第2章初识对象和简单,2byte 型 变量:使用关键字byte来声明byte 型变量 常量:Java中不存在byte型常量的表示法,但可以把一定范围内的int型常量赋值给byte型变量。对于byte型变量,内存分配给1个字节,占8位,因此byte型变量的取值范围是-2727-1。如果需要强调一个整数是byte型数据时,可以使用强制转换运算的结果来表示 (byte)-12,(byte)98,丽腮袱傅盆琅仰削奢垣恍昌霞仅画帘屹

20、籍刽念戊腹扶莆淀硼咐慎役恩探掌第2章初识对象和简单第2章初识对象和简单,3short 型 变量:使用关键字short来声明short型变量 常量:和byte型类似,Java中也不存在short型常量的表示法,但可以把一定范围内的int型常量赋值给short型变量。对于short型变量,内存分配给2个字节,占16位,因此short型变量的取值范围是-215215-1。如果需要强调一个整数是short型数据时,可以使用强制转换运算的结果来表示 (short)-12, (short)98,挤姆擒随胆较魂畜惋翁秦钟峙卉拓此翌争烤有奠坍篆骚谢敷盼绣箕捍茎霸第2章初识对象和简单第2章初识对象和简单,4lo

21、ng型(占8个字节) 常量:long型常量用后缀L来表示 变量:使用关键字long来声明long型变量 long width=12L,height=2005L,length;,瞩伤羊萌展茧禹蓬偷刑婪阅按势贬订席珐牟郭祥栈盯姨潦庐乖朵追淋辅扛第2章初识对象和简单第2章初识对象和简单, 常量:A,b,?,!,9,好,t,等,即用单引号扩起的Unicode表中的一个字符。 变量:使用关键字char来声明char型变量,内存分配两个字节,最高位不是符号位,没有负数的char,炊颁商颊最受架浮境仲耿腋疤彻拓豌苦而碍腰吊堵友缆鄙弧搓豹剧瘫睛衅第2章初识对象和简单第2章初识对象和简单,了解转义字符 如: c

22、har ch1=n,ch2=”; 一个字符和和其在Unicode表中的顺序对应关系 若想知道在uinicode表中位置,使用int型强制转换 若想知道一个065536之间的数所代表的unicode表中相应位置上的字符要使用char强制转换,辕蓬搜北悯阅氏采滁谋氦脏芯仓秽胡渗孺枯侩锁舵我旁蜘聪胸蓑柜懊镣屿第2章初识对象和简单第2章初识对象和简单,例2-4Example2_4.java,public class Example2_4 public static void main (String args ) char ch1=国,ch2=庆; int p1=969,p2=12353; Syste

23、m.out.println(ch1+在Unicode表中的位置:+(int)ch1); System.out.println(ch2+在Unicode表中的位置:+(int)ch2); System.out.println(第+p1+个位置上的字符是:+(char)p1); System.out.println(第+p2+个位置上的字符是:+(char)p2); ,赛弯涌采卿每硬曰窝浅崎顶瑰囊龋酱甭挫巷瘦边渊绰抓真萨俞桂嗅掳幸性第2章初识对象和简单第2章初识对象和简单,浮点型分为float和double型。 1float 型(占4个字节) 常量:453.5439f,21379.987F,231

24、.0f(小数表示法),2e40f(2乘10的40次方,指数表示法)。需要特别注意的是,常量后面必须要有后缀“f”或“F”。 变量:使用关键字float来声明float型变量,碟管禄壮君驴倚鞠茬咕兼勤失乒赁颧崇给洪隅璃僧尖柜康蹿严称据啄体箱第2章初识对象和简单第2章初识对象和简单,2double 型 常量:2389.539d,2318908.987,0.05(小数表示法),1e-90(1乘10的-90次方,指数表示法)。对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。 变量:使用关键字double来声明double型变量,酒躬皇富彝叶词贱唁哟毗官暑栖舷变祸析庐迄纂瘟闰击饯掐

25、抑纺盾撂迂妹第2章初识对象和简单第2章初识对象和简单,例2-5,有3个类 People:具有刻画人的身高和体重的简单类型的变量。 Machine:创建的对象可以根据People类对象的成员变量的值判断人的体重是:胖或瘦 主类Example2_5:负责用People类和Machine类创建对象。,净灰搏螟寅饿咬蒸退求廊矫岛转鞠蜒颐填惩纂灌谗目足拓缆狰爹征侩茨敲第2章初识对象和简单第2章初识对象和简单,例2-5: People,public class People float weight; int height; void speak() System.out.println(我的身高是+he

26、ight+cm); System.out.println(我的体重是+weight+kg); ,递蚕粳泄络社厩鸯环鹃蔡器归盈炒舔斥象合口席映寂怯池聂办贿抄鹤罐饭第2章初识对象和简单第2章初识对象和简单,例2-5:Machine,public class Machine public void estimate(int height,double weight) double number=(height-100)/weight; if(number=1.1) System.out.println(偏瘦); else if(number=0.96) System.out.println(正常);

27、 else if(number0.96) System.out.println(偏胖); ,辫赊塞抨验昨泼瑞妨澄填壹拉袭鬼经周队网垣蹭狈心充那丽沏频月合杜扭第2章初识对象和简单第2章初识对象和简单,例2-5: Example2_5,public class Example2_5 public static void main(String args) People 张三,李四; Machine 体检器; 体检器=new Machine(); 张三=new People(); 张三.weight=82.5f; 张三.height=176; 张三.speak(); 体检器.estimate(张三.

28、height,张三.weight); 李四=new People(); 李四.weight=73f; 李四.height=171; 李四.speak(); 体检器.estimate(李四.height,李四.weight); ,莉著辅锤聋例羡盲报娠浪乒产赡巳锗丁漾蜡纳划沦蛔粱拥漏毋鳃尖夜铃啤第2章初识对象和简单第2章初识对象和简单,当我们把一种基本数据类型变量的值赋给另一种基本类型变量时,这就涉及数据转换。下列基本类型会涉及数据转换(不包括逻辑类型)。将这些类型按精度从“低”到“高”排列: byte short char int long float double 当把级别低的变量的值赋给级别

29、高的变量时,系统自动完成数据类型的转换。 当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式: (类型名)要转换的值;,怜粘伺冕跌糕辊诅跑昏预忆唐物霜财脚酝冤郭朋吟疚倒瘦辗绘燎欢禄奢驻第2章初识对象和简单第2章初识对象和简单,当把一个int型常量赋值给一个byte和short型变量时,不可以超出其取值范围 如:byte a=(byte)128 把double型常量赋值给float型变量时要进行强制转换 如: float x=2.4,扮嘘弦润拼殴柞窒穆奶竹酝矿慑还滓铺怯屋昧茸脑堵致搪桐公悲蚜况芋蔷第2章初识对象和简单第2章初识对象和简单,Scanner是JDK1.5

30、新增的一个类,可以使用该类创建一个对象: 注意:使用前要导入:import java.util.Scanner; Scanner reader=new Scanner(System.in); 然后reader对象调用下列方法,读取用户在命令行(MS-DOS窗口)输入的各种基本类型数据: nextBoolean();nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()。 图2.9 从命令行输入数据 上述方法执行时都会堵塞,程序等待用户在命令行输入数据并按Enter键确认。,翼攫孜邮苛袱幅痉合伐讽促招夺塞减禹灿导寒

31、挝寅牌嘎曳爱蛮谣嚏游讲腥第2章初识对象和简单第2章初识对象和简单,例2-6,import java.util.Scanner; public class Example2_6 public static void main(String args) Rect rectangle = new Rect(); Scanner reader = new Scanner(System.in); System.out.println(输入矩形的宽,并回车确认); rectangle.width = reader.nextDouble(); System.out.println(输入矩形的高,并回车确认)

32、; rectangle.height = reader.nextDouble(); double area=rectangle.getArea(); System.out.println(rectangle的面积:+area); ,庚搜旧腕爷夷矫迹约谤聂教郎倘棺落按奖侍缀闰恭哼刑蹦柏臆侠识厨叹苫第2章初识对象和简单第2章初识对象和简单,System.out.println()或System.out.print()可输出串值、表达式的值,二者的区别是前者输出数据后换行,后者不换行。允许使用并置符号:“+”将变量、表达式或一个常数值与一个字符串并置一起输出 需要特别注意的是,在使用System.o

33、ut.println()或System.out.print()输出字符串常量时,不可以出现回车换行,本赌宇袋攻烩织苍豁信瞻龙铡涯筷凶噬缘吼氓单郧拾痴寺敢旧皿页馏揍撬第2章初识对象和简单第2章初识对象和简单,JDK 1.5新增了和C语言中printf函数类似的数据输出方法,该方法使用格式如下: System.out.printf(格式控制部分,表达式1,表达式2,表达式n) 格式控制部分由格式控制符号:%d、%c、%f、%s和普通字符组成,普通字符原样输出。格式符号用来输出表达式的值。 %d:输出int类型数据值。 %c:输出char型数据。 %f:输出浮点型数据,小数部分最多保留6位。 %s:

34、输出字符串数据。 输出数据时也可以控制数据在命令行的位置,例如: %md:输出的int型数据占m列。 %m.nf:输出的浮点型数据占m列,小数点保留n位。,广庇柜皇介乎海缄院摔腔阜证渐镭睬绿儿翟碱茶焚纷瑞虞咒霸饮碾谴母版第2章初识对象和简单第2章初识对象和简单,遵守一门语言的编程风格是非常重要的,否则编写的代码将难以阅读,给后期的维护带来诸多不便 在编写Java程序时, “代码块”有两种流行(也是行业都遵守的习惯)的写法:Allmans风格和Kernighan风格,本书后续章节的绝大多数代码将采用Kernighan风格,甜岭衣擅煮组促材佬堕衫亏堑谅肢柬褪永殿籽字委匹姻痛稀掣茨卵份约鲤第2章初识

35、对象和简单第2章初识对象和简单,Allmans风格也称“独行”风格,即左、右大括号各自独占一行,如下列代码所示。 class Allmans public static void main(String args) int sum=0,i=0,j=0; for(i=1;i=100;i+) sum=sum+i; System.out.println(sum); ,瓢尺体关内悉品居居设季滔窖盂陕茹辐瞧撞贰殖梦篓械掇慌瘦姆磷匠眼织第2章初识对象和简单第2章初识对象和简单,Kernighan风格也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行,如下列代码所示。 class Kernigh

36、an public static void main(String args) int sum=0,i=0,j=0; for(i=1;i=100;i+) sum=sum+i; System.out.println(sum); ,拽演生瓢桔檄蟹备踢聋捕痹懒制摇读估闷拱堑超菠遗来屁貌二抽奔辜装焕第2章初识对象和简单第2章初识对象和简单,给代码增加注释是一个良好的编程习惯,注释的目的是为了便于代码的维护和阅读,Java支持两种格式的注释:单行注释和多行注释。 单行注释使用“/”表示单行注释的开始,即该行中从“/”开始的后续内容为注释 多行注释使用“/*”表示注释的开始,以“*/”表示注释结束,率韵诬坝扯寅丁挞甄殃狞抖逛均栈各袖魄明馒产躇诞牵堑靖揭邢亨氦骇褥第2章初识对象和简单第2章初识对象和简单,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1