资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第章 标识符、关键字和数据类型,2.1 标识符和关键字 2.2 Java语言的基本数据类型 2.3 Java的数组,2.1 标识符和关键字,Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 Java 标识符有如下命名规则: 标识符由字母、下划线“_” 、美元符“$”或数字组成。 标识符应以字母、下划线 、美元符开头。 Java 标识符大小写敏感,长度无限制。 约定俗成:Java 标识符选取因注意“见名知意”且不能与 Java 语言的关键字重名。,关键字 Java 中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。 所有Java关键字都是小写英文字符串。 goto 和 const 虽然从未使用,但也作被为 Java 关键字保留。,关键字,原始数据类型 byte short int long float double char boolean 循环关键字 do while for break continue,分支关键字 if else switch case default break 方法、变量和类修饰符 private public protected final static abstract synchronized volatile strictfp,异常处理 try catch finally throw throws对象相关关键字 new extends implements class instanceof this super,字面值常量falsetruenull方法相关关键字returnvoid包相关关键字packageimport,Java常量,Java 的常量值用字符串表示,区分不同的数据类型。 如整型常量 123 实型常量 3.14 字符常量 a 逻辑常量 true、false 字符串常量 “helloworld” null 注意: 区分字符常量和字符串常量 区分 null 和 “”,Java变量,Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为: type varName =value,varName=value 例如: int i = 100; float f = 12.3f; double d1, d2, d3 = 0.123; String s = “hello”; 从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。,值,名字,Java变量的分类,按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量 注意:类外面(与类对应的大括号外面)不能有变量的声明 按所属的数据类型划分: 基本数据类型变量 引用数据类型变量,Java局部变量与成员变量,方法体内部声明的变量(包括形参)称为局部变量: 方法体内部是指与方法对应的大括号内部 在方法体外,类体内声明的变量成为成员变量 public void method() int i;int j = i+5 ; / 编译出错,变量i还未被初始化double d = 3.14; ,Java数据类型的划分,2.2 Java语言的基本数据类型,基本数据类型也称作简单数据类型。Java语言有8种简单数据类型,分别是:boolean、byte 、short、int、long、float、double、char。这8种数据类型习惯上可分为4大类型: 逻辑类型:boolean 字符类型:char 整数类型:byte、short、int、long 浮点类型:float、double,基本数据类型,Java 的基本数据类型包括(4类8种)boolean (true/false)byte(1) 、short(2)、int(4)、 long(8)float(4)、double(8)char(2)。,1.逻辑类型 boolean,boolean 类型适于逻辑运算,一般用于程序流程控制 。 boolean 类型数据只允许取值 true 或 false ,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 用法举例:boolean flag;flag = true;if(flag) /do something,2.整数类型,Java 各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。 Java 语言整型常量的三种表示形式: 十进制整数,如:12, -314, 0。 八进制整数,要求以 0 开头,如:012。 十六进制数,要求 0x 或 0X 开头,如:0x12 。 Java语言的整型常量默认为int型,声明long型常量可以后加 l 或 L ,如 int i1 = 600; /正确 long l1 = 88888888888L; /必须加l否则会出错,3.char型,char 型数据用来表示通常意义上的“字符” 字符常量为用单引号括起来的单个字符,例如: char eChar = a; char cChar =中; Java 字符采用 Unicode 编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如: char c1 = u0061; 注:Unicode是全球语言统一编码 Java 语言中还允许使用转义字符 来将其后的字符转变为其它的含义,例如: char c2 = n; /n代表换行符,Java中的字符型数据是16位的Unicode字符,汉字和英文字母占的内存空间相同。“JAVA你好”共12个字节。字符串常量是使用双引号括起来的字符序列,注意:最后字符不是0。例如:“Lets learn Java!“。,4 浮点类型,与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。 Java 浮点类型常量有两种表示形式 十进制数形式,例如: 3.14 314.0 .314 科学记数法形式,如 3.14e2 3.14E2 100E-2 Java 浮点型常量默认为 double 型,如要声明一个常量为 float 型,则需在数字后面加 f 或 F ,如: double d = 12345.6; /正确 float f = 12.3f; /必须加 f 否则会出错 下面列出 Java 的各种浮点类型,java中可以从任意基本类型转型到另外的基本类型 例外 boolean 类型不可以转换为其他的数据类型。 转换分为默认转换和强制转换 整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为: byte,short,char - int - long - float - double byte,short,char之间不会互相转换,他们三者在计算时首先转换为int类型 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;使用时要格外注意。 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。(看下页) 实数常量(如:1.2)默认为 double。整数常量(如:123)默认为 int 。,基本数据类型转换,强制类型转换的格式是:(数据类型)变量名经过强制类型转换,将得到一个在“()”中声明的数据类型的数据,该数据是从指定变量所包含的数据转换而来的。值得注意的是,指定变量本身不会发生任何变化。 例如,double y=3.14159d;int a=(int)y;,将占用位数较长的数据转化成占用位数较短的数据时,可能会造成数据超出较短数据类型的取值范围,造成“溢出”。如:long i=10000000000;int j=(int)i;因为转换的结果已经超出了int型数据所能表示的最大整数(4294967295),造成溢出,产生了错误。,short a,b,c; a=2; b=3; c=(short)(a+b); /类型转换,short a,b,c; a=2; b=3; c=a+b; /类型错误,引用的概念(reference),程序运行时,操作系统为程序运行分配的存储空间按用途可划分为下面几个部分:,Point2D pointOne 通常称pointOne是Point2D类型的对象变量(或对象); 对于对象变量pointOne的声明,操作系统会在栈(Stack)内为pointOne分配一个32位的内存空间; 该内存空间将来会存储一个32位的地址数据,就是为Point2D类型的对象分配的内存空间的首地址;,类Point2D 属性:x:floaty:float 方法:getX():返回x的值getY():返回y的值,类Point2D图示,Point2D pointOne = new Point2D(10, 100); 每当你需要创建对象,在程序代码中使用new,当它执行时,便会自堆(Heap)中分配对象所占的存储空间-java对象存储在堆(Heap)中。 pointOne值指向对象new Point2D(10, 100)实际分配的内存空间的首地址。 所以pointOne就是一个引用,其值指向对象实际所在的内存中的位置。 You manipulate objects with references; pointOne.getX( ),null,对于Java中的基本数据类型。 Java采取C/C+的方式,不用new为基本数据类型分配存储空间,而是将此类变量直接存放数据值,并置于栈中。 这样在空间的分配和释放上,操作这类极小、极简单的变量效率较高。 为了保证处理数据的一致性,Java类库也提供了基本数据类型的包装类(wrapped classes)。,Java defines two floating point numeric type:,float 32-bit Float,double 64-bit Double,char: a single character, stored using 16 bit Unicode encoding versus 8 bit ASCII encoding thus enabling Java to handle a wide range of international character sets. char c =x; 例如:想使用包装类在堆内产生代表该基本类型的对象: char c= x;Character C = new Character(c);或写成:Character C = new Character(x);,boolean: a variable that may only assume one of two values-true or false,JDK1.5版本以前需要手动封装 Integer it =new Integer(10);JDK1.5以后自动完成类型封装 Integer it=10;int i=10; Integer t1=i; /自动装包int y; y=t1; /自动拆包,Jdk1.5 :自动装包/拆包(Autoboxing/unboxing) 自动装包:基本类型自动转为包装类 自动拆包:包装类自动转为基本类型,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号