版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12.5Java程序的基本数据类型数据类型决定了参与操作的变量、常量和表达式的取值类别、取值范围以及能够实施的操作行为。inti=3;charc=‘A’;Java数据类型划分简单数据类型包括:布尔类型:boolean字符类型:char整数类型:byte,short,int,long浮点类型:float,double复合数据类型包括:class(类)interface(接口)数组3表2-1Java语言的基本数据类型数据类型占用二进制位数取值范围默认值boolean(布尔型)
8位true或falsefalsechar(字符型)16位\u0000~\uffff(0~65535)\u0000byte(字节型)8位-128~127(-27~(27-1))0short(短整型)16位-32768~32767(-215~(215-1))0int(整型)32位-2147483648~2147483647(-231~(231-1))0long(长整型)64位-9223372036854775808~9223372036854775807(-263~(263-1))0float(单精度浮点型)32位1.4E-45f~3.4028235E+38f0.0fdouble双精度浮点型64位4.9E-324~1.7976931348623157E+3080.04boolean(布尔)只有“true”和“false”两个取值,分别代表“真”和“假”。布尔型变量的定义如:booleanb=true;或:booleanb=50>60;注意:布尔类型的变量不能够与任何其他类型进行相互的类型转换操作。在C语言中,0可当作false使用,非零整数可当作true使用,但在Java中不允许。boolean(布尔)例如:
5if(a!=0)a+=10;elsea-=10;if(a)a+=10;elsea-=10;√×for(inti=10;i;i--)i--;for(inti=10;i!=0;i--)i--;×6charJava语言规定,字符采用Unicode编码,每个字符占用两个字节。C语言采用ASCII编码,每个字符占一个字节。可以表示65536个字符。ASCII字符集是Unicode字符集的一个子集,并且在这两个字符集中,前128个编码所对应的字符完全相同,只是每个字符占用的二进制位数不同。7byte、short、int、long以下4种数据类型都属于整型数值类型。byte1个字节short2个字节
int4个字节long8个字节注意:Java语言中所有整数型表示的均为有符号数,没有C语言中的无符号(unsigned)整数型。8float、doublefloat单精度32位double双精度64位Java语言中的浮点数值表示遵循IEEE754标准。它不仅包括正零、负零、正无穷大、负无穷大和一个特别的表示非法数值的符号NaN。浮点型举例9doubled=1e308;//1*10308System.out.print("overflowprodecesinfinity:");System.out.println(d+"*10="+d*10);上溢overflowprodecesinfinity:1.0E308*10=Infinityd=1e-305*Math.PI;System.out.println("gradualunderflow:"+d);for(inti=0;i<4;i++)System.out.print(""+(d/=100000));下溢gradualunderflow:3.141592653589793E-3053.1415926535898E-3103.141592653E-3153.142E-3200.0浮点型举例10System.out.print("0.0/0.0isNot-a-Number:");d=0.0/0.0;System.out.println(d);产生非数值NaN0.0/0.0isNot-a-Number:NaNSystem.out.print("casttointroundstoward0:");d=12345.6;System.out.println((int)d+""+(int)(-d));double转intcasttointroundstoward0:12345-12345112.6标识符、注释、直接量、变量和常量【标识符】
Java的标识符由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。注意:1.标识符区分大小写。Test和test不同;2.标识符的第一个字符必须为字母、(_)或($)符号。3.用户自己定义的标识符不能与Java语言中提供的关键字与常量相同12【关键字】又称保留字,是Java语言规定了特定含义的标识符。用户只能按照系统规定的方式使用,不能自行定义。关键字一律用小写字母表示。Java中的关键字有50个,按用途划分为:数据类型、语句、修饰、方法、类、接口、包,并保留了const和goto。13表2-2Java语言的关键字abstractcontinuefornewswitchassertdefaultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseenumimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile标识符举例判断以下字符串哪些是合法的Java标识符。identifier,2mail,room#,$change,userName,User_Name,_sys_val,class,a-class,su,super14Java标识符命名规范可读性好,“见名知义”;包名:小写英文字母;如:“firstapplication”;类名、接口名:每个单词的首写字母都要大写,如:“ImageSprite”方法名:动词或动词短语,第一个单词的首字母小写,其他单词的首字母大写,如:getName()变量名:第一个单词的首字母小写,其他单词的首字母大写,尽量不要使用_和$,如:myWidth常量名:每个字符都为大写,单词之间用下划线(_)分隔,如:MAX_VALUE15标识符命名规范举例根据标识符命名规范,判断以下标识符所表示的类型(类名、方法名、变量名和常量名):
MIN_LENGTH;Student;student;
MathBook;testClass;run;getNumber
1617注释是为源程序增加必要的解释说明的内容,其目的是提高程序的可读性,书写注释是编写程序的良好习惯。Java中有三种形式的注释:
//注释部分/*注释部分*//**注释部分*/
【注释】程序注释文档注释:18【直接量】整型直接量:十、八、十六进制实型直接量:double、float字符型直接量:单引号括起来布尔型直接量:true和false字符串型直接量:双引号括起来相当于C语言中的常量整型直接量十进制整数:如123,-456,0。默认的数据类型为int,如要赋给int型变量,那数值应该在int的取值范围,例如:inta=123;问:能否将一个十进制整数直接赋给长整型变量呢?如:longb=123;问:longl=-9876543210;是否正确?如果要表示长整型的数值,应以l或L结尾,如:longl=-9876543210L;19可以。整数类型中取值范围较小的变量或直接量可以直接赋值(隐式转换)给取值范围较大的变量。相反地,数据类型取值范围较大的变量或直接量不能直接赋值给取值范围较小的变量,需要进行强制类型转换(显式转换)。不正确。因为-9876543210<-2147483648(整型数的下限),超出了int的范围,而在long范围内。
整型直接量八进制整数:以0开头,如012表示十进制数,-011表示十进制数。十六进制整数:以0x或0X开头,如0x12表示十进制数18,-0X12表示十进制数-18。2010-9浮点型直接量十进制数形式:由数字和小数点组成,且必须有小数点,如1.23,123.0科学计数法形式:如:123e3或123E3(表示123*103),其中e或E之前必须有数字,且e或E后面的指数必须为整数。在十进制和科学计数法常数后面可以跟“F”或“f”(单精度)、“D”或“d”(双精度),来表示float型或double的值:如1.23f,2.3e3D,如果后面没有跟任何修饰,它的类型为双精度。问:floatf=123.4是否正确?double
d=123.4是否正确?floatf=123是否正确?21√×√1.浮点数类型中取值范围较小的变量或直接量可以直接赋值(隐式转换)给取值范围较大的变量。相反地,数据类型取值范围较大的变量或直接量不能直接赋值给取值范围较小的变量,需要进行强制类型转换(显式转换)。2.整数类型可以直接赋值给浮点数类型(隐式转换),相反需要强制类型转换(显式转换)。字符型直接量有两种形式:字符和转义符,都用单引号括起来;例:‘a’,‘A’,或是‘\t’’\b’等;在ASCII码中用‘\xxx’(xxx为一个八进制数)表示其中字符。例如:‘\141’表示字符。在Unicode码中,用‘\uxxxx’(xxxx为一个十六进制数)表示Unicode码中的字符。
例如:‘\u0061’也表示字符‘a’。22‘a’转义字符说明转义字符主要用来表示一些不可显示的符号,比如:换页、换行、水平制表等。也可表示部分可以显示的符号,比如:“’”(单引号)表示为‘\’’,还有“\”(反斜杠)表示为‘\\’;如何输出以下内容:System.out.print(“Hello!”);23字符类型与整型的转换1.int与char可以直接转换例:charc=65;inti=‘B’System.out.println(c+“”+i);2.int和char可以混合运算例:charc=‘A’;inti=c+1System.out.println(c+“”+(char)i);24变量变量表示一块被命名且用来存储程序中数据的存储区域。变量的几个要素:变量名、变量的类型、变量的取值以及变量的存储地址;2526变量的定义在Java语言中,所有的变量必须先定义后使用。其格式为:数据类型标识符1[=初值],[标识符2];例如:intintVar=3,value;注意:如果是基本数据类型,变量在声明时就为其分配内存空间;否则,还需要用new为其声明的变量分配空间。例如:inta[];inta[]=newint[10];27【常量】在Java语言中,可以利用关键字final声明常量。例如:finalfloatPI=3.14159f;finalint
MAX_NUM=1000;注意:与C语言不同,这里的常量并非一定在声明的同时赋予常量值,只是要求在程序运行期间仅能被赋值一次,一旦赋值后就不能再次被更改。例如:finalfloatPRICE,MAX;PRICE=5.34;MAX=100;
282.8运算符与表达式算术运算:+、-、*、/、%、++、--逻辑运算:&、|、!、^、&&、||关系运算:==、!=、>、<、>=、<=位运算:~、&、|、^、>>、<<、>>>其他运算:?:、赋值运算符、()、[]、new检测某个对象是否属于某个类
instanceof(对象)算术运算符与算术表达式双目运算符:有两个操作数的运算符
+-*/%单目运算符:只有一个操作数的运算符+-++--29算术运算符说明操作含义和基本用法与C语言中相应的运算符相同,但有一些特别之处。(1)5个双目运算符的运算对象类型可以是byte、short、int、long、float、double和char。%的运算对象可以是整型可以是浮点型,既可以是正数也可以是负数。(2)
整数被0整除或求余数非法操作,抛出ArithemticException。30算术运算符说明(3)运算结果类型:如果参与运算的两个运算对象属于同一个类型,则结果也是这种类型。如果两个运算对象的类型都是整型byte、short、int、long)或者浮点型,则计算结果为取值范围较大那种类型。例如:31//’3’的Unicode码为51;inta=1;longb=2L;ch
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辐射安全管理题库(含答案)
- 民房房屋购买合同范例
- 数据结构与算法复习题
- 特约顾问聘用合同范例
- 工程咨询合同范例内容
- 员工宿舍合租合同范例
- 合同范例生效
- Unit1《Greetings》(教学实录)-2024-2025学年沪教版(五四制)(2024)英语一年级上册
- 市场开发咨询合同范例
- 律师委托协议合同范例
- 《Photoshop CC图形图像处理实例教程》全套教学课件
- 公共租赁住房运行管理标准
- 2024-2030年中国永磁耦合器行业经营优势及竞争对手现状调研报告
- JJ∕G(交通) 200-2024 轮碾成型机
- 小学六年级奥数难题100道及答案(完整版)
- 小学科学教科版五年级上册全册易错知识点专项练习(判断选择-分单元编排-附参考答案和点拨)
- 电影作品解读-世界科幻电影智慧树知到期末考试答案章节答案2024年成都锦城学院
- NB-T47003.1-2009钢制焊接常压容器(同JB-T4735.1-2009)
- 聚焦高质量+探索新高度+-2025届高考政治复习备考策略
- 惠州市惠城区2022-2023学年七年级上学期期末教学质量检测数学试卷
- 北京市西城区2022-2023学年七年级上学期期末英语试题【带答案】
评论
0/150
提交评论