第3章 Java语言基础(第3版).ppt_第1页
第3章 Java语言基础(第3版).ppt_第2页
第3章 Java语言基础(第3版).ppt_第3页
第3章 Java语言基础(第3版).ppt_第4页
第3章 Java语言基础(第3版).ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、向该数据的地址,不是数据值本身。 类、数组、接口等。,3.1 数据类型,5,整型 浮点型 标准计数法和科学计数法。,3.1 数据类型,6,逻辑型(boolean布尔型) 只有true( “真”)和false( “假” )两个取值。true和 false不能转换成数字表示形式。占1个字节,默认false。 字符型(char) 用来存储单个字符。采用的是Unicode字符集编码方案,在内存中占2个字节。 字符声明只能表示单个字符,用单引号。 Java语言中所有可见的ASCII字符都可以用单引号括起来成为字符。 字符型数据可以转化为整型。,3.1 数据类型,Unicode字符采用u0000 -uFF

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

4、l或L) 浮点型常量(单精度后加f或F,双精度后加d或D可省略) 逻辑型常量 字符型常量 单引号。(转义字符见教材表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,数值型不同类型数据的转换 自动类型转换 转换前的数据类型与转换后的类型兼容。 转换后的数据类型的表示范围比转换前的类型大。 条件说明不同类型的数据进行运

5、算时,需先转换为同一类型,然后进行运算。转换从“短”到“长”的优先关系为:byteshortcharintlongfloatdouble 强制类型转换 如果要将较长的数据转换成较短的数据时(不安全), 就要进行强制类型转换。强制类型转换的格式如下:,3.5 数据类型转换,(欲转换的数据类型)变量名,11,字符串型数据与整型数据相互转换 字符串转换成数值型数据(见教材表3.7) 数值型数据转换成字符串 在Java语言中,字符串可用加号“+”来实现连接操 作。所以若其中某个操作数不是字符串,该操作在连 接之前会自动将其转换成字符串。所以可用加号来实 现自动的转换。,3.5 数据类型转换,Strin

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

7、IOException String str; InputStreamReader inp; inp=new InputStreamReader(System.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 s

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

9、Exception BufferedReader buf; String str; buf = new BufferedReader (new InputStreamReader (System.in); System.out.print(请输入字符串;); str = buf.readLine(); /将输入的文字指定给字符串变量str存放 System.out.println(您输入的字符串是:+str); /输出字符串 ,15,输入数值 由于从键盘输入的数据均被视为字符串,所以从键盘上输入的数据,必须先利用表3.7中所提供的方法进行转换后,字符串的内容才会变成数值。,3.6 由键盘输入数

10、据,/App3_4.java 由键盘输入整数 import java.io.*; public class App3_4 public static void main(String args) throws IOException float num; String str; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(请输入一个实数:); str=buf.readLine(); /将输入的文字指定给字符串变量str存放 num= Float.par

11、seFloat(str); /将str转换成float类型后赋给num System.out.println(您输入的数为:+num); ,16,输入多个数据,3.6 由键盘输入数据,/方法1:App3_5.java 由键盘输入多个数据 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

12、.in); BufferedReader buf; buf=new BufferedReader(in); System.out.print(请输入第一个数:); str1=buf.readLine(); /将输入的内容赋值给字符串变量str1 num1=Integer.parseInt(str1); /将str1转成int类型后赋给num1 System.out.print(请输入第二个数:); str2=buf.readLine(); /将输入的内容赋值给字符串变量str2 num2=Integer.parseInt(str2); /将str2转成int类型后赋给num2 System.o

13、ut.println(num1+*+num2+=+(num1*num2); ,17,为了简化输入操作,从Java SE 5版本开始在java.util类库中新增了一个类专门用于输入操作的类Scanner,可以使用该类输入一个对象。,3.6 由键盘输入数据,import java.util.*; public class class_name /类名称 public static void main(String args) Scanner reader=new Scanner(System.in); double num; num=reader.nextDouble(); ,18,在该结构中用

14、创建的reader对象调用nextDouble()方法来读取用户从键盘上输入的double型数据,也可用reader对象调用下列方法,读取用户在键盘上输入的相应类型的数据: nextByte() nextDouble() nextFloat() nextInt() nextLong() nextShort() next() nextLine()。,3.6 由键盘输入数据,19,输入多个数据 为了简化输入操作,从Java SE 5版本开始在java.util类库中新增了一个类专门用于输入操作的类Scanner,可以使用该类输入一个对象。,3.6 由键盘输入数据,/方法2:App3_6.java

15、由键盘输入多个数据 import java.util.*; /加载java.util类库里的所有类 public class App3_6 public static void main(String args) int num1; double num2; Scanner reader=new Scanner(System.in); System.out.print(请输入第一个数:); num1= reader.nextInt(); /将输入的内容做int型数据赋值给变量num1 System.out.print(请输入第二个数:); num2= reader.nextDouble();

16、/将输入的内容做double型数据赋值给变量num2 System.out.println(num1+*+num2+=+(num1*num2); ,20,上例中,reader对象还可以调用nextByte()、nextFloat()、nestDouble()、nextInt()等。 next()被调用后,则等待用户在命令行输入数据并按回车键(或空格键、Tab键)确认。 next()和nextLine()方法表示等待用户在键盘上输入一行文本,然后返回一个String类型的数据。,3.6 由键盘输入数据,21,输入多个数据 利用Scanner类,使用next()和nextLine()方法接收从键盘

17、输入字符串型数据。,3.6 由键盘输入数据,/App3_7.java 由键盘输入多个数据 import java.util.*; /加载java.util类库里的所有类 public class App3_7 public static void main(String args) String s1,s2; Scanner reader=new Scanner(System.in); System.out.print(请输入第一个数:); s1= reader.nextLine(); /将输入的内容作为字符型数据赋值给变量s1 System.out.print(请输入第二个数:); s2=

18、reader.next(); /按Enter键后next()方法将回车符和换行符去掉 System.out.println(输入的是+s1+和+s2); ,22,Scanner类,next()和nextLine()方法区别 next():一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或 Enter键等结束符,它将自动将其去掉,只有在输入有效字符之后,该方法才将其后输入的这些符号视为分隔符。 nextLine():结束符为Enter键,即返回Enter之前的所有字符。,3.6 由键盘输入数据,23,按照运算符功能来分,基本的运算符有下面几类。 算术运算符 +、-、

19、*、/、%、+、- 关系运算符 、=、&、|、 赋值运算符 =、扩展赋值运算符,如+=、/=等。 条件运算符 ? : 其他运算符 包括分量运算符.、下标运算符 、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符( )等。,3.7 运算符与表达式,24, * / % (取正) (取负) + - 两个整数相“/”,结果为整数。对于两个整数之间的除法和取模运算,则式子(a/b)*b+(a%b)=a是恒成立的。 对取模运算符“%”来说,其操作数可以为浮点数。即a % b与a-(int)(a/b)*b)的语义相同,这表示a % b的结果是除完后剩下的浮点数部分。如37.2%10=7.2。(默认双精度) 值得注意的是Java语言对加运算符进行了扩展,使它能够进行字符串的连接,如abc+de,得到字符串abc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论