版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对象的属性变量的详述第一页,共四十一页,2022年,8月28日变量与基本数据类型Java与C一样,数据通过变量来存储和访问。变量必须先声明再使用,格式如下: 变量的类型变量名称; 变量的类型变量名称1,变量名称2,…; 变量的类型变量名称=变量的值;Java语言里变量只声明而不赋初值,会自动赋默认值。Java中可以将声明放在代码中的任何地方,良好的编程习惯提倡把变量的声明尽可能地靠近变量第一次使用的地方。第二页,共四十一页,2022年,8月28日整型int常整型4字节intx=-100;byte字节型1字节bytea=5;short短整型2字节shortm=25;long长整型8字节longn=-2000000000L;第三页,共四十一页,2022年,8月28日整型相关说明在Java语言规定,直接写出的整数被认为是int类型;如果需要描述一个byte类型的数据,通常要使用强制类型转换,如(byte)10如果要描述一个short类型的数据,需要使用强制类型转换,如(short)15要描述长整型的整数需要在数字后要加上字母L或l,如6000000000L八进制的数以0开头,十六进制数以0x或0X开头。如010表示八进制中的8,0x10表示十六进制中的16。Java中没有任何无符号unsigned类型。第四页,共四十一页,2022年,8月28日实型关键字名称存储需求定义变量举例float单精度浮点型4字节floatx=3.25f;double双精度浮点型8字节doubley=37.4;第五页,共四十一页,2022年,8月28日实型相关说明Java语言规定,直接写出的浮点数被认为是double类型。也可以通过在数字后加上字母D或d来表明当前数据是double型的实数常量,如37.4D,-3.69d等。要描述float型的实数常量需要在数字后要加上字母F或f,如2.5F,0.7f都是单精度浮点类型数据。float类型变量保留6~7位有效数字,double类型变量保留15位有效数字,实际精度取决于具体数值。第六页,共四十一页,2022年,8月28日字符型Java语言中的字符采用UNICODE编码,一个字符在内存中占两个字节空间。这使得Java可以使用char类型描述更多种类的字符,包括英文字母、标点符号、汉字、日文、韩文等。字符类型的数据必须用单引号括起来,一个字符型的变量只能存放一个字符。如:
charch1=‘a’,ch2=‘*’,ch3=‘好’;char类型的变量可以与整数类型的变量通用第七页,共四十一页,2022年,8月28日字符型Java中的字符型变量可以用来存储转义字符。转义字符名称\n换行\t制表位\r回车\\反斜线\’单引号\”双引号第八页,共四十一页,2022年,8月28日布尔类型(逻辑型)布尔类型用来描述真与假,关键字是boolean每个boolean类型的变量在内存中占1个字节的空间。boolean类型数据的常量有true和false,boolean类型的变量只能存储这两个值之一,不能存储其它内容。在Java语言中逻辑数据不会转换成其它数值类型的数据。第九页,共四十一页,2022年,8月28日数据类型的转换自动类型转换(隐式)charbyteshortintlongfloatdouble第十页,共四十一页,2022年,8月28日数据类型的转换强制类型转换:将一个数据或表达式强制转换成所需的更低类型,格式为:
(类型名)要转换的数据强制类型转换是得到一个中间变量,原变量类型并不发生变化。boolean类型不能与任何数值类型进行类型转换。第十一页,共四十一页,2022年,8月28日常量Java共有五种类型的常量。整型常量:如12,12L浮点型常量:如12F,12D,12.0E2D布尔型常量:如true,false字符型常量:如‘a’,’9’字符串常量:如“a”,”Nice”,“你好”自定义常量用关键字final来修饰,要在定义时赋值,常量定义之后就不能再改变它的值。finalpubliccharch=’#’;
第十二页,共四十一页,2022年,8月28日字符串类型Java提供了字符串类型String,实际上String是一个类,它不属于基本数据类型,但字符串使用得实在太频繁了,所以Java提供了对它更方便的使用方式。字符串变量(确切说应该是对象,因为String其实是一个类,但我们简单说为变量),可以像基本数据类型变量那样被赋值、访问。第十三页,共四十一页,2022年,8月28日算术运算符+加法运算符,或正值运算符。如3+5,+3-减法运算符,或负值运算符。如5-2,-3*乘法运算符。如3*5/除法运算符。如5/3%模运算符(求余运算符),可对小数操作。如7%4=38.5%3=2.5第十四页,共四十一页,2022年,8月28日有关算术运算符的说明Java语言中运算符“+”可用来连接两个字符串。“Abc”+123的结果为”Abc123”整数相除结果取整。操作数有小数是结果为小数。Java语言里“%”可对整数取模,也可对小数取模。16.2%5值为1.2可对char类型数据运算,不能对boolean类型数据进行运算。先(乘、除、取余),后(加、减)。第十五页,共四十一页,2022年,8月28日自增自减运算符++、--使变量增1、减1
++i,i++相当于i=i+1;
--i,i--相当于i=i-1;先执行i=i+1,再使用i先使用i,再执行i=i+1a=3;b=--a;System.out.print(b+(a++));输出:22最后a的值变为3符号在前,先自增(减)
符号在后,后自增(减)/*a=a-1;b=a;a为2,b为2*/第十六页,共四十一页,2022年,8月28日关系运算符关系运算符的使用注意:区分“==”与“=”。a==1是比较变量a的值是否等于1,结果为逻辑值。a=1是将常量1赋值给变量a。5>=5的结果为true。关系运算符中==和!=的优先级略低,混合比较时其他关系运算符要先执行,后判断相等(==)和不等(!=)。第十七页,共四十一页,2022年,8月28日逻辑运算符在混合运算时,逻辑非(!)的优先级别最高,逻辑与(&&)和逻辑或(||)的优先级别低于关系运算符的。利用&&、||做逻辑或运算时,如果只计算运算符表达式左边的结果即可确定与、或的结果,则右边的表达式将不会执行。第十八页,共四十一页,2022年,8月28日赋值运算符自右向左赋值,左边必须是变量,不能写常量或表达式。赋值运算符的优先级别低于其他运算符,在混合使用时,先处理等号右边的复杂表达式,然后把处理结果赋给左边的变量。在使用运算符时,尽量使其右端表达式的类型与其左端变量类型相一致,否则要进行类型转换。允许进行连续赋值。复合的赋值运算符:+=、-=、/=、*=、%=,先运算后赋值,后面的表达式相当于有括号。第十九页,共四十一页,2022年,8月28日条件运算符<表达式1>?<表达式2>:<表达式3>先判断表达式1,如果值为true,则执行表达式2,将其结果作为三目条件表达式的值;否则,将表达式3的结果作为三目条件表达式的值。条件运算符可简单替换双分支选择结构语句。第二十页,共四十一页,2022年,8月28日数组的概念Java中的数组是一个复合数据类型数组中的元素具有相同的类型元素类型可以是基本数据类型,类的对象,也可以是数组类型数组元素是有序排列的,使用下标来访问数组有一个属性length,表示数组的长度数组必须经过声明,构造,赋初值三个步骤以后才能使用(定义—内存分配—赋值)第二十一页,共四十一页,2022年,8月28日一维数组的声明声明一个一维数组的方式如下:元素数据类型[]数组名称;元素数据类型数组名称[];注意:两种声明方式完全相同在[]里面什么都不能有声明一个数组并没有为数组元素分配内存,因此还不能使用它们。第二十二页,共四十一页,2022年,8月28日一维数组的创建声明数组后,通过使用运算符new为数组分配内存空间,之后数组才能存储数据。格式:
数组名称=new
元素数据类型[元素个数];
/*声明整型数组intArray,包含10个元素*/int[]intArray;intArray=newint[10];
/*声明单精度型数组floatArray,包含15个元素*/
floatfloatArray[]=newfloat[15];第二十三页,共四十一页,2022年,8月28日一维数组创建的注意一维数组在声明的时候,[]里面是什么都不能有的,但是在使用new运算符进行创建的时候,必须指明数组的长度,只有这样系统才能知道应该给这个数组分配多少内存。与C语言不同,Java允许在创建数组时使用整型变量来指定数组元素的个数。这位数组的使用带来了很大的灵活性。第二十四页,共四十一页,2022年,8月28日一维数组的创建声明整型数组a,包含10个元素
int[]a=newint[10];a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]数组a10个内存空间,每个空间可存放一个整型数据赋值符“=“此处实现让a指向这10个连续空间。第二十五页,共四十一页,2022年,8月28日一维数组的创建声明单精度型数组b,包含5个元素
intn=5;floatb[]=newfloat[n];b[0]b[1]b[2]b[3]b[4]数组b5个内存空间,每个空间可存放一个单精度型数据第二十六页,共四十一页,2022年,8月28日一维数组的初始化
Java中,用new运算符构造一个数组时,系统就自动将这个数组初始化好了。即数组的各个元素都被赋了初始值。如下:数组元素的类型初始值对象引用null整型变量0浮点变量0.0布尔变量false字符变量‘\u0000’第二十七页,共四十一页,2022年,8月28日数组的静态初始化:声明数组的同时对数组进行初始化赋值。
charch[]={‘a’,‘b’,‘c’,‘d’,‘\n’};将各个元素的初始值放在赋值号=右边的大括号{}里面,各个值之间用逗号,隔开在赋值号=的右边没有new运算符,也不说明数组的长度,系统会根据初始值的个数,自动计算数组的长度一维数组的初始化第二十八页,共四十一页,2022年,8月28日通过赋值语句对数组进行初始化赋值。一维数组的初始化
int[]num=newint[10];for(inti=0;i<=10;i++) num[i]=i*10;
Strings[]=newString[3];s[0]=“I”;s[1]=“love”;s[2]=“China~!”;第二十九页,共四十一页,2022年,8月28日类类型的数组在创建之后,还要记得在使用前必须创建每个数组元素对象。一维数组的初始化
Studentstu[]=newStudent[3];stu[0]=newStudent();stu[1]=newStudent();stu[2]=newStudent();第三十页,共四十一页,2022年,8月28日利用length属性获得数组的长度使用点运算符.和length属性可以得到数组的长度。格式:数组名称.length int[]intArray=newint[20]; intL=intArray.length;则将数组的长度值20赋值给了变量L;第三十一页,共四十一页,2022年,8月28日一维数组的有关说明数组的类型可以是复杂结构类型;数组名代表数组的首地址,数组间可相互直接赋值,表示数组共同指向同一地址。
inta[]={1,2,3,4,5},b[];b=a;
//数组b指向和数组a相同的地址12345a[0]a[1]a[2]a[3]a[4]数组ab[0]b[1]b[2]b[3]b[4]数组b第三十二页,共四十一页,2022年,8月28日一维数组的有关说明引用数组元素使用数组名加下标,下标从0开始。对数组进行构造时,中括号里可以使用带有整型数值的变量。引用数组元素时下标不能超出范围。Java会自动对下标越界检查,编译时没有提示,但运行产生错误。第三十三页,共四十一页,2022年,8月28日从命令行输入数据步骤一:引入相关类。importjava.util.Scanner;步骤二:创建Scanner类的一个对象。Scannerreader=newScanner(System.in);步骤三:使用reader对象调用下列方法读取用户输入的各种类型数据。
nextBoolean(); nextByte();nextShort();nextInt();nextLong();nextFloat();nextDouble();第三十四页,共四十一页,2022年,8月28日从命令行输入数据importjava.util.*;classReadDemo{ publicstaticvoidmain(String[]args){ System.out.println("请输入若干个数,每输入一个数回车确认"); System.out.println("最后输入数字0结束输入操作"); Scannerreader=newScanner(System.in); doublesum=0; intm=0; doublex=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); }}第三十五页,共四十一页,2022年,8月28日对象的成员变量成员变量用来描述对象的状态(属性);成员变量可以根据需要使用任意类型,包括数组、类类型等;classStudent{ Stringname; doublescore[];
……}classLine{
Pointp1,p2;
……}classPoint{ doublex,y;
……}第三十六页,共四十一页,2022年,8月28日对象的成员变量复杂类型的成员变量要注意必须先创建,然后再使用。如数组、类类型。通常不允许通过对象直接操作成员变量,要在类的内部定义相应的方法对成员变量进行数据的存储或访问。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《语文教学方法》课件
- 购买合同书范本完整版3篇
- 借用施工场地安全责任协议书
- 租赁洒水车协议书合同范本
- 二零二四年工业产品销售合同
- 2024年度服装设计居间合同6篇
- 转让合同范本集合
- 装修工人安全免责协议书
- 黑龙江省哈尔滨三中2024年高三下学期联考(五)数学试题
- 河南周口市2024年高三下学期调研数学试题
- 制造业公司组织结构
- 2022版义务教育新课程标准解读
- 英语现在完成时态的用法及终止性动词与延缓性动词的用法区别
- 购买食物需要注意--完整课件PPT
- 小学五年级语文句子转换练习题语文试卷
- 城市公共空间设计理论与方法(课堂PPT)
- HG20592-97化工部标准法兰规格
- 麦克维尔单螺杆冷水机组PFS.C样本
- CCTV雨污水管道检测缺陷内容判断依据判断标准
- 仓管员考核试题仓管员理论知识与业务技能试卷(含答案)
- 土地权属争议案件调查处理文书格
评论
0/150
提交评论