《基本Java类型》PPT课件.ppt_第1页
《基本Java类型》PPT课件.ppt_第2页
《基本Java类型》PPT课件.ppt_第3页
《基本Java类型》PPT课件.ppt_第4页
《基本Java类型》PPT课件.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第3章 基本Java类型,石化学院计算机工程系 赵睿 2004年8月,Unicode,Java程序是由Unicode字符集所写成的。 Unicode是一种十六位的字符编码标准。 使用Unicode的好处就是用一个字符集就可解决所有现今世界上的可书写语言。Unicode共有65536个编码,其中有近39000种已被定义完成,而中国字就占了21000种 ! 虽然Java程序是用Unicode写成的,但是亦支持ASCII及ISO Latin-1的格式,标记,标识符(Identifiers) 关键字(Keywords)或称保留字( Reserved words) 实字 (Literals):常量 分隔符 (Separators) 运算符 (Operators),标识符 (Identifers),标识符是指程序中所用的符号名称,像包、类、成员变量、方法、参数、变量名等都是。 标识符的命名法则为: 1.第一个字符必须是字母、钱币符号(¥、)或下划线(_),其后可跟着任意数目的字母、钱币符号、下划线或数字 。,2.除了钱币符号及下划线外,其余标点符号均不可使用。 3.标识符不可以是关键字或实字 以下为合法的标识符: A98_23,_abc,¥,USdollars 以下为非法的标识符 : A-4,3_1,the,Boolean, true,null,分隔符 (Seprators),分隔符 (Seprators) 分隔符用于隔开不同的标记。有下列几种: ( ) ; , .,变量,变量是用来存放指定类型的数据,其值在程序运行过程中是可变的。 在使用Java中的每个变量之前,都必须对它进行说明。变量的说明形式如下: 类型 变量名; 类型:String,int,double,boolean,char(系统规定) 变量名:name,age,tall,marriage,sex(程序员自己定) 其中类型(包含值、运算两个方面)说明了这个变量能存放什么样的数据。变量名是用来标识该变量的,我们存取变量的内容(变量的值)都是通过变量名来实现的。,变量名-续 1,在Java中用标识符来表示变量名。 程序员应该为变量取有意义的名称,以利于程序的阅读和理解。但变量取名时还有一些限制: 变量名是由字母、数字、下划线或美元符“$”组成的字符序列 变量名不能以数字作为第一个字符 区分大小写 下面是合法的变量名: Month(不同于month),student_name,class1,dollar$,$abc 而下面的变量名都不合法: 3a46,ab,abc-d,#ef.,变量名-续 2,变量名中字母大写和小写是有区别的,name和Name表示两个不同的变量名。 习惯上,变量名以小写字母开头,若一个变量名由超过一个单词所组成,则第一个单词之后的所有单词都以大写字母开头,以便于理解该变量名。 例如:anIntVar表示一个整型变量。,Java保留字(又称关键字),abstract double int strictfp boolean else interface super break extends long switch byte final native synchronized case finally new this catch float package throw char for private throws class goto protected transient const if public Try continue implements return void default Import short volatile do instanceof static while 尽量记住,边学边记,基本类型,变量是容器,每种容器只能存放特定种类的数据,而具体存放什么样的数据,由其类型来决定。 如整数类型的变量只能存放整数,而浮点数类型的变量用以存放实数。 所以在声明变量时自然必须说明所要声明的变量是属于哪一种类型的。,Java中的数据类型,基本数据类型,1、整型,整型是指那些没有小数部分的数据类型,由几种不同的简单数据类型表示:byte、short、int、long。 这些不同整数数据类型的意义在于它们所需的内存空间大小不同,也确定了它们所能存储数值的范围。 例如,byte数据类型需要的内存1字节,它只能存储 128到127间的数。 int数据类型需要的内存是4字节,可存储范围从-2147483648(Integer.MIN_VALUE)到2147483647 (Integer.MAX_VALUE)间的数值。 long数据类型需要的内存是8字节,可存储从-9 223 372 036 854 775 808(Long.MIN_VALUE)到9 223 372 036 854 775 807(Long.MAX_VALUE) 。实际上int类型已经提供了足够的数值范围,大多数情况下用int类型就够了。,数值20在内存中的存储形式,00010100 byte(1字节) 00000000 00010100 short (2字节)高位置0 00000000 00000000 00000000 00010100 int (4字节) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00010100 Long (8字节),浮点型是带有小数部分的数据类型,包括两种不同的数据类型:float和double。 一个float类型的变量占用4个字节(32位), -3.402 823 47e+38 +3.402 823 47e+38 (Float.MAX_VALUE) 1.4e-45 (Float.MIN_VALUE)而double类型的数据则需要8个字节(64位)内存。 在许多程序中,就其表示的数值范围而言,使用float类型来存储浮点数已经足够了。,3、布尔型(Boolean),布尔数据类型用于表达两个逻辑状态之一的值:true(真)或false(假)。 一般可将布尔类型看做是1位的整型值,因为1位只能有两个可能的值0和1。,4、字符型(1),字符类型变量用于存放单个字符,每个字符占用2个字节(16位)的存储空间。 将一个字符放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的Unicode代码放到存储单元中。 Unicode字符通常用十六进制编码表示,范围在u0000到uFFFF之间(216个)。 u前缀标志着这是一个Unicode值,而4个十六进制数位代表实际的Unicode字符编码。 例如,u0061代表字符a。,4、字符型(2),除了可用u这个符号来标定一个Unicode字符的编码外,Java还允许使用换码序列来表示特殊字符 常用的换码序列如表3-3所示(有些书中将“ ”称为转义符,意思是转变了其后继字符的含义)。,特殊字符(尽量记住),返回,强制类型转换,设x为float型变量,y为double型变量,a为int型变量,已知x=2.5f,a=7,y=4.22,则表达式x+a%3*(int)x%(int)y的值为 。(实验讲义P35) 高级数据类型要转换成低级数据类型,需要用到强制类型转换。 其一般形式为:(类型名)(表达式) 如:int i; byte b; i = 356; b =(byte)i;,/ 强制转换后丢失一部分数据,使得b的值为100。 一般使用强制类型转换可能会导致数值溢出或精度的下降,应尽量避免。,设x为float型变量,y为double型变量,a为int型变量,已知x=2.5f,a=7,y=4.22,则表达式x+a%3*(int)x%(int)y的值为 。,public class ex public static void main(String args) int a=7;float x=2.5f;double y=4.22; System.out.println(a%3); System.out.println(int)x); System.out.println(int)y); System.out.println(a%3*(int)x); System.out.println(a%3*(int)x%(int)y); System.out.println(x+a%3*(int)x%(int)y); ,3.1.3 作用域,变量的作用域:变量的使用范围。 假定在某代码段中能够使用一特定变量,则此段代码即是该变量的作用域。 图3-2为变量作用域的示意图。,class Person /以下5个成员变量 String name; int age; double tall; boolean marriage; char sex; /以下2个方法 eat(String eatwhat) System.out.println(name+” ate up the “+eatwhat); ,voiD Speak(String saywhat,int time) int i; for(i=0;itime;i+) System.out.println(name+” say:”+saywhat); ,变量name、age、tall、marriage、sex的作用域,变量i的作用域,变量的作用域示意图,由上图可以看出,变量name、age、tall、marriage、sex和变量i的作用域是不同的。变量name、age、tall、marriage、和sex的作用域是整个类,在类的方法中也可使用它们。 这种变量称之为成员变量。确切地讲,成员变量是在类当中、但不是在其类的方法中定义的变量。 而变量i是定义在speak方法中,它的作用域仅限于speak方法中。这类定义在某方法中的变量叫做局部变量。 注意:同一作用域中不可有同名的变量。如上面的代码在speak方法中不能再定义一个名字为i的变量。,3.1.4 变量的初始化,赋予变量一个初值,称为变量的初始化。可在定义变量的同时进行变量的初始化,如: int anIntVar=1; char aCharVar=A; float aFloatVar=1.23; boolean aBooleanVar=true; int num=1+2;,也可定义变量后再单独初始化,如:,int anIntVar; char aCharVar; float aFloatVar; boolean aBooleanVar; anIntVar=1; aCharVar =A; aFloatVar=1.23; aBooleanVar=true; 两种方法都完成了定义变量:anIntVar、aCharVar、aFloatVar、aBooleanVar,并分别给它们赋初值:1、A、1.23、true。,3.1.5 常量,常量是指在程序运行过程中其值不变的量。定义常量的方法有两种: (1)在定义变量的类型前面加final关键字,并同时进行初始化,如下所示: final int aFinalVar=0; (2)在定义变量的类型前面加final关键字,不进行初始化。通过另外的语句进行赋值。如下所示: final int aFinalVar; aFinalVar=0;,字面量(1),字面量(Literals):在Java程序中基本类型数据的书面形式 整数 十进制:第一个数字不能位0,09 八进制:以0开头,07 十六进制:以0x开头,09,af,AF 整型: -2 147 483 648+ 2 147 483 647 长整型:应在数尾加上 l 或L,8字节 例:对于十进制数84,4种字面量形式分别为:84(十进制)、0124(八进制)、0x54(十六进制)、84L(十进制),字面量(2),浮点数 小数点表示法:十进制整数(可选)+小数点+小数部分 科学表示法:小数点表示法+e或E+整数(Exponent) 例:3.1415 -.12 .12 0.5 2.997e8(2.997108) .2E-6 8字节(双精度) -1.797 693 134 862 315 70E+308 1.797 693 134 862 315 70E+308 若不需要这么高的精度,可在浮点常量后加上 f 或 F (4字节) -3.402 923 47E+38+3.402 923 47E+38,字面量(3),布尔量 true,false 字符量 由单引号括起来的单个字符,如a,字符可以是Unicode字符集(有65536个字符,包括世界上多种语言的基本字符。ASCII字符集是Unicode字符集的子集)中的任何字符。 另外,不可显示或存在意义冲突的字符可借助反斜杠来表示(字符转义) 字符串 由双引号括起来的字符序列,字符序列中可以使用转义序列,要求字符串在一行内写完。如“Welcome”,”two nline”,”Literals”。 语句System.out.println(“two n tlines”);,返回,常量和变量,常量与变量之间最根本的区别是:常量在经过定义并给它一个值之后,不能再对它进行修改。而变量则无此限制。 对于常量a,进行如下的操作是错误的: final int a=1; . a=2; 而对于变量a,如下这段代码则是正确的。 int a=1; a=2;,3.2 构造数据类型,构造数据类型由基本数据类型组合而成, Java 中的构造数据类型可分成如下几种:,数组类型我们将在第六章中介绍,这里对类作一个简单介绍。类是构造数据类型,定义了一个类后就可以像使用基本数据类型名称一样,在Java程序中用该类的名称来定义其它变量。 我们可以把定义好的类看作和类型名int、byte、char等一样是一个数据类型,可以用它来定义变量。它们之间的区别是类是由编程者自己定义的数据类型。而int、byte、char等类型是系统提供的。,3.3 标准I/O,输入和输出是Java程序的重要组成部分,它提供了人机交互的手段。输入是指把需要加工的数据放到计算机中,输出则把计算机处理的结果呈现给用户。 Java程序中需要用户提供的信息可通过输入操作来完成,而程序执行的结果需通过输出操作呈现给用户。 计算机支持多种输入和输出设备,例如,鼠标、键盘、扫描仪等是输入设备,显示器、打印机等是输出设备。我们这一节将学习输入输出信息最简单的方法:标准I/O操作。,标准I/O,标准I/0操作是指通过标准输入、输出设备进行数据的输入和输出操作。那么,什么样的设备属于标准输入、输出设备呢?在一个计算机系统中,一般用键盘作为标准的输入设备,显示器则是标准的输出设备。这意味着我们可使用键盘输入信息,使用显示器输出信息。 在java中,通过System.in和System.out(已用过)对象分别与键盘和显示器发生联系而完成程序信息的输入和输出。,3.3.1 System.out对象(1),System.in和System.out对象包含着多个从键盘输入数据或向显示器输出数据的方法。System.out对象中包含的最常用的方法是println()方法和print()方法。println()方法允许向标准输出设备(显示器)打印一行文本。例如,下面的代码: System.out.println(“Hello World!”); System.out.println(“How do you do!”); 执行该代码将显示下述输出结果: Hello World! How do you do!,3.3.1 System.out对象(2),print()方法与println()方法非常相似,两者的唯一不同在于println()方法完成打印后开始一个新行,而print()方法完成打印后不换行。下面的代码展示了它们的不同之处: System.out.print(“Hello World! “); System.out.println(“Everyone.”); Sys

温馨提示

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

评论

0/150

提交评论