最新java类的数据成员第3章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《最新java类的数据成员第3章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 java 数据 成员 课件
- 资源描述:
-
1、第3章类的数据成员第第3章章 类的数据成员类的数据成员学习目标学习目标 掌握标识符与关键字的概念;掌握简单数据类型byte、short、int、long、float、double、char和boolean等的使用方法;掌握简单数据类型对应的包装类的使用方法;掌握String类型及其常用的操作方法;掌握数组的声明与实例化,理解数组的一些高级操作;学会J2SDK帮助文档的使用方法;理解软件开发中Java语言各种标识符的命名规则。第3章类的数据成员第3章类的数据成员第3章类的数据成员第3章类的数据成员第3章类的数据成员第3章类的数据成员第3章类的数据成员public class Test3 fina
2、l float PI;/PI空白/PI=3.14f;Test3()PI=3.14f;public static void main(String args)Test3 t=new Test3();System.out.println(t.PI);第3章类的数据成员final修饰的变量有三种:静态变量、实例变量和局部变量,修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。分别表示三种类型的常量。一旦给final变量赋初值,值就不能再改变。final变量定义的时候,可以先声明,而不给初值,这种变量也称为final空白,但是无论什么情况,编译器都确保空白final在使用之前必须
3、被初始化。但是,final空白在final关键字final的使用上提供了更大的灵活性,为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。第3章类的数据成员class Test private final String S=final实例变量S;private final int A=100;public final int B=90;public static final int C=80;/可理解为“全局常量”,一旦给值就不可修改,并且通过类名可以访问。private static final int D=70;public final int E;/f
4、inal空白,必须在初始化对象的时候赋初值 public Test(int x)E=x;第3章类的数据成员public static void main(String args)Test t=new Test(2);/t.B=91;/出错,final变量的值一旦给定就无法改变/t.C=81;/出错,final变量的值一旦给定就无法改变 System.out.println(t.S);System.out.println(t.A);System.out.println(t.B);System.out.println(Test3.C);System.out.println(Test3.D);/Sy
5、stem.out.println(Test3.E);/出错,因为E为final空白,依据不同对象值有所不同.且E不是静态的,不能用类名直接访问。System.out.println(t.E);Test t1=new Test(3);System.out.println(t1.E);/final空白变量E依据对象的不同而不同 t1.test1();第3章类的数据成员public void test1()final int a;/final空白,在需要的时候才赋值 final int b=4;/局部常量-final用于局部变量的情形 a=3;System.out.println(a);System
6、.out.println(b);第3章类的数据成员3.2 简单数据类型的使用方法简单数据类型的使用方法数据是一个类的核心,类中定义的数据要有确定的数据类型。数据类型可以是简单类型(如整型、实型等),也可以是复杂类型(如类类型、字符串、数组等)。本节介绍简单数据类型。第3章类的数据成员3.2.1 简单数据类型简单数据类型简单数据类型在Java语言中也叫原始数据类型或基本数据类型。Java语言中定义了四类(八种)基本数据类型:整型:byte、short、int和long 浮点型:double和float 字符型:char 逻辑型:boolean 第3章类的数据成员每一种数据类型有该类型的常量与该类
7、型的变量。每种数据类型只能进行一些确定的运算,如逻辑型只进行逻辑运算。注意:所有Java编程语言中的整数类型都是带符号的数。1.整型整型整型数据类型分为四种:byte、short、int和long。这些不同整型数据类型的意义在于它们所占用的内存空间大小不同,这也表明它们所能表示的数值范围不同。每种整型数据类型的取值范围如表3-1所示。第3章类的数据成员表表3-1 整数类型数据整数类型数据数据类型 表示符号 字节数 数据位数 数据范围 字节型 byte 1 8 bit-2 72 7-1 短整型 short 2 16 bit-2 152 15-1 整型(默认类型)int 4 32 bit-2 31
8、2 31-1 长整型 long 8 64 bit-2 632 63-1 第3章类的数据成员整数类型的数据可以使用十进制、八进制或十六进制表示,具体表示方法如下:十进制:用非0开头的数值表示,如100和-50等;八进制:用0开头的数值表示,如017等;十六进制:用0 x或0X开头的数值表示,数字1015分别用字母“A、B、C、D、E和F表示”(也可以使用小写字母a f),如0 x41、0Xabc等。问题:017 =()100123=()100 x41=()100Xff =()10第3章类的数据成员注意注意1:Java缺省的整数常量类型为int类型。如果要表示long类型整数常量,则需要给整数加后
9、缀L或l,表示为长整数。例如123456L,如果直接写为123456,则系统会认为是int类型数据。注意注意2:与其他语言(如C语言)不同,Java语言每种整数类型的长度(即占用的字节数)在任何系统中都是一样的。这也是为了保证Java语言的跨平台性。第3章类的数据成员2.实型实型实数数据类型是带小数部分的数据类型,也叫浮点型。Java语言中包括两种浮点型数据:float:单精度实数,长度为4字节(即32位);double:双精度实数,长度为8字节(即64位)。实型数据还可以用科学计数法表示,如123e3或123E3,其中其中e或或E之前必须有数字,且之前必须有数字,且e或或E后面的指后面的指数
10、必须为整数。数必须为整数。如如12.3e3,123E2,1.23e4,e-5 ,1.2E-3.5 第3章类的数据成员注意注意1:Java缺省的浮点型常数为double型。如果要表示float型常量,则要给数据加后缀F或f。例如12.34f,若直接写为12.34,则系统认为是双精度实数。在程序中,如果写float f=3.14;将产生编译错误。注意注意2:如果要表示double型,则要给数据加后缀D或d(由于系统默认的浮点型常数为double型,因此也可以不加后缀D或d),如-0.23453D,1.4E+30d。第3章类的数据成员3.逻辑型逻辑型逻辑值有两种状态,即人们常说的“开”和“关”、“成
11、立”和“不成立”、“是”和“否”等。在Java语言中,这样的值用boolean(布尔)类型来表示。其有两个值,即true和false,分别表示“真”和“假”。布尔型变量在程序中的使用方法举例说明如下:boolean aBooleanVar;/说明aBooleanVar为boolean型变量boolean isStudent=false;/说明变量isStudent是boolean型,并赋以初值false注意:Java语言中不可将布尔类型看成整型值(这与C和C+语言不同)。第3章类的数据成员4.字符型字符型字符型是用单引号括起来的一个字符,程序中使用char类型表示。占两个字节。正因为如此,字符
12、型的数据在书写时,可用以u开头的4位十六进制数表示,范围从u0000到uFFFF。第3章类的数据成员具体一个字符型的量,在程序中可以用下面几种方式表示:(1)用Unicode码表示。如字符型变量letter的值为A,则可以写为char letter=u0041;(2)用ASCII码表示。对于字符型的量,由于大多数计算机系统使用ASCII码表示,而Unicode码中包含了ASCII码,因此在Java程序中,为了简便,大多数程序员仍使用ASCII字符的书写习惯,如字符型变量letter的值为A,则可以写为char letter=A;它与上面用Unicode码书写的语句是等价的。第3章类的数据成员(
13、3)用整数表示字符。因为字符型的量在计算机内本质上保存的是一个两个字节的整数,所以字符型变量的取值也可以使用整型常数(注意不能使用整型的变量),如字符型变量letter的值为A,则可以写为char ch=65;但要注意,下面的程序片段是错误的:int a=65;char ch=a;第3章类的数据成员如要正确编译,只有使用强制类型转换:int a=65;char ch=(char)a;注意:在将一个整数赋给一个字符变量时,整数的取值范围要在065535之间(即两个字节可以表示的无符号数据范围)。如果超出这个范围,将产生编译错误。第3章类的数据成员(4)用转义字符。Java语言也允许用转义字符表示
14、一些特殊的字符。之所以叫转义字符,是因为以反斜杠()开头,将其后的字符转变为另外的含义。如用字符变量Tab表示制表符,则可以写为char tab=t;/而不是字符t表3-2是几个常用的转义字符。第3章类的数据成员表表3-2 常用的转义字符常用的转义字符转义字符名称 转义字符 Unicode 码 退格键 b u0008 Tab 键 t u0009 换行符 n u000a 回车键 r u000d 斜杠 u005c 单引号 u0027 双引号 u0022 第3章类的数据成员5.数据类型转换数据类型转换在同一表达式中,有不同的数据类型要参与运算时,要进行数据类型转换。(1)自动类型转换。整型、实型、字
15、符型数据可以混合运算,例如:float a=65+a+23.23f;运算过程中,不同类型的数据会自动转换为同一种数据类型(如上面语句中的数都将转换为float类型),然后进行运算。自动转换的数据类型要兼容,并且转换后的数据类型比转换前的数据类型表示的数值范围大。自动转换按低级类型数据(指数据范围小、精度低)转换成高级类型数据(指数据范围大、精度高)的规则进行。转换规则如表3-3所示。第3章类的数据成员表表3-3 转换规则转换规则操作数 1 类型 操作数 2 类型 转换后的类型 byte、short、char int int byte、short、char、int long long byte、
16、short、char、int、long float float byte、short、char、int、long、float double double 第3章类的数据成员注意1:boolean类型量不能与其他类型量之间相互转换。注意2:byte和short类型的数据计算结果为int型。(2)强制类型转换。在两种情况下,需要使用强制类型转换:高级别数据类型要转换成低级别数据类型。为了提高运算结果的精度。如有程序段:第3章类的数据成员int a=15;int b=7;float c=a/b;/运算结果为c=2.0float d=(float)a/b;/运算结果为c=2.142857强制类型转换的
17、一般格式为:第3章类的数据成员(类型名)表达式如有程序段:int i=356;byte b;b=(byte)i;/强制转换后丢失一部分数据,使得b的值为100注意:使用强制类型转换可能会导致数值溢出或数据精度的下降,应尽量避免使用。第3章类的数据成员3.2.2 数据的运算符数据的运算符数据的运算符表示对数据要进行的运算方式。运算符按其要求的操作数个数分为:一元运算符:参加运算的操作数有一个;二元运算符:参加运算的操作数有两个;三元运算符:参加运算的操作数有三个。运算符按其功能分为七类:算术运算符、关系运算符、逻辑运算符、位运算符、条件运算符、赋值运算符以及一些其他的运算符。第3章类的数据成员1
18、.算术运算符算术运算符 算术运算符用于对整型数和实型数进行运算,按其要求的操作数的个数分为一元运算符和二元运算符两类。(1)一元运算符(+、-)。一元运算符可以位于操作数的前面,如+x或-x,也可以位于操作数的后面,如x+、x-等。无论一元运算符位于操作数的前面或后面,操作数完成运算后,都把结果赋给操作数变量。注意:+x或x+整体参加表达式运算时,表达式的值是不一样的,这与C语言类似。第3章类的数据成员(2)二元运算符。二元运算符有+、-、*、/和%,如两个操作数都是整型,则结果为整型,否则为实型。注意1:%运算符表示求整除的余数,它要求两边的操作数均为整型,结果也为整型。注意2:对于/运算,
19、如果两个操作数是整数时,则结果也为整数,如17/5=3,5/12=0。如果操作数中有一个是实数,则运算结果为实数。第3章类的数据成员2.关系运算符关系运算符 Java语言的关系运算符共有七种:=、!=、=和instanceof。关系运算符用于关系表达式中,一个关系表达式的结果类型为布尔型,即关系式成立为true,不成立为false。对象运算符instanceof用来判断一个对象是否属于某种类类型,如Hello instanceof String结果为true,表示Hello是一个字符串类型的量。注意1:除了整型数和实型数可以混合出现在关系运算符两边外,在一个关系运算符两边的数据类型应保持一致。
20、第3章类的数据成员注意2:因为一个实数在内存中只能用近似值来存储,所以应该避免将两个实数进行“=”比较。如下面的判断语句:if(23.12121f=23.121211f)System.out.print(23.12121=23.121211);读者可上机测试一下是否会输出“23.12121=23.121211”。第3章类的数据成员3.逻辑运算符逻辑运算符逻辑运算符有六个,它们是:!(非)、&(与)、|(或)、(异或,即运算符两边的值相异时为true,相同时为false)、&(短路与)和|(短路或)。&又称为无条件与运算符,|又称为无条件或运算符。使用&和|运算符可以保证不管左边的操作数是tru
21、e还是false,总要计算右边操作数的值。例如:计算false&(1223)运算式的结果时,尽管从第1个操作数的值false就可以得出该表达式的结果为false,但系统还是要进行(1223)的运算。第3章类的数据成员运算符&和|可以提高逻辑运算的速度。例如,在计算(1234)&(ab)时,因为1234为false,所以可以直接得出表达式的结果为false,不再需要计算运算符&右边的ab。在计算124)|(3423)时,因为124为true,所以可以直接得出表达式的结果为true,不再需要计算运算符|右边的3423。因此在逻辑表达式中,应尽量使用&和|运算符,以提高运算速度。注意:逻辑运算符要求
22、操作数和结果值都是布尔型量。第3章类的数据成员4.赋值运算符赋值运算符赋值运算符用来把“=”右边表达式的值赋给左边的变量,即将右边表达式的值存放在变量名所表示的存储单元中,这样的语句又叫赋值语句。它的语法格式如下:变量名=表达式;复合赋值运算符有+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(余数等于)等。注意:赋值号两边的数据类型不同时,如果将数据类型长度较短的量赋给数据类型长度较长的变量,则可以进行自动类型转换,否则要进行强制类型转换。例如:第3章类的数据成员byte MyByte=10;int MyInteger=-1;MyInterger=MyByte;MyByt
23、e=(byte)MyInteger;第3章类的数据成员5.条件运算符条件运算符 条件运算符是“?:”,它要求有三个操作数,其格式如下:?:第一个操作数必须是布尔表达式,其他两个操作数可以是数值型或布尔型表达式。条件运算符的含义是:当的值为真时,结果为的值,否则为的值。例如:第3章类的数据成员int a=12;int b=34;int max=(a b)?a:b;则程序运行后,max变量中存放a和b中较大的一个数。第3章类的数据成员6.位运算符位运算符 位运算是对操作数以二进制位为单位进行的运算,位运算的操作数和结果都是整型量。位运算有七个,它们是:、&、(右移)、(不带符号的右移)。例如:in
24、t a=12;int b=7;int c=a&b;/1100&0111=0100 c=4int c=a|b;/1100|0111=1111 c=15int c=a b;/1100|0111=1011 c=11int c=a 2;/1100 0011 c=3第3章类的数据成员7.其他运算符其他运算符()和 运算符:括号运算符()的优先级是所有运算符中最高的,它可以改变表达式运算的先后顺序。在有些情况下,它可以表示方法或函数的调用。括号运算符 是数组运算符(见3.5节)。运算符:用于访问对象的成员属性或成员方法。new运算符:用于创建一个新的对象。第3章类的数据成员8.运算符的优先级运算符的优先级
25、运算符的优先级由高到低的规律是:.()单目运算算术运算关系运算逻辑运算?:=详细情况见表3-4。第3章类的数据成员表表3-4 运算符的优先级别运算符的优先级别优先次序 运算符 1.()2+-!instanceof 3 new(type)4*/%5+-6 =8=!=9&10 11|12&13|14?:15=+=-=*=/=%=16&=|=第3章类的数据成员3.2.3 【案例【案例3-1】解方程解方程1.案例描述案例描述设计表示一元一次方程(ax+b=0)的类,并能根据a的系数情况求解方程。2.案例效果案例效果案例程序的执行效果如图3-1所示。图中从第2行开始,输出了4个不同方程及其解的情况。第3
展开阅读全文