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

链接地址:https://www.31ppt.com/p-4851021.html