Java第2章数据类型和运算符.ppt
《Java第2章数据类型和运算符.ppt》由会员分享,可在线阅读,更多相关《Java第2章数据类型和运算符.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 数据类型和运算符内容提要每种语言都有它所支持的数据类型、运算符和控制结构。Java语言中既有基本数据类型,又有引用数据类型,同时支持丰富的运算符。本章要点本章将介绍Java语言的数据类型和各种运算符的使用,为后续章节的学习打下基础。学习本章后,应该掌握Java语言的数据类型并能正确使用运算符。2.1 简单程序的开发编写程序涉及设计算法和将算法转换成代码两个步骤。算法描述了如何解决问题和解决问题的步骤。算法可以使用自然语言或伪代码(自然语言和编程语言的混合)描述。例如,对求圆面积的问题可以描述如下:第第1 1步:读取半径值。步:读取半径值。第第2 2步:使用下面公式计算面积:步:使用下面
2、公式计算面积:area=radius*radius*area=radius*radius*第第3 3步:显示面积值。步:显示面积值。2.1 简单程序的开发编写代码就是将算法转换成程序。在Java程序中首先定义一个ComputeArea类,其中定义main()方法,如下所示:public class ComputeAreapublic class ComputeArea public static void main(String args)public static void main(String args)/第第1 1步:读入半径值步:读入半径值 /第第2 2步:计算面积步:计算面积 /第
3、第3 3步:显示面积步:显示面积 2.1 简单程序的开发首先我们应该定义两个变量来存储半径和面积。double radius;double radius;double area;double area;变量代表内存中存储数据和计算结果的位置,每个变量需要指定其存储的数据类型和名称。double是数据类型,radius和area是变量名。在程序中通过变量名操纵变量值。变量名应尽量使用有意义的名称。2.1 简单程序的开发要从键盘读取数据可以使用Scanner类的nextInt()或nextDouble()方法。首先创建Scanner类的一个实例,然后调用nextDouble()方法读取double
4、数据:Scanner input=new Scanner input=new Scanner(System.in);/Scanner(System.in);/创建一个创建一个创建一个创建一个ScannerScanner实例实例实例实例inputinputdouble radius=input.nextDouble();double radius=input.nextDouble();/通过通过通过通过inputinput实例读取一个实例读取一个实例读取一个实例读取一个doubledouble型数型数型数型数 2.1 简单程序的开发程序2.1 ComputeArea.java2.1 简单程序的开
5、发由于Scanner类存放在java.util包中,因此程序使用import语句导入该类。在main()方法中使用Scanner类的构造方法创建了一个Scanner类的一个对象,在其构造方法中以标准输入System.in作为参数。得到Scanner对象后,就可以调用它的有关方法来获得各种类型的数据。程序中使用nextDouble()方法得到一个浮点型数据,然后将其赋给double型变量radius。最后输出语句输出以该数为半径的圆的面积。程序中圆周率使用Math类的PI常量。2.2 数据类型 在程序设计中,数据是程序的必要组成部分,也是程序处理的对象。不同的数据有不同的类型,不同的数据类型有不
6、同的数据结构、不同的存储方式,并且参与的运算也不同。2.2.1 Java数据类型数据类型Java语言的数据类型可分为:基本数据类型基本数据类型(primitive data typeprimitive data type)引用数据类型引用数据类型(reference data typereference data type)2.2.1 Java数据类型数据类型基本数据类型整数类型字节型byte短整型short整型int长整型long浮点类型单浮点型float双浮点型double布尔类型boolean字符类型char引用数据类型数组name、类class、接口interface、枚举类型enum
7、、注解类型interface2.2.1 Java数据类型数据类型1.基本数据类型Java语言还有void类型,它主要用于指定方法的返回值。数据类型占字节数所占位数数的范围boolean11只有true和false两个值byte18-2727-1short216-215215-1int432-231231-1long864-263263-1char216065 535float4323.4e-0383.4e+038double8641.7e-3081.7e+3082.2.1 Java数据类型数据类型2.变量及赋值变量(variable)是在程序运行中其值可以改变的量。一个变量应该有一个名字,在内
8、存中占据一定的存储单元。Java有两种类型的变量:基本类型的变量和引用类型的变量。基本类型的变量包括数值型(整数型和浮点型)、布尔型和字符型。引用类型变量包括类、接口、枚举和数组等。变量在使用之前必须定义,变量的定义包括变量的声明和赋值。2.2.1 Java数据类型数据类型变量声明的一般格式为:modifiermodifier typetype varNamevarName=valuevalue,varNamevarName=valuevalue;其中,modifier为变量的访问修饰符、type为变量的类型、varName为变量名。下面声明了几个不同类型的变量。int age;int age
9、;double d1,d2;double d1,d2;char ch1,ch2;char ch1,ch2;2.2.1 Java数据类型数据类型使用赋值运算符“=”给变量赋值,一般称为变量的初始化。如下是几个赋值语句。age=21;age=21;ch1=A;ch1=A;d1=d2=0.618;/d1=d2=0.618;/可一次给多个变量赋值可一次给多个变量赋值也可以在声明变量的同时给变量赋值,例如:boolean b=false;boolean b=false;2.2.1 Java数据类型数据类型3.常量和字面量常量(constant)是在程序运行过程中,其值不能被改变的量。常量实际是一个由fi
10、nal关键字修饰的变量,一旦为其赋值,其值在程序运行中就不能被改变。例如,下面定义了几个常量:final double PI=3.1415926;final double PI=3.1415926;final int MAX_ARRAY_SIZE=22;final int MAX_ARRAY_SIZE=22;final int SNO;final int SNO;2.2.1 Java数据类型数据类型常量可以在声明的同时赋值,也可以声明后赋值。一旦赋值便不允许修改。字面量(literals)是某种类型值的表示形式,字面量有三种类型:基本类型的字面量、字符串字面量以及null字面量。基本类型的字面
11、量有4种类型:整数型、浮点型、布尔型、字符型。如123、-789为整型字面量,3.456、2e3为浮点型字面量,true、false为布尔型字面量,g、我为字符字面量。2.2.2 整数类型整数类型Java语言提供了4种整数类型,分别是字节型(byte)、短整型(short)、整型(int)和长整型(long)。这些整数类型都是有符号数,可以为正值或负值。每种类型的整数在JVM中占的位数不同,因此能够表示的数的范围也不同。不要把整数类型的宽度理解成实际机器的存储空间,一个byte型的数据可能使用32位存储。2.2.2 整数类型整数类型Java的整型字面量有4种表示形式:(1 1)十进制数,如)十
12、进制数,如0 0、257257、-365-365。(2 2)二进制数,是以)二进制数,是以0b0b或或0B0B开头的数,如开头的数,如0B1010100B101010表示十进制数表示十进制数4242。(3 3)八进制数,是以)八进制数,是以0 0开头的数,如开头的数,如01240124表示十表示十进制数进制数8484,-012-012表示十进制数表示十进制数-10-10。(4 4)十六进制数,是以)十六进制数,是以0 x0 x或或0X0X开头的整数,如开头的整数,如0 x1240 x124表示十进制数的表示十进制数的292292。整型字面量具有int类型,在JVM中占32位。对于long型值,
13、可以在后面加上l或L,如125L,它在JVM中占64位。2.2.2 整数类型整数类型Java的整型变量使用byte、short、int、long等声明,下面是整型变量的定义:byte b=120;byte b=120;short s=1000;short s=1000;int i=99999999;int i=99999999;long l=-9223372036854775808;/long l=-9223372036854775808;/这是这是longlong型数据的最小值型数据的最小值在给变量赋值时,不能超出该数据类型所允许的范围,否则编译器给出错误提示。2.2.2 整数类型整数类型如
14、:byte b=200;byte b=200;编译错误说明类型不匹配,不能将一个int型的值转换成byte型值。因为200超出了byte型数据的范围(-128127),因此编译器拒绝编译。2.2.2 整数类型整数类型在表示较大的整数时,可能需要用到长整型long。例如下面程序计算一光年的距离。程序2.2 LightYear.java2.2.2 整数类型整数类型程序运行结果如下:一光年的距离是9460800000000公里。如果把该程序的变量seconds和distance的类型声明为int类型,编译不会出现错误,但结果不正确。2.2.3 浮点型浮点型浮点型的数就是通常所说的实数。在Java中有
15、两种浮点类型的数据:float型和double型。这两种类型的数据在JVM中所占的位数不同,float型占32位,double型占64位。因此,通常将float型称为单精度浮点型,将double型称为双精度浮点型。它们符合IEEE-754标准。2.2.3 浮点型浮点型浮点数运算不会因溢出而导致异常。如果下溢,则结果为0,如果上溢,结果为正无穷大或负无穷大(显示标识符为Infinity或-Infinity)。此外若出现没有数学意义的结果,Java用NaN(Not a Number)表示,如0.0/0.0的结果为NaN。这些常量已在基本数据类型包装类中定义。浮点型变量定义用float和double
16、关键字。float pi=3.1415926F;float pi=3.1415926F;double e=2.71828;double e=2.71828;2.2.3 浮点型浮点型浮点型常量默认的类型是double型数据。如果表示float型常量数据,必须在后面加上F或f,double型数据也可加D或d。byte b=0 x18;/byte b=0 x18;/十六进制整数十六进制整数int i=0b101010;/int i=0b101010;/二进制整数二进制整数long l=0 x11111111L;long l=0 x11111111L;float f=.333F;/floatfloat
17、 f=.333F;/float型值必须加型值必须加F F或或f fSystem.out.println(“byte b=”+b);System.out.println(“byte b=”+b);System.out.println(“int i=”+i);System.out.println(“int i=”+i);System.out.println(long l=+l);System.out.println(long l=+l);System.out.println(float f=+f);System.out.println(float f=+f);2.2.3 浮点型浮点型下面程序定义了
18、几个数值型变量,并输出其值。程序2.3 NumberDemo.java 2.2.3 浮点型浮点型如果一个数值字面量太长,读起来会比较困难。因此,从Java 7开始,对数值型字面量的表示可以使用下划线(_)将一些数字进行分组,这可以增强代码的可读性。下划线可以用在浮点型数和整型数(包括二进制、八进制、十六进制和十进制)的表示中。下面是一些使用下划线的例子:210703_19901012_2415 /210703_19901012_2415 /表示一个身份证号表示一个身份证号3.14_15F /3.14_15F /表示一个表示一个floatfloat类型值类型值2.2.3 浮点型浮点型在数值字面值
19、中使用下划线对数据的内部表示和显示没有影响。例如:long creditNo=1234_5678_9012_1234Llong creditNo=1234_5678_9012_1234LSystem.out.println(creditNo);/System.out.println(creditNo);/输出为输出为在数值字面量中使用下划线只是提高代码的可读性,编译器将忽略所有的下划线。另外,下划线不能放在数值的最前面和最后面,也不能放在浮点数小数点的前后。2.2.4 字符型字符型Java语言使用Unicode(统一码)为字符编码,它是由Unicode Consortium建立的一种编码方案。
20、Unicode字符集最初使用两个字节(16位)为字符编码,这样就可表示65 536个字符。新版Unicode 4.0标准使用UTF-16为字符编码,可以表示更多的字符,它可以表示世界各国的语言符号,包括希腊语、阿拉伯语、日语以及汉语等。ASCII码字符集是Unicode字符集子集。2.2.4 字符型字符型字符型字面量用单引号将字符括起来,大多数可见的Unicode码字符都可用这种方式表示,如a、我等。对于不能用单引号直接括起来的符号,需要使用转义序列来表示。表示方法是用反斜杠()表示转义。转义字符说 明转义字符说 明单引号字符b退格双引号字符r回车反斜杠字符n换行f换页t水平制表符ddd3位八
21、进制数表示的字符 uxxxx4位十六进制数表示的字符2.2.4 字符型字符型在Java程序中用3位八进制数表示字符的格式为ddd,如141表示字符a。也可以用4位十六进制数表示字符,格式为uxxxx,如u0062表示字符b,u4F60和u597D分别表示中文的“你”和“好”。任何Unicode字符都可用这种方式表示。字符型变量使用char定义,在内存中占16位,表示的数据范围是065535。如:char c=a;char c=a;char c1=97;char c1=97;2.2.4 字符型字符型Java字符型数据实际上是int型数据一个子集,可以与其他数值型数据混合运算。但字符型数据不能与i
22、nt型数据直接相互转换。一般情况下,char类型的数据可直接转换为int类型的数据,而int类型的数据转换成char类型的数据需要强制转换。如:int i=66;int i=66;char c=a;char c=a;i=c;/i=c;/合法合法c=i;/c=i;/不合法不合法2.2.5 布尔型数据布尔型数据布尔型数据用来表示逻辑真或逻辑假。布尔型常量很简单,只有两个值true和false,分别用来表示逻辑真和逻辑假。布尔型变量使用boolean关键字声明,如下面语句声明了布尔型变量t并为其赋初值true:boolean t=true;boolean t=true;所有关系表达式的返回值都是布尔
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 数据类型 运算
限制150内