《初识对象和简单》PPT课件.ppt

上传人:sh****n 文档编号:7183888 上传时间:2020-03-15 格式:PPT 页数:47 大小:3.85MB
返回 下载 相关 举报
《初识对象和简单》PPT课件.ppt_第1页
第1页 / 共47页
《初识对象和简单》PPT课件.ppt_第2页
第2页 / 共47页
《初识对象和简单》PPT课件.ppt_第3页
第3页 / 共47页
点击查看更多>>
资源描述
第2章初识对象和简单数据类型 主要内容问题的提出简单的矩形类使用矩形类创建对象在Java应用程序中使用矩形对象Java应用程序的基本结构标识符与关键字以及简单数据类型编程风格难点使用矩形类创建对象 本章导读 编写一个Java应用程序 该程序可以输出矩形的面积 publicclassComputerRectArea publicstaticvoidmain Stringargs doubleheight 高doublewidth 宽doublearea 面积height 23 89 width 108 87 area height width 计算面积System out println area 2 1问题的提出 面向对象的一个重要思想就是通过抽象得到类 即将某些数据以及针对这些数据上的操作封装在一个类中 也就是说 抽象的关键点有两点 一是数据 二是数据上的操作 我们对所观察的矩形做如下抽象 矩形具有宽和高之属性 可以使用矩形的宽和高计算出矩形的面积 2 2简单的矩形类 现在根据如上的抽象 编写出如下的Rect类 publicclassRect doublewidth 矩形的宽doubleheight 矩形的高doublegetArea 计算面积的方法 doublearea width height returnarea Rect类不是主类 因为Rect类没有main方法 类是Java语言中最重要的一种数据类型 用类创建对象需经过2个步骤 1 声明对象 2 为对象分配 成员 变量 2 3使用矩形类创建对象 由于类也是一种数据类型 因此可以使用类来声明一个变量 那么 在Java语言中 用类声明的变量就称之为一个对象例如用Rect声明一个名字为rectangle1的对象的代码如下 Rectrectangle1 声明对象变量rectangle1后 rectangle1的内存中还没有任何数据 称这时的rectangle1是一个空对象 2 3 1用类声明对象 图2 2内存模型 程序声明对象后 需要为所声明的对象分配变量 这样该对象才可以被程序使用 为上述Rect类声明的rectangle1对象分配内存的代码如下 rectangle1 newRect 这里new是为对象分配变量的运算符 Rect 是Rect类的构造方法 2 3 2为对象分配变量 new运算符在为变量height weight分配内存后 将返回一个引用 该引用包含着所分配的变量的有关内存地址的等信息 如果将该引用赋值到rectangle1对象中 rectangle1 newRect rectangle1对象就诞生了 0 xab187 0 0 0 0 width height rectangle1 在声明对象时可以同时为对象分配变量Rectrectangle1 newRect 一个类可以创建多个不同的对象 这些对象将被分配不同的变量 因此 改变其中一个对象的状态不会影响其它对象的状态如 Rectrectangle2 newRect Rectrectangle3 newRect 对象通过使用 运算符操作自己的变量和调用方法 对象操作自己的变量的的格式为 对象 变量 例如 rectangle1 width 12 rectangle1 height 9 调用方法的格式为 对象 方法 例如 rectangle1 getArea 2 3 3使用对象 例2 1Example2 1 javapublicclassExample2 1 publicstaticvoidmain Stringargs Rectrectangle1 rectangle2 声明2个对象rectangle1 newRect 创建对象rectangle2 newRect rectangle1 width 128 rectangle1 height 69 rectangle2 width 18 9 rectangle2 height 59 8 doublearea rectangle1 getArea System out println rectangle1的面积 area area rectangle2 getArea System out println rectangle2的面积 area 2 4在Java应用程序中使用矩形对象 一个Java应用程序由若干个类所构成 即由若干个字节码文件所构成 但必须有一个主类 即含有main方法的类 Java应用程序总是从主类的main方法开始执行 在编写一个Java应用程序时 可以编写若干个Java源文件 每个源文件编译后产生一个类的字节码文件 通常需要两个步骤 1 将应用程序涉及的Java源文件保存在相同的目录中 分别编译通过 得到Java应用程序所需要的字节码文件 2 运行主类 2 5Java应用程序的基本结构 运行一个Java应用程序两种方法 1 分别编译各个java源文件 产生字节码文件 并将得到的字节码文件和主类的字节码文件存放在同一个目录中 最后解释执行主类字节码 2 如果所有源文件在一个目录下 也可以只编译主类的源文件 Java系统会自动地先编译主类需要的其他源文件 例2 2 Circle javapublicclassCircle doubleradius 圆的半径doublegetArea return3 1415926 radius Lader javapublicclassLader doubleabove 梯形的上底doublebottom 梯形的下底doubleheight 梯形的高doublegetArea return above bottom height 2 例2 2 MainClass javapublicclassMainClass publicstaticvoidmain Stringargs Circlecircle newCircle circle radius 100 doublearea circle getArea System out println 圆的面积 area Laderlader newLader lader above 10 lader bottom 56 lader height 8 9 area lader getArea System out println 梯形的面积 area 总要说明 1 Java允许在一个Java源文件中编写多个类 但至多只能有一个类使用public修饰 如果源文件中有多个类 但没有public类 那么源文件的名字只要和某个类的名字相同 并且扩展名是 java就可以了 如果有一个类是public类 那么源文件的名字必须与这个类的名字完全相同 扩展名是 java 2 6一个源文件中编写多个类 2 编译源文件将生成多个扩展名为 class的字节码文件 每个字节码文件的名字与源文件中对应的类的名字相同 这些字节码文件被存放在与源文件相同的目录中 例2 3 publicclassRectangle Rectangle类 doublewidth doubleheight doublegetArea returnwidth height classExample2 3 主类 publicstaticvoidmain Stringargs Rectangler r newRectangle r width 1 819 r height 1 5 doublearea r getArea System out println 矩形的面积 area 注意 保存 为Rectangle java编译 javacRectangle java执行 javaExample2 3 2 7 1标识符 标识符由字母 下划线 美元符号和数字组成 长度不受限制 标识符的第一个字符不能是数字字符 标识符不能是关键字 关键字详细介绍见2 1 2小节 标识符不能是true false和null 尽管true false和null不是Java关键字 Java语言使用Unicode标准字符集 2 7标识符与关键字 以下是Java的50个关键字 abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile 2 7 2关键字 Java语言有8种简单数据类型 分别是 boolean byte short int long float double char 这8种简单数据类型习惯上可分为以下四大类型 逻辑类型 boolean 整数类型 byte short int long 字符类型 char 浮点类型 float double 2 8简单数据类型 常量 true false 变量 使用关键字boolean来声明逻辑变量 声明时也可以赋给初值 例如 booleanx ok true no false 2 8 1逻辑类型 整型数据分为4种 1 int型 占4字节 常量 123 6000 十进制 077 八进制 0 x3ABC 十六进制 变量 使用关键字int来声明int型变量 声明时也可以赋给初值intx 12 y 9980 z 2 8 2整数类型 2 byte型 变量 使用关键字byte来声明byte型变量 常量 Java中不存在byte型常量的表示法 但可以把一定范围内的int型常量赋值给byte型变量 对于byte型变量 内存分配给1个字节 占8位 因此byte型变量的取值范围是 27 27 1 如果需要强调一个整数是byte型数据时 可以使用强制转换运算的结果来表示 byte 12 byte 98 3 short型 变量 使用关键字short来声明short型变量 常量 和byte型类似 Java中也不存在short型常量的表示法 但可以把一定范围内的int型常量赋值给short型变量 对于short型变量 内存分配给2个字节 占16位 因此short型变量的取值范围是 215 215 1 如果需要强调一个整数是short型数据时 可以使用强制转换运算的结果来表示 short 12 short 98 4 long型 占8个字节 常量 long型常量用后缀L来表示 变量 使用关键字long来声明long型变量longwidth 12L height 2005L length 常量 A b 9 好 t 等 即用单引号扩起的Unicode表中的一个字符 变量 使用关键字char来声明char型变量 内存分配两个字节 最高位不是符号位 没有负数的char 2 8 3字符类型 了解转义字符如 charch1 n ch2 一个字符和和其在Unicode表中的顺序对应关系若想知道在uinicode表中位置 使用int型强制转换若想知道一个0 65536之间的数所代表的unicode表中相应位置上的字符要使用char强制转换 例2 4Example2 4 java publicclassExample2 4 publicstaticvoidmain Stringargs charch1 国 ch2 庆 intp1 969 p2 12353 System 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 浮点型分为float和double型 1 float型 占4个字节 常量 453 5439f 21379 987F 231 0f 小数表示法 2e40f 2乘10的40次方 指数表示法 需要特别注意的是 常量后面必须要有后缀 f 或 F 变量 使用关键字float来声明float型变量 2 8 4浮点类型 2 double型 常量 2389 539d 2318908 987 0 05 小数表示法 1e 90 1乘10的 90次方 指数表示法 对于double常量 后面可以有后缀 d 或 D 但允许省略该后缀 变量 使用关键字double来声明double型变量 小结 Java对安全性要求极高 不可以在定义变量后 而在未指定任何值给它之前就使用它 例2 5 有3个类People 具有刻画人的身高和体重的简单类型的变量 Machine 创建的对象可以根据People类对象的成员变量的值判断人的体重是 胖或瘦主类Example2 5 负责用People类和Machine类创建对象 例2 5 People publicclassPeople floatweight intheight voidspeak System out println 我的身高是 height cm System out println 我的体重是 weight kg 例2 5 Machine publicclassMachine publicvoidestimate intheight doubleweight doublenumber height 100 weight if number 1 1 System out println 偏瘦 elseif number 0 96 System out println 正常 elseif number 0 96 System out println 偏胖 例2 5 Example2 5 publicclassExample2 5 publicstaticvoidmain String args People张三 李四 Machine体检器 体检器 newMachine 张三 newPeople 张三 weight 82 5f 张三 height 176 张三 speak 体检器 estimate 张三 height 张三 weight 李四 newPeople 李四 weight 73f 李四 height 171 李四 speak 体检器 estimate 李四 height 李四 weight 当我们把一种基本数据类型变量的值赋给另一种基本类型变量时 这就涉及数据转换 下列基本类型会涉及数据转换 不包括逻辑类型 将这些类型按精度从 低 到 高 排列 byteshortcharintlongfloatdouble当把级别低的变量的值赋给级别高的变量时 系统自动完成数据类型的转换 当把级别高的变量的值赋给级别低的变量时 必须使用显示类型转换运算 显示转换的格式 类型名 要转换的值 2 9简单数据类型的级别与数据转换 当把一个int型常量赋值给一个byte和short型变量时 不可以超出其取值范围如 bytea byte 128把double型常量赋值给float型变量时要进行强制转换如 floatx 2 4 Scanner是JDK1 5新增的一个类 可以使用该类创建一个对象 注意 使用前要导入 importjava util Scanner Scannerreader newScanner System in 然后reader对象调用下列方法 读取用户在命令行 MS DOS窗口 输入的各种基本类型数据 nextBoolean nextByte nextShort nextInt nextLong nextFloat nextDouble 图2 9从命令行输入数据上述方法执行时都会堵塞 程序等待用户在命令行输入数据并按Enter键确认 2 10从命令行窗口输入 输出数据 例2 6 importjava util Scanner publicclassExample2 6 publicstaticvoidmain Stringargs Rectrectangle newRect Scannerreader newScanner System in System out println 输入矩形的宽 并回车确认 rectangle width reader nextDouble System out println 输入矩形的高 并回车确认 rectangle height reader nextDouble doublearea rectangle getArea System out println rectangle的面积 area System out println 或System out print 可输出串值 表达式的值 二者的区别是前者输出数据后换行 后者不换行 允许使用并置符号 将变量 表达式或一个常数值与一个字符串并置一起输出需要特别注意的是 在使用System out println 或System out print 输出字符串常量时 不可以出现回车换行 2 10 2输出基本型数据 JDK1 5新增了和C语言中printf函数类似的数据输出方法 该方法使用格式如下 System out printf 格式控制部分 表达式1 表达式2 表达式n 格式控制部分由格式控制符号 d c f s和普通字符组成 普通字符原样输出 格式符号用来输出表达式的值 d 输出int类型数据值 c 输出char型数据 f 输出浮点型数据 小数部分最多保留6位 s 输出字符串数据 输出数据时也可以控制数据在命令行的位置 例如 md 输出的int型数据占m列 m nf 输出的浮点型数据占m列 小数点保留n位 遵守一门语言的编程风格是非常重要的 否则编写的代码将难以阅读 给后期的维护带来诸多不便在编写Java程序时 代码块 有两种流行 也是行业都遵守的习惯 的写法 Allmans风格和Kernighan风格 本书后续章节的绝大多数代码将采用Kernighan风格 2 11编程风格 Allmans风格也称 独行 风格 即左 右大括号各自独占一行 如下列代码所示 classAllmans publicstaticvoidmain Stringargs intsum 0 i 0 j 0 for i 1 i 100 i sum sum i System out println sum 2 11 1Allmans风格 Kernighan风格也称 行尾 风格 即左大括号在上一行的行尾 而右大括号独占一行 如下列代码所示 classKernighan publicstaticvoidmain Stringargs intsum 0 i 0 j 0 for i 1 i 100 i sum sum i System out println sum 2 11 2Kernighan风格 给代码增加注释是一个良好的编程习惯 注释的目的是为了便于代码的维护和阅读 Java支持两种格式的注释 单行注释和多行注释 单行注释使用 表示单行注释的开始 即该行中从 开始的后续内容为注释多行注释使用 表示注释的开始 以 表示注释结束 2 11 3注释
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!