文档描述
本章主要内容:2.1基本数据类型基本数据类型2.2基本数据类型应用示例基本数据类型应用示例2.3表达式和运算符表达式和运算符2.4 程序控制语句程序控制语句2.1基本数据类型基本数据类型2.1.1 Java的数据类型2.1.2 常量与变量2.1.3 变量赋值2.1.4 关键字2.1.5 转义符2.1.1 Java的数据类型的数据类型 Java定义了定义了8个基本数据类型:个基本数据类型:字节型(字节型(byte),短整型(),短整型(short),),整型(整型(int),长整型(),长整型(long),字符型),字符型(char),浮点型(),浮点型(float),双精度型),双精度型(double),布尔型(),布尔型(boolean)。)。这这8个基本数据类型可分为个基本数据类型可分为4组:组:2.1.1 Java的数据类型的数据类型 整数型:该组包括字节型(整数型:该组包括字节型(byte),短整),短整型(型(short),整型(),整型(int),长整型(),长整型(long),),它们有符号整数。它们有符号整数。实数数型:该组包括单精度型(实数数型:该组包括单精度型(float),),双精度型(双精度型(double),它们代表有小数精度要),它们代表有小数精度要求的数字。实数数型又称为浮点类型。求的数字。实数数型又称为浮点类型。字符:这个组包括字符型(字符:这个组包括字符型(char),它代),它代表字符集的符号,例如字母和数字。表字符集的符号,例如字母和数字。布尔型:这个组包括布尔型(布尔型:这个组包括布尔型(boolean),),它是一种特殊的类型,表示真它是一种特殊的类型,表示真/假值。假值。数据类型数据类型的分类的分类表2-1Java的基本数据类型 类型类型数据类型关键字数据类型关键字适用于适用于类型长度类型长度值域范围值域范围字节字节byte byte 非常小的整数非常小的整数1 1-128-128127127短整短整shortshort较小的整数较小的整数2 2-2-215152 21515-1-1内的整数内的整数整数整数int int 一般整数一般整数4 4-2-231312 23131-1-1内的整数内的整数长整长整longlong非常大的整数非常大的整数4 4-2-231312 23131-1-1内的整数内的整数单精度实数单精度实数 floatfloat一般实数一般实数4 4-3.402823-3.402823*101038383.4028233.402823*10103838内的内的数数双精度实数双精度实数 doubledouble非常大的实数非常大的实数8 8-1.7977-1.7977*10103083081.79771.7977*1010308308内的数内的数字符字符charchar单个字符单个字符1 1逻辑逻辑booleanboolean判断判断1 1truetrue和和falsefalse2.1.2常量与变量常量与变量在程序中,每一个数据都有一个名字,并且在内存中占在程序中,每一个数据都有一个名字,并且在内存中占据一定的存储单元。在程序运行过程中,数据值不能改据一定的存储单元。在程序运行过程中,数据值不能改变的量称为变的量称为常量常量,其值可以改变的量称为,其值可以改变的量称为变量变量。在在Java语言中,所有常量及变量在使用前必须先声明语言中,所有常量及变量在使用前必须先声明其值的数据类型,也就是要遵守其值的数据类型,也就是要遵守“先声明后使用先声明后使用”的原的原则。则。2.1.2常量与变量常量与变量声明变量的格式为:声明变量的格式为:数据类型变量名1,变量名2,;例如:例如:int a;int x,y,sum;在在Java中,常量的声明与变量的声明非常类似,例如:中,常量的声明与变量的声明非常类似,例如:final int DAY=24;/DAY的值在整个程序中不变,final double PI=3.14159;/声明圆周率常数2.1.3 变量赋值变量赋值在程序中经常需要对变量赋值,在在程序中经常需要对变量赋值,在Java中用赋值号(中用赋值号()表示。)表示。所谓赋值,就是把赋值号右边的数据或所谓赋值,就是把赋值号右边的数据或运算结果赋给左边的变量。运算结果赋给左边的变量。其一般格式为:其一般格式为:变量变量=表达式;表达式;2.1.3 变量赋值变量赋值例如:例如:int x=5;/指定指定x为整型变量,并赋初值为整型变量,并赋初值5char c=a;/指定指定a为字符型变量,并赋初值为字符型变量,并赋初值 a 如果同时对多个相同类型的变量赋值,可以用逗号分隔,如果同时对多个相同类型的变量赋值,可以用逗号分隔,如:如:int x=5,y=8,sum;sum=x+y;/将将x+y的运算结果赋值给变量的运算结果赋值给变量sum在在Java语言中,经常会用到形如语言中,经常会用到形如“x=x+a”的赋值运算,的赋值运算,如:如:int x=5;x=x+2;这里,右边这里,右边x的值是的值是5,加,加2后,把运算结果后,把运算结果7赋值给左边赋值给左边的变量的变量x,所以,所以x的值是的值是7。2.1.4 关键字关键字所谓关键字就是所谓关键字就是Java语言中已经规定了特定意语言中已经规定了特定意义的单词。不可以把这些单词用作常量名或变义的单词。不可以把这些单词用作常量名或变量名。量名。Java语言中规定的关键字有:语言中规定的关键字有:abstract、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、extends、false、final、finally、float、for、if、implements、import、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、super、switch、synchronized、this、throw、throws、transient、true、try、void、volatile、while。2.1.5 转义符转义符 在在Java语言中提供了一些特殊的字符常量,这些特殊语言中提供了一些特殊的字符常量,这些特殊字符称为转义符。通过转义符可以在字符串中插入一些字符称为转义符。通过转义符可以在字符串中插入一些无法直接键入的字符,如换行符、引号等。每个转义符无法直接键入的字符,如换行符、引号等。每个转义符都以反斜杠(都以反斜杠()为标志。例如,)为标志。例如,n代表一个换行符,代表一个换行符,这里的这里的n不再代表字母不再代表字母n而作为而作为换行换行符号。符号。2.1.5 转义符转义符转义符转义符含义含义bb退格退格ff走纸换页走纸换页nn换行换行rr回车回车tt横向跳格横向跳格 (Ctrl-I)(Ctrl-I)单引号单引号双引号双引号反斜杠反斜杠2.2基本数据类型应用示例基本数据类型应用示例2.2.1整数类型与浮点类型2.2.2字符型2.2.3布尔型2.2.4 数据类型的转换2.2.1整数类型与浮点类型整数类型与浮点类型 1、整数类型、整数类型当用变量表示整数时,通常将变量声明为整数类型。当用变量表示整数时,通常将变量声明为整数类型。【例例2-1】下面的程序用整型变量计算二个数的和。下面的程序用整型变量计算二个数的和。1/*计算二个数的和计算二个数的和 */2import javax.swing.*;3 class Example2_14 5 public static void main(String args)6 7 int x,y,sum;8 x=3;9 y=5;10 sum=x+y;/求和求和 11 JOptionPane.showMessageDialog(null,12 x=3;+n y=5;+n x+y=+sum);12 System.exit(0);13 14 声明声明3个整型变量个整型变量给变量给变量x,y赋值赋值在对话框窗体中显示结果,在对话框窗体中显示结果,n为换行符为换行符在程序的第在程序的第7行,声明了三个整型变量行,声明了三个整型变量x、y、sum。在程序运行到第在程序运行到第8行语句时,数值行语句时,数值3存放存放到到x中,中,运行到第运行到第9行语句时,数值行语句时,数值5存放到存放到y中。中。程序运行到第程序运行到第10行语句时,将内存单元行语句时,将内存单元x和内存单元和内存单元y中的值相加并将结果放到变中的值相加并将结果放到变量量sum中。中。将程序保存为将程序保存为Example2_1.java。编译程序:。编译程序:javac Example2_1.java 运行程序:运行程序:java Example2_12.2.1整数类型与浮点类型整数类型与浮点类型 2、浮点类型、浮点类型浮点数也称为实数,当计算的表达式有精度要求时浮点数也称为实数,当计算的表达式有精度要求时就要使用浮点类型。就要使用浮点类型。【例例2-2】用双精度浮点型变量计算一个圆的面用双精度浮点型变量计算一个圆的面积积。import javax.swing.*;class Example2_2 public static void main(String args)double pi,r,s;r=10.8;/圆的半径圆的半径 pi=3.14159;s=pi*r*r;/计算圆的面积计算圆的面积 JOptionPane.showMessageDialog(null,圆的面积为:圆的面积为:+s);System.exit(0);/由于要表示小数,故声明由于要表示小数,故声明3个浮点类型变量个浮点类型变量/变量赋值变量赋值在对话框窗体中显示结果在对话框窗体中显示结果将程序保存为将程序保存为Example2_2.java。编译程序:。编译程序:javac Example2_2.java 运行程序:运行程序:java Example2_22.2.2字符型字符型1、字符变量、字符变量 在在Java中,存储字符的数据类型是中,存储字符的数据类型是char,一个字符变量每次只能存放一个字符。一个字符变量每次只能存放一个字符。【例2-3】下面的程序演示char 类型变量的用法。1/*char 类型变量的用法*/2 import javax.swing.*;3 class Example2_3 4 5 public static void main(String args)6 7 char ch1,ch2,ch3;8 ch1=88;/88在Unicode码中对应的是字母X9 ch2=Y;ch3=汉;10 JOptionPane.showMessageDialog(null,ch1、ch2、ch3:11 +ch1+、+ch2+、+ch3);12 System.exit(0);13 14 注意:在程序的第注意:在程序的第8行,变量行,变量ch1赋值为赋值为88,它是字母,它是字母X在在ASCII码(码(Unicode码也一样)中的值。码也一样)中的值。将程序保存为将程序保存为Example2_3.java。编译程序:。编译程序:javac Example2_3.java 运行程序:运行程序:java Example2_32.2.2字符型字符型2、字符串、字符串 用双引号括起来的多个用双引号括起来的多个(也可以是一个或空也可以是一个或空)字符字符常量称为字符串。常量称为字符串。例如:例如:“我对我对 Java 很痴迷很痴迷!n”;“a+b=”;字符串与字符比较有如下区别:字符串与字符比较有如下区别:字符是由单引号括起来的单个字符。而字符串是由字符是由单引号括起来的单个字符。而字符串是由双引号括起来的,且可以是零个或多个字符。例双引号括起来的,且可以是零个或多个字符。例如如:abc是不合法的。是不合法的。“”“”是合法的,表示空字符是合法的,表示空字符串。串。2.2.3布尔型布尔型 Java表示逻辑值的基本类型,称为布尔型。它只有两个值表示逻辑值的基本类型,称为布尔型。它只有两个值true和和false。【例例2-4】说明布尔类型的使用说明布尔类型的使用。class Example2_4 public static void main(String args)boolean b;b=false;System.out.println(b is +b);b=true;System.out.println(b is +b);/关系运算操作的结果为关系运算操作的结果为boolean值值 System.out.println(10 9 is +(10 9);2.2.4 数据类型的转换数据类型的转换 在在Java语言中对已经定义了类型的变量,语言中对已经定义了类型的变量,允许转换变量的类型。变量的数据类型允许转换变量的类型。变量的数据类型转换分为转换分为“自动类型转换自动类型转换”和和“强制类强制类型转换型转换”两种。两种。1、自动类型转换、自动类型转换 对于基本数据类型按精度从对于基本数据类型按精度从“低低”到到“高高”的顺序为:的顺序为:2.2.4 数据类型的转换数据类型的转换当把级别低的变量的值赋给级别高的值时,系统自动进当把级别低的变量的值赋给级别高的值时,系统自动进行数据类型转换。行数据类型转换。例如例如int x=10;float y;y=x;这时这时y的值为的值为10.0。2.2.4 数据类型的转换数据类型的转换2、强制类型转换、强制类型转换 强制类型转换是指当把级别高的变量的值赋给级别低强制类型转换是指当把级别高的变量的值赋给级别低的变量。的变量。转换的格式为:转换的格式为:(类型名)要转换的值或变量;(类型名)要转换的值或变量;例如:设有例如:设有int a;double b=3.14;将将b强制类型转换为强制类型转换为int类型后,再赋值给类型后,再赋值给a则则a=(int)b;结果结果 a=3,b仍然是仍然是double类型,类型,b的值仍然是的值仍然是3.14。2.3 表达式和运算符表达式和运算符2.3.1 表达式与运算符2.3.2 算术运算符2.3.3 关系与逻辑运算符2.3.1 表达式与运算符表达式与运算符 1、表达式、表达式 表达式是由运算符、操作数和方法调用按照语言的语表达式是由运算符、操作数和方法调用按照语言的语法构造而成的符号序列。法构造而成的符号序列。例如,计算式例如,计算式 写成表达式为:写成表达式为:(x+y)/(y*(x y);xyyxyxyyxy2、运算符、运算符运算符分成以下几类:运算符分成以下几类:算术运算符;算术运算符;关系和条件运算符;关系和条件运算符;逻辑运算符;逻辑运算符;赋值运算符;赋值运算符;其他的运算符。其他的运算符。2.3.2 算术运算符算术运算符Java 语言支持所有的浮点型和整型数进行各语言支持所有的浮点型和整型数进行各种算术运算。种算术运算。算术运算符为算术运算符为+(加)、(加)、-(减)、(减)、*(乘)、(乘)、/(除)以及(除)以及%(取模)。(取模)。【例2-5】public class Example2_5 public static void main(String agrs)/定义几个变量并赋值 int a=41;int b=21;double x=6.4;double y=3.22;System.out.println(变量数值:);System.out.println(a=+a+t b=+b+t x=+x+t y=+y);/加法 System.out.println(加:);System.out.println(a+b=+(a+b)+t x+y=+(x+y);/减法 System.out.println(减:);System.out.println(a-b=+(a-b)+t x-y=+(x-y);/乘法 System.out.println(乘:);System.out.println(a*b=+(a*b)+t x*y=+(x*y);/除法 System.out.println(除:);System.out.println(a/b=+(a/b)+t x/y=+(x/y);/从除法中求得余数 System.out.println(计算余数:);System.out.println(a%b=+(a%b)+t x%y=+(x%y);/混合类型 System.out.println(混合类型:);System.out.println(b+y=+(b+y)+t a*x=+(a*x);自增自增/自减运算符为自减运算符为+和和-。+完成自加完成自加1;而;而-完成自减完成自减1。例如:例如:(1)int x=2;int y=(+x)*5;/执行结果:执行结果:x=3,y=15(2)int x=2;int y=(x+)*5;/执行结果:执行结果:x=3,y=102.3.3 关系与逻辑运算符关系与逻辑运算符 表表2.6 关系运算符关系运算符 运算符运算用法返回true的情况大于x1 x2x1大于x2=不小于x1 =x2x1 大于或等于x2小于x1 x2x1小于 x2=不大于x1 j=+(ij);/false System.out.println(ji=+(ji);/true System.out.println(kj=+(kj);/false /大于等于大于等于 System.out.println(大于等于大于等于:);System.out.println(i=j=+(i=j);/false System.out.println(j=i=+(j=i);/true System.out.println(k=j=+(k=j);/true/小于小于 System.out.println(小于小于:);System.out.println(ij=+(ij);/true System.out.println(ji=+(ji);/false System.out.println(kj=+(kj);/false /小于等于小于等于 System.out.println(小于等于小于等于:);System.out.println(i=j=+(i=j);/true System.out.println(j=i=+(j=i);/false System.out.println(k=j=+(k=j);/false /等于等于 System.out.println(等于等于:);System.out.println(i=j=+(i=j);/false System.out.println(k=j=+(k=j);/true /不等于不等于 System.out.println(不等于不等于:);System.out.println(i!=j=+(i!=j);/true System.out.println(k!=j=+(k!=j);/false运算符运算符运算运算用法用法返回返回truetrue的情况的情况&条件与条件与x x&y yx x和和 y y都是都是truetrue条件或条件或x yx yx x或者或者 y y是是truetrue!条件非条件非!x!xx x为为 falsefalse条件异或条件异或x x y yx x和和 y y逻辑值不相同逻辑值不相同表表2.7 条件运算符条件运算符2.4 程序控制语句程序控制语句2.4.1语句2.4.2 键盘输入语句2.4.3 顺序控制语句2.4.4if选择语句2.4.5 switch语句2.4.6 循环语句2.4.7 跳转语句2.4.1 语句语句语句是程序的基本单元,它类似于自然语言的句子。语句是程序的基本单元,它类似于自然语言的句子。Java语言语言的语句可分为以下几类:的语句可分为以下几类:(1)表达式语句)表达式语句 x=3;y=5;sum=x+y;一个表达式的最后加上一个分号就构成了一个语句,分号一个表达式的最后加上一个分号就构成了一个语句,分号是语句不可缺少的部分。是语句不可缺少的部分。(2)复合语句)复合语句 用把一些语句括起来构成复合语句。用把一些语句括起来构成复合语句。x=25+x;System.out.println(“x=”+x);(3)控制语句)控制语句 控制语句用于控制程序流程及执行的先后控制语句用于控制程序流程及执行的先后顺序。主要有:顺序控制语句、条件控制语句顺序。主要有:顺序控制语句、条件控制语句和循环控制语句和循环控制语句(4)包语句和引入语句)包语句和引入语句包语句和引入语句将在后面的章节详细介绍。包语句和引入语句将在后面的章节详细介绍。2.4.2 键盘输入语句键盘输入语句在在java中,使用简单文本扫描器中,使用简单文本扫描器Scanner类类可以接受用户从键盘输入的数据。可以接受用户从键盘输入的数据。Scanner可以从可以从System.in中读取数据。中读取数据。Scanner实实现键盘输入数据的方法如下:现键盘输入数据的方法如下:Scanner sc=new Scanner(System.in);int a=sc.nextInt();double b=sc.nextDouble();String str=sc.next();【例例2-7】从键盘输入数据。从键盘输入数据。import java.util.*;public class Example2_7 public static void main(String args)Scanner reader=new Scanner(System.in);System.out.print(输入一个整数:输入一个整数:);int a=reader.nextInt();System.out.print(输入一个实数:输入一个实数:);double b=reader.nextDouble();System.out.println(a+b);System.out.print(输入一串字符:输入一串字符:);String s=reader.next();System.out.println(s);2.4.3 顺序控制语句顺序控制语句顺序控制是指计算机在执行这种结构的程序时,从第一顺序控制是指计算机在执行这种结构的程序时,从第一条语句开始,按从上到下的顺序依次执行程序中的每一条语句开始,按从上到下的顺序依次执行程序中的每一条语句。顺序控制是程序的最基本结构,包含有选择控条语句。顺序控制是程序的最基本结构,包含有选择控制语句和循环控制语句的程序,在总体执行上也是按顺制语句和循环控制语句的程序,在总体执行上也是按顺序结构执行的。序结构执行的。【例例2-8】交换两个变量的值。交换两个变量的值。在编写程序时,有时需要把两个变量的在编写程序时,有时需要把两个变量的值互换,交换值的运算需要用到一个中值互换,交换值的运算需要用到一个中间变量。例如,要将间变量。例如,要将a与与b 的值互换,就的值互换,就可用下面这样一段程序:可用下面这样一段程序:int a,b,temp;temp=a;a=b;b=temp;设temp为中间变量第一步:把a的值放到中间变量temp中第二步:把b的值放到变量a中第三步:把temp中原a的值放到变量b中交换过程如图所示:1 /*交换交换a、b两变量的值两变量的值*/2 import javax.swing.*;3 public class Example2_84 5 public static void main(String args)6 7 int a=3,b=5,temp;8 temp=a;9 a=b;10 b=temp;11 JOptionPane.showMessageDialog(null,a=+a+t b=+b);12 System.exit(0);13 14 交换交换a、b两变量的值两变量的值将程序保存为将程序保存为Examp
展开阅读全文