Java语言基础(第4版)副本.ppt

上传人:牧羊曲112 文档编号:6510171 上传时间:2023-11-07 格式:PPT 页数:30 大小:302.99KB
返回 下载 相关 举报
Java语言基础(第4版)副本.ppt_第1页
第1页 / 共30页
Java语言基础(第4版)副本.ppt_第2页
第2页 / 共30页
Java语言基础(第4版)副本.ppt_第3页
第3页 / 共30页
Java语言基础(第4版)副本.ppt_第4页
第4页 / 共30页
Java语言基础(第4版)副本.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Java语言基础(第4版)副本.ppt》由会员分享,可在线阅读,更多相关《Java语言基础(第4版)副本.ppt(30页珍藏版)》请在三一办公上搜索。

1、第3章 Java语言基础,2,数据类型变量基本类型变量数据类型的转换规则从键盘输入数据的语句格式运算符,本章主要内容,3,数据类型的基本要素数据的性质(数据结构)数据的取值范围(字节大小)数据的存储方式参与的运算变量的属性名字类型值地址,3.1 数据类型,4,基本数据类型 由程序设计语言系统所定义、不可再划分的数据类型。所占内存大小是固定的,与软硬件环境无关。在内存中存放的是数据值本身。整型:byte short int long浮点型:float double逻辑型:boolean字符型:char引用数据类型(复合数据类型)在内存中存放的是指向该数据的地址,不是数据值本身。类、数组、接口等。

2、字符串是String,属于复合类型。,3.1 数据类型,5,整型浮点型 标准计数法和科学计数法。,3.1 数据类型,6,逻辑型(boolean布尔型)只有true(“真”)和false(“假”)两个取值。true和false不能转换成数字表示形式。占1个字节,默认false。字符型(char)用来存储单个字符。采用的是Unicode字符集编码方案,在内存中占2个字节。字符声明只能表示单个字符,用单引号。Java语言中所有可见的ASCII字符都可以用单引号括起来成为字符。字符型数据可以转化为整型。,3.1 数据类型,Unicode字符采用u0000-uFFFF之间的十六进制表示。Unicode字

3、符表的前128个刚好是ASCII表。,编码方式:ASCII码(字符)GB2312国标编码(汉字)Unicode新的国际标准编码(中英文),7,关键字(保留字)见教材表3.5(都是小写)标识符 用来表示变量名、类名、方法名、数组名和文件名的有效字符序列。规定:可以由字母、数字、下划线()、美元符号($)组合而成。必须以字母、下划线或美元符号开头,不能以数字开头。关键字不能当标识符使用。区分大小写。编码习惯:类名首字母大写,变量、方法及对象首字母小写。,3.2 关键字与标识符,8,整型常量(八进制、十六进制、十进制长整型后需要加l或L)浮点型常量(单精度后加f或F,双精度后加d或D可省略)逻辑型常

4、量字符型常量 单引号。(转义字符见教材表3.6)字符串常量 双引号。常量的声明,3.3 常量,final int MAX 10;final float PI 3.14f;,9,变量声明、初始化、赋值 如:int i,j=0;i=8;float k;k=3.6f;Java 语言程序中可以随时定义变量,不必集中在执行语句之前。,3.4 变量,10,数值型不同类型数据的转换自动类型转换转换前的数据类型与转换后的类型兼容。转换后的数据类型的表示范围比转换前的类型大。条件说明不同类型的数据进行运算时,需先转换为同一类型,然后进行运算。转换从“短”到“长”的优先关系为:byteshortcharintlo

5、ngfloatdouble 强制类型转换 如果要将较长的数据转换成较短的数据时(不安全),就要进行强制类型转换。强制类型转换的格式如下:,3.5 数据类型转换,(欲转换的数据类型)变量名,11,字符串型数据与整型数据相互转换 字符串转换成数值型数据(见教材表3.7)数值型数据转换成字符串 在Java语言中,字符串可用加号“+”来实现连接操作。所以若其中某个操作数不是字符串,该操作在连接之前会自动将其转换成字符串。所以可用加号来实现自动的转换。,3.5 数据类型转换,String MyNumber=“1234.56”;float MyFloat=Float.parseFloat(MyNumber

6、);,int MyInt=1234;/定义整形变量MyIntString MyString=+MyInt;/将整型数据转换成了字符串,12,由键盘输入的数据,不管是文字还是数字,Java皆视为字符串,因此若是要由键盘输入数字则必须再经过转换。输入字符串,3.6 由键盘输入数据,import java.io.*;public class class_name/类名称public static void main(String args)throws IOException String str;InputStreamReader inp;inp=new InputStreamReader(Sys

7、tem.in);BufferedReader buf;buf=new BufferedReader(inp);str=buf.readLine();,13,这种输入数据的方式可变形为如下的格式,3.6 由键盘输入数据,import java.io.*;public class class_name/类名称 public static void main(String args)throws IOException String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);str=b

8、uf.readLine();,14,由键盘输入的数据,不管是文字还是数字,Java皆视为字符串,因此若是要由键盘输入数字则必须再经过转换。输入字符串,3.6 由键盘输入数据,/appA_3.java 由键盘输入字符串import java.io.*;/加载java.io类库里的所有类public class App3_3 public static void main(String args)throws IOException BufferedReader buf;String str;buf=new BufferedReader(new InputStreamReader(System.i

9、n);System.out.print(请输入字符串;);str=buf.readLine();/将输入的文字指定给字符串变量str存放 System.out.println(您输入的字符串是:+str);/输出字符串,15,输入数值 由于从键盘输入的数据均被视为字符串,所以从键盘上输入的数据,必须先利用表3.7中所提供的方法进行转换后,字符串的内容才会变成数值。,3.6 由键盘输入数据,/App3_4.java 由键盘输入整数import java.io.*;public class App3_4 public static void main(String args)throws IOEx

10、ception float num;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in);System.out.print(请输入一个实数:);str=buf.readLine();/将输入的文字指定给字符串变量str存放 num=Float.parseFloat(str);/将str转换成float类型后赋给num System.out.println(您输入的数为:+num);,16,输入多个数据,3.6 由键盘输入数据,/方法1:App3_5.java 由键盘输入多个数据

11、import java.io.*;public class App3_5 public static void main(String args)throws IOException int num1,num2;String str1,str2;InputStreamReader in;in=new InputStreamReader(System.in);BufferedReader buf;buf=new BufferedReader(in);System.out.print(请输入第一个数:);str1=buf.readLine();/将输入的内容赋值给字符串变量str1 num1=In

12、teger.parseInt(str1);/将str1转成int类型后赋给num1 System.out.print(请输入第二个数:);str2=buf.readLine();/将输入的内容赋值给字符串变量str2 num2=Integer.parseInt(str2);/将str2转成int类型后赋给num2 System.out.println(num1+*+num2+=+(num1*num2);,17,为了简化输入操作,从Java SE 5版本开始在java.util类库中新增了一个类专门用于输入操作的类Scanner,可以使用该类输入一个对象。,3.6 由键盘输入数据,import

13、java.util.*;public class class_name/类名称 public static void main(String args)/*1.声明一个抽象数据类型Scanner 2.创建新Scanner对象*/Scanner reader=new Scanner(System.in);double num;num=reader.nextDouble();,18,在该结构中用创建的reader对象调用nextDouble()方法来读取用户从键盘上输入的double型数据,也可用reader对象调用下列方法,读取用户在键盘上输入的相应类型的数据:nextByte()nextDou

14、ble()nextFloat()nextInt()nextLong()nextShort()next()nextLine()。,3.6 由键盘输入数据,19,输入多个数据 为了简化输入操作,从Java SE 5版本开始在java.util类库中新增了一个类专门用于输入操作的类Scanner,可以使用该类输入一个对象。,3.6 由键盘输入数据,/方法2:App3_6.java 由键盘输入多个数据import java.util.*;/加载java.util类库里的所有类public class App3_6 public static void main(String args)int num1

15、;double num2;Scanner reader=new Scanner(System.in);System.out.print(请输入第一个数:);num1=reader.nextInt();/将输入的内容做int型数据赋值给变量num1 System.out.print(请输入第二个数:);num2=reader.nextDouble();/将输入的内容做double型数据赋值给变量num2 System.out.println(num1+*+num2+=+(num1*num2);,20,上例中,reader对象还可以调用nextByte()、nextFloat()、nestDoub

16、le()、nextInt()等。next()被调用后,则等待用户在命令行输入数据并按回车键(或空格键、Tab键)确认。next()和nextLine()方法表示等待用户在键盘上输入一行文本,然后返回一个String类型的数据。,3.6 由键盘输入数据,21,输入多个数据 利用Scanner类,使用next()和nextLine()方法接收从键盘输入字符串型数据。,3.6 由键盘输入数据,/App3_7.java 由键盘输入多个数据import java.util.*;/加载java.util类库里的所有类public class App3_7 public static void main(S

17、tring args)String s1,s2;Scanner reader=new Scanner(System.in);(请输入第一个数:);s1=reader.nextLine();/将输入的内容作为字符型数据赋值给变量s1(请输入第二个数:);s2=reader.next();/按Enter键后next()方法将回车符和换行符去掉(输入的是+s1+和+s2);,22,Scanner类,next()和nextLine()方法区别next():一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或 Enter键等结束符,它将自动将其去掉,只有在输入有效字符之后,该

18、方法才将其后输入的这些符号视为分隔符。nextLine():结束符为Enter键,即返回Enter之前的所有字符。,3.6 由键盘输入数据,23,按照运算符功能来分,基本的运算符有下面几类。算术运算符+、-、*、/、%、+、-关系运算符、=、&、|、赋值运算符=、扩展赋值运算符,如+=、/=等。条件运算符?:其他运算符 包括分量运算符”.”、下标运算符、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符()等。,3.7 运算符与表达式,24,*/%(取正)(取负)+-两个整数相“/”,结果为整数。对于两个整数之间的除法和取模运算,则式子(a/b)*

19、b+(a%b)=a是恒成立的。对取模运算符“%”来说,其操作数可以为浮点数。即a%b与a-(int)(a/b)*b)的语义相同,这表示a%b的结果是除完后剩下的浮点数部分。如37.2%10=7.2。(默认双精度)值得注意的是Java语言对加运算符进行了扩展,使它能够进行字符串的连接,如abc+de,得到字符串abcde。,3.7.2 算术运算符,25,、=、=、=、!=不能在浮点数之间作“=”的比较。,3.7.2 关系运算符,26,!、&、|、&、|、(异或)逻辑运算和关系运算的关系非常紧密,关系运算的结果为布尔型,逻辑运算的操作数与运算结果都是布尔型。简洁运算(&、|)与非简洁运算(&、|)

20、的区别在于:非简洁运算在必须计算完左右两个表达式之后,才取结果值;而简洁运算可能只计算左边的表达式而不计算右边的表达式,即对于&,只要左边表达式为false,就不计算右边表达式,则整个表达式为false;对于|,只要左边表达式为true,就不计算右边表达式,则整个表达式为true。,3.7.3 逻辑运算符,27,位运算符:、&、|、赋值运算符:=、扩展赋值运算符(+=等)自动类型转换右结合性,3.7.4 位运算符和赋值运算符,28,条件运算符:表达式1?表达式2:表达式3字符串运算符 字符串运算符“+”是以String为对象进行的操作。运算符“+”完成字符串连接操作,如果必要,则系统自动把操作数转换为String型。,3.7.5 条件运算符和字符串运算符,float a=100.0;/定义变量a为浮点型print(“The value of a is”+a+“n”);/系统自动将a转换成字符串String s1+=a;/s1=s1+a,若a非String型,自动转换为String型。,29,见教材表3.14,3.7.6 表达式及运算符的优先级、结合性,小结,基本数据类型和抽象数据类型变量的声明和赋值常量的声明赋值 数据类型的转换规则从键盘输入数据的语句运算符特点,30,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号