




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Chap 03对象的属性 -变量详述,掌握Java中的基本数据类型 掌握变量的声明和使用 掌握Java数组的定义和使用 掌握对象的成员变量的赋值和使用,变量与基本数据类型,Java与C一样,数据通过变量来存储和访问。变量必须先声明再使用,格式如下: 变量的类型 变量名称; 变量的类型 变量名称1,变量名称2,; 变量的类型 变量名称 变量的值; Java语言里变量只声明而不赋初值,会自动赋默认值。 Java中可以将声明放在代码中的任何地方,良好的编程习惯提倡把变量的声明尽可能地靠近变量第一次使用的地方。,整型,整型相关说明,在Java语言规定,直接写出的整数被认为是int类型; 如果需要描述一
2、个byte类型的数据,通常要使用强制类型转换,如 (byte)10 如果要描述一个short类型的数据,需要使用强制类型转换,如 (short)15 要描述长整型的整数需要在数字后要加上字母L或l,如6000000000L 八进制的数以0开头,十六进制数以0 x或0X开头。如010表示八进制中的8,0 x10表示十六进制中的16。 Java中没有任何无符号unsigned类型。,实型,实型相关说明,Java语言规定,直接写出的浮点数被认为是double类型。 也可以通过在数字后加上字母D或d来表明当前数据是double型的实数常量,如37.4D,-3.69d等。 要描述float型的实数常量需
3、要在数字后要加上字母F或f,如2.5F,0.7f都是单精度浮点类型数据。 float类型变量保留67位有效数字,double类型变量保留15位有效数字,实际精度取决于具体数值。,字符型,Java语言中的字符采用UNICODE编码,一个字符在内存中占两个字节空间。这使得Java可以使用char类型描述更多种类的字符,包括英文字母、标点符号、汉字、日文、韩文等。 字符类型的数据必须用单引号括起来,一个字符型的变量只能存放一个字符。如: char ch1 = a, ch2 = *, ch3 = 好; char类型的变量可以与整数类型的变量通用,字符型,Java中的字符型变量可以用来存储转义字符。,布
4、尔类型(逻辑型),布尔类型用来描述真与假,关键字是boolean 每个boolean类型的变量在内存中占1个字节的空间。 boolean类型数据的常量有true和false,boolean类型的变量只能存储这两个值之一,不能存储其它内容。 在Java语言中逻辑数据不会转换成其它数值类型的数据。,数据类型的转换,自动类型转换(隐式),数据类型的转换,强制类型转换:将一个数据或表达式强制转换成所需的更低类型,格式为: (类型名) 要转换的数据 强制类型转换是得到一个中间变量,原变量类型并不发生变化。 boolean类型不能与任何数值类型进行类型转换。,常量,Java共有五种类型的常量。 整型常量:
5、如12, 12L 浮点型常量:如12F, 12D, 12.0E2D 布尔型常量:如true, false 字符型常量:如a, 9 字符串常量:如“a”, ”Nice”, “你好” 自定义常量用关键字final来修饰,要在定义时赋值,常量定义之后就不能再改变它的值。 final public char ch = #;,字符串类型,Java提供了字符串类型String,实际上String是一个类,它不属于基本数据类型,但字符串使用得实在太频繁了,所以Java提供了对它更方便的使用方式。 字符串变量(确切说应该是对象,因为String其实是一个类,但我们简单说为变量),可以像基本数据类型变量那样被赋
6、值、访问。,算术运算符,有关算术运算符的说明,Java语言中运算符“+”可用来连接两个字符串。 “Abc”+123的结果为”Abc123” 整数相除结果取整。操作数有小数是结果为小数。 Java语言里“%”可对整数取模,也可对小数取模。16.2%5值为1.2 可对char类型数据运算,不能对boolean类型数据进行运算。 先(乘、除、取余),后(加、减)。,自增自减运算符,+、- 使变量增1、减1 +i,i+相当于i=i+1; -i,i-相当于i=i-1;,先执行i=i+1,再使用i 先使用i,再执行i=i+1,a = 3 ; b = -a; System.out.print (b +( a
7、 +) ;,输出:2 2 最后a的值变为3,符号在前,先自增(减) 符号在后,后自增(减),/*a=a-1;b=a;a为2,b为2*/,关系运算符,关系运算符的使用注意: 区分“=”与“=”。a=1是比较变量a的值是否等于1,结果为逻辑值。 a=1是将常量1赋值给变量a。 5=5的结果为true。 关系运算符中=和!=的优先级略低,混合比较时其他关系运算符要先执行,后判断相等(=)和不等(!=)。,逻辑运算符,在混合运算时,逻辑非(!)的优先级别最高,逻辑与( 元素数据类型 数组名称; 注意: 两种声明方式完全相同 在 里面什么都不能有 声明一个数组并没有为数组元素分配内存, 因此还不能使用它
8、们。,一维数组的创建,声明数组后,通过使用运算符new为数组分配内存空间,之后数组才能存储数据。 格式: 数组名称=new 元素数据类型元素个数;,/*声明整型数组intArray, 包含10个元素*/ int intArray; intArray=new int10; /*声明单精度型数组floatArray,包含15个元素*/ float floatArray = new float15;,一维数组创建的注意,一维数组在声明的时候,里面是什么都不能有的,但是在使用new运算符进行创建的时候,必须指明数组的长度,只有这样系统才能知道应该给这个数组分配多少内存。 与C语言不同,Java允许在创
9、建数组时使用整型变量来指定数组元素的个数。这位数组的使用带来了很大的灵活性。,一维数组的创建,声明整型数组a, 包含10个元素 int a = new int10;,a0 a1 a2 a3 a4 a5 a6 a7 a8 a9,数组a,赋值符“=“此处 实现让a指向这 10个连续空间。,一维数组的创建,声明单精度型数组b,包含5个元素 int n = 5; float b = new floatn;,b0 b1 b2 b3 b4,数组b,一维数组的初始化,Java中,用new运算符构造一个数组时,系统就自动将这个数组初始化好了。即数组的各个元素都被赋了初始值。 如下:,数组的静态初始化: 声明数
10、组的同时对数组进行初始化赋值。 char ch = a, b, c, d, n; 将各个元素的初始值放在赋值号=右边的大括号里面,各个值之间用逗号,隔开 在赋值号=的右边没有new运算符,也不说明数组的长度,系统会根据初始值的个数,自动计算数组的长度,一维数组的初始化,通过赋值语句对数组进行初始化赋值。,一维数组的初始化,int num = new int10; for( int i=0 ; i=10 ; i+ ) numi=i*10;,String s = new String3; s0 = “I”; s1 = “love”; s2 = “China!”;,类类型的数组在创建之后,还要记得在
11、使用前必须创建每个数组元素对象。,一维数组的初始化,Student stu = new Student3; stu0 = new Student(); stu1 = new Student(); stu2 = new Student();,利用length属性获得数组的长度,使用点运算符.和length属性可以得到数组的长度。 格式: 数组名称.length int intArray = new int20; int L = intArray.length;,则将数组的长度值20赋值给了变量L;,一维数组的有关说明,数组的类型可以是复杂结构类型; 数组名代表数组的首地址,数组间可相互直接赋值,
12、表示数组共同指向同一地址。 int a=1,2,3,4,5 , b; b=a; /数组b指向和数组a相同的地址,a0 a1 a2 a3 a4,数组a,b0 b1 b2 b3 b4,数组b,一维数组的有关说明,引用数组元素使用数组名加下标,下标从0开始。 对数组进行构造时,中括号里可以使用带有整型数值的变量。 引用数组元素时下标不能超出范围。Java会自动对下标越界检查,编译时没有提示,但运行产生错误。,从命令行输入数据,步骤一:引入相关类。 import java.util.Scanner; 步骤二:创建Scanner类的一个对象。 Scanner reader = new Scanner(S
13、ystem.in); 步骤三:使用reader对象调用下列方法读取用户输入的各种类型数据。 nextBoolean();nextByte(); nextShort(); nextInt(); nextLong(); nextFloat(); nextDouble();,从命令行输入数据,import java.util.*; class ReadDemo public static void main(String args) System.out.println(请输入若干个数,每输入一个数回车确认); System.out.println(最后输入数字0结束输入操作); Scanner r
14、eader = new Scanner(System.in); double sum = 0; int m = 0; double x = reader.nextDouble(); while(x!=0) m = m+1; sum = sum+x; x = reader.nextDouble(); System.out.println(m+个数的和为+sum); System.out.println(m+个数的平均值为+sum/m); ,对象的成员变量,成员变量用来描述对象的状态(属性); 成员变量可以根据需要使用任意类型,包括数组、类类型等;,class Student String nam
15、e; double score; ,class Line Point p1,p2; class Point double x,y; ,对象的成员变量,复杂类型的成员变量要注意必须先创建,然后再使用。如数组、类类型。 通常不允许通过对象直接操作成员变量,要在类的内部定义相应的方法对成员变量进行数据的存储或访问。 static修饰过的变量称为静态变量,静态变量可以通过类名直接引用。相关内容将在第五部分具体介绍。,对象的成员变量,可以在定义类的同时给成员变量赋初值。 class Rectangle int width = 10; int height = 20; 相当于规定了使用该类时成员变量的默认值。如,使用上面的Rectangle类创建对象,每个对象的长width和宽height都默认为10、20。,对象的成员变量,成员变量赋初值必须与成员变量的声明写在同一条语句里,因为类的内部不允许直接出现执行语句。 class Rectangle int width ; int height ; width = 10; height = 20; ,小结,基本数据类型:注意long与float类型数据要加字母后缀;boo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年部编版新教材语文小学三年级上册第三单元复习课教案
- 海安中学高二数学试卷
- 湖南文科数学试卷
- 建邺一模数学试卷
- 《网络综合布线》教案 项目2任务2 综合布线的设计原则
- 健康管理中心相关课件
- 上海市第四中学2025年高一物理第二学期期末经典模拟试题含解析
- 2025年中国风电塔架行业市场发展监测及投资战略咨询报告
- 中国加氢石油树脂行业市场调查报告
- 中国双乙烯酮行业市场调查报告
- HJ 636-2012 水质 总氮的测定 碱性过硫酸钾消解紫外分光光度法
- 妇科医生进修汇报课件
- (新版)心理倾听师资格考试备考题库(精简250题)
- 宋龙渊道德经讲义
- 受限空间安全作业票填写模板(2022年更新)
- ATP-MgCl2产品介绍(课堂PPT)
- [计算机]力克工艺单软件kaledo_style案例
- 山东大学生物化学课件绪论
- 李开复:人工智能应用的四波浪潮
- 公安机关警用装备申领登记表模板
- 镇江区国有土地上房屋征收评价技术规范
评论
0/150
提交评论