《标识符和数据类型.ppt》由会员分享,可在线阅读,更多相关《标识符和数据类型.ppt(43页珍藏版)》请在三一办公上搜索。
1、1,第2章,标识符和数据类型Java语言基础,2,本章主要内容,Java的基本语法单位,1,Java编码体例,2,Java的基本数据类型,3,复合数据类型,4,类和对象的初步介绍,3,Java应用程序的结构,package语句import语句,public class public static void main(String args)class 类名 interface 接口名,主类名称,4,2.1 Java的基本语法单位,空白、注释及语句空白Java程序的元素之间可插入任意数量的空白,编译器将忽略掉多余的空白;程序中除了加入适当的空白外,还应使用缩进格式,使得同一层语句的起始列位置相同
2、。,5,不提倡的程序风格,一种不好的风格,class Point int x,y;Point(int x1,int y1)x=x1;y=y1;Point()this(0,0);void moveto(int x1,int y1)x=x1;y=y1;,6,提倡的程序风格,class Point int x,y;/点的x轴、y轴坐标Point(int x1,int y1)/构造方法x=x1;y=y1;Point()/构造方法this(0,0);void moveto(int x1,int y1)/点移动到(x1,y1)x=x1;y=y1;,7,注释,程序中适当地加入注释,会增加程序的可读性 Jav
3、a中的三种注释形式:,/在一行的注释/*一行或多行的注释*/*文档注释*/,8,语句、分号和块,Java中的语句是最小的执行单位。Java各语句间以分号“;”分隔。一个语句可写在连续的若干行内花括号“”和“”包含的一系列语句称为语句块,简称为块,语句块可以嵌套。,9,2.1.2 Java关键字,10,2.1.3 标识符,标识符是以字母、下划线(_)或美元符($)开头,由字母、数字、下划线(_)或美元符($)组成的字符串。标识符区分大小写,长度没有限制。标识符可以作为变量名、类名、方法名及接口名等。,11,标识符举例,合法的标识符非法标识符,2Sun class#myname,Identifie
4、r username User_name _sys_var1$changesizeof,12,2.2 Java编码体制(编程风格),Java中的一些命名约定:类 类名应为名词,含有大小写,每个字的首字母大写接口 接口是一种特殊的类,接口名的命名约定与类名相同方法 方法名应是动词,含有大小写,首字母小写,其余各字的首字母大写,尽量不要在方法名中使用下划线,13,常量 简单类型常量的名字应该全部为大写字母,字与字之间用下划线分隔,对象常量可使用混合大小写。变量 所有的变量都使用混合大小写,首字符为小写,后面的字首用大写,作为字间的分隔符。变量名中不要使用下划线。,14,2.3 数据类型,15,整型
5、,字节型(byte),8个位,范围-128127。短整型(short),占16个位,范围-32768 32767。整型(int),占32个位。长整型(long),占64个位。Java中的整型最值均有特定的符号。例如,Byte.MAX_VALUE就表示字节型的最大值127。整型数值可以采用八进制、十进制、十六进制表示,但不能采用二进制表示,和C/C+中的一样。如017,12,0 x2aB.,public class Test_Int/测试整形变量的最值 public static void main(String args)System.out.println(Byte.MAX_VALUE);S
6、ystem.out.println(Byte.MIN_VALUE);System.out.println(Short.MAX_VALUE);System.out.println(Short.MIN_VALUE);System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);System.out.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE);,17,注意:byte、short、int、long是基本类型,而Byte、Short、Inte
7、ger和Long分别是四种基本类型对应的系统类类型。,整型变量(续),18,字符型 char,Java字符型变量的长度为16个位,表示范围是从u0000 到 uffff 即从0 到 65535;而C/C+是采用8个位来表示字符的。如 A,114Character是char类型对应的类类型;最大值 Character.MAX_VALUE 65535;最小值 Character.MIN_VALUE0;,19,浮点型,分类:float和double,前者占32个位,后者占64个位。如3.14,3.14d,3.14f,默认的是double型。Float、Double 是对应的类类型;Float.MAX
8、_VALUE、Float.MIN_VALUE是最大值和最小值。Float.POSITIVE_INFINITY 和 Float.NEGATIVE_INFINITY是正/负无限大。,20,布尔型,boolean变量取值:true和false;true和false不能转换成任何数值表示,true不是1,false也不是0。,21,2.3.2 类型转换,各类型所占用的位数从短到长依次为:byte short char int long float double,不同类型数据的转换规则,22,类型转换,当位数多的类型向位数少的类型进行转换时,需要用户明确指明,即进行强制类型转换。一般地,高级类型(即位数
9、较多的数据类型)转为低级类型(即位数较少的数据类型)时,截断高位内容,因此会导致精度下降或数据溢出。,int i=3;byte b=(byte)i;,23,变量、说明和赋值,程序2-2 变量的说明和赋值 程序2-3为每种基本类型定义了一个变量,并为其赋值,24,2.4 复合数据类型,定义:用户定义的新类型为复合数据类型Java为用户提供的复合数据类型就是我们在前面提到的复合数据类型,即类、接口和数组。,25,2.5 类和对象的初步介绍,可以将现实生活中的事物经过抽象,映射为程序中的对象。对象在程序中是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类(class)。OOP中的三大技术:封装
10、、继承和多态。面向对象方法学包括三方面:面向对象的分析(object-oriented analysis,OOA)面向对象的设计(object-oriented design,OOD)面向对象的程序设计(object-oriented program,OOA),26,为什么使用面向对象,随着开发系统的不断扩大,面向过程的方法越来越不能满足使用者的要求。OOP技术使得程序结构简单,相互协作容易,更重要的是程序的重用性大大提高了。面向对象的方法学,就是使分析、设计和实现一个系统的方法尽可能地接近我们认识一个系统的方法。面向对象技术主要包含这样几个概念:对象、抽象数据类型、类、类型层次(子类)、继承
11、性、多态性。,27,JavaOOP能力,Java与C+的OOP能力比较,28,2.5.2 Java中的类定义,Java中类定义的一般格式为:访问权限修饰符 class 类名 extends 父类名类型 成员变量1;类型 成员变量2;.访问权限修饰符 类型 成员方法1(参数列表)类型 局部变量;方法体;.,29,类定义的几点说明,Java中的类定义与实现是放在一起保存的,整个 类必须在一个文件中。Java源文件名必须根据文件中的公有类名来定义,并且要区分大小写。类定义中可以指明父类,也可以不指明。若没有指明从哪个类派生而来,则表明是从缺省的父类Object派生而来。,30,一辆轿车的类定义,Cl
12、ass Carint color_number;int door_number;int speed;void brake()void speedUp()void slowDown(),31,2.5.3 Java中与OOP有关的关键字,访问权限关键字(public,private,protected),32,存储方式关键字static,只能修饰成员变量或成员方法,不能修饰方法中的局部变量;static 变量被类的所有对象所共享,可以通过类名直接访问,也可以通过对象名访问;类中定义的公有静态变量相当于C+或C语言中的全局变量;见例2-8,33,其他关键字,与继承相关的关键字有:final abst
13、ract(子类从父类(超类)继承的内容包括:变量和方法;子类还可以增加自己的属性和方法;)其他关键字:this super,34,2.5.4 类定义的示例,例2-11public class Date int day;int month;int year;,35,例2-12class Point int x,y;Point(int x1,int y1)x=x1;y=y1;Point()this(0,0);void moveTo(int x1,int y1)x=x1;y=y1;,例2-13Class Point3d extends Point int z;public Point3d(int x
14、,int y,int z)super(x,y);this.z=z;public Point3d()this(0,0,0);,36,2.5.5 创建一个对象,Java对类类型变量的内存分配分两步:变量说明(建立对象的引用):在内存中为对象建立一个引用,并置初值null。用new运算符为对象申请内存空间:空间的大小依class的定义而定,并将首地址赋给刚才建立的引用。例如:Date today;today=new Date();,37,?,000,0 xs1abcdef,Date today;today=new Date();,todayDayMonthYeartoday,引用,对象类实例,38,
15、创建对象并使用的实例,例2-14class Point int x,y;Point(int x1,int y1)x=x1;y=y1;Point()this(0,0);void moveTo(int x1,int y1)x=x1;y=y1;,public static void main(String args)Point p=new Point(1,1);System.out.println(p.x=+p.x+p.y=+p.y);p.x=p.y=20;System.out.println(p.x=+p.x+p.y=+p.y);p.moveTo(30,30);System.out.println
16、(p.x=+p.x+p.y=+p.y);,39,2.5.6 引用变量的赋值,例2-15引用变量的赋值。int x=7;int y=x;x=10;String s=“Hello”;String t=s;s=“World”;,10,40,2.5.7 自动初始化和null引用值,基本类型的成员变量系统会在声明时自动初始化;对象要使用必须先初始化,一般将对象初始化为null值。例:Customer1 bob=null;System.out.println(bob);,41,本章小结,Java的基本语法单位 语句、空白、注释Java的数据类型 基本数据类型、复合数据类型类和对象的初步介绍 类的定义、对象的创建及使用。,42,上机作业,P41页课后题第2.9。,43,第二章 结束谢谢大家!,