JAVA程序员培训定制课程.ppt_第1页
JAVA程序员培训定制课程.ppt_第2页
JAVA程序员培训定制课程.ppt_第3页
JAVA程序员培训定制课程.ppt_第4页
JAVA程序员培训定制课程.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1,标识符、关键字、数据类型,第三课,2,本课内容,注释及分隔符、Java文档化工具 标识符 关键字 Java基本数据类型 Java引用类型 String类型 方法结构及用法 值传递 关键字this,3,Java 注释,Java语言中定义了三种注释形式: / 单行注释-注释到行尾 /* 单行或多行注释 */ /* 可以用于文档化处理的单行或多行注释 */ JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/*/形式加入的注释内容均可被自动提取到生成的说明文档中。 用法:somepathjavadoc source.java,4,Ex1,练习在一个已有.java源代码文件中使用三种不同类型的注释,并用javadoc命令创建自己的类文档,体会其用法。,5,Java 分隔符,Java分隔符组成: 圆点-“.”、分号-“;”、花括号-“”、空格-“ ” Java分隔符作用: Java语句必须以分号作为结束标记 Java允许用花括号“”将一组语句括起来,形成一个语句块(block) Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。,6,Java 分隔符,Java语句块(block)用法: 定义类时类体必须采用语句块形式 定义方法时方法体必须采用语句块的形式 定义循环语句时,循环体可以语句块的形式,采用将0多条语句集合到一起,作为一个整体进行处理 语句块可以嵌套,嵌套层数无限制,7,EX 2,练习在已有应用程序的一个语句中插入多处空格、中间换行、将多个语句组成一个语句块儿(置于“”中),并编译运行程序,体会其自由程度。,8,变 量,程序执行中数值可变的数据称为变量。变量包括变量名和变量值。,变量名 用标识符命名,对应一定数量的内存存贮单元,其单元数视变量类型而定。,标识符 符合一定命名规则的字符串序列。,9,使用变量的注意事项,变量命名不能重复 Java区分大小写 变量必须先定义,再使用 只有定义过,才能为其分配相应数量的存储单元 一旦定义,变量类型才能确定,才能检查其运算的合法性,10,标识符(1),Java语言中,为各种变量、方法和类等起的名字称为标识符 Java标识符的命名规则: 应以字母、下划线、美元符开头 后跟字母、下划线、美元符或数字 Java标识符大小写敏感,长度无限制,11,标识符(2),Java标识符举例,12,关键字(1),Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword) 所有Java关键字都是小写的,TURE、FALSE、NULL等都不是Java关键字 ; goto和const 虽然从未使用,但也被作为Java关键字保留; true,false,null虽被用做专门用途,但不是Java关键字;,13,关键字(2),14,EX 3,测试并体会Java标识符、关键字的使用规则: 在程序中试将不合法的标识符(如:3ar, *bily, d9#8等)、或关键字作为变量名、方法名或类名,编译然后改正错误。,15,Java数据类型划分,数据类型,基本数据类型,引用数据类型,数值型,字符型(char),布尔型(boolean),整数类型(byte, short, int, long),浮点类型(float, double),类(class),接口(interface),数组,16,Java基本数据类型,Java中定义了四类/八种基本数据类型 逻辑型- boolean 字符型- char 整数型- byte, short, int, long 浮点数型- float, double,17,逻辑型,boolean类型适于逻辑运算,一般用于程序流程控制 boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。 用法举例: boolean b = false; if(b=true) /do something ,18,字符型,char型数据用来表示通常意义上“字符” 字符常量是用单引号括起来的单个字符 char c = A; Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示 char c1 = u0061; Java语言中还允许使用转义字符来将其后的字符转变为其它的含义 char c2 = n; /代表换行符,19,整数类型(1),Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性 :,20,整数类型(2),Java语言整型常量的三种表示形式: 十进制整数,如12, -314, 0。 八进制整数,要求以0开头,如012 十六进制数,要求0x或0X开头,如0x12 Java语言的整型常量默认为int型,如: int i =3; 声明long型常量可以后加 l 或 L ,如: long l = 3L;,21,浮点型(1),Java浮点类型有固定的表数范围和字段长度,22,浮点型(2),Java浮点类型常量有两种表示形式 十进制数形式,必须含有小数点,例如: 3.14 314.0 .314 科学记数法形式,如 3.14e2 3.14E2 314E2 Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如: double d = 3.14; float f = 3.14f;,23,基本数据类型变量声明和赋值,public class Test public static void main (String args ) boolean b = true; /声明boolean型变量并赋值 int x, y=8; / 声明int型变量 float f = 4.5f; / 声明float型变量并赋值 double d = 3.1415; /声明double型变量并赋值 char c; /声明char型变量 c = u0031; /为char型变量赋值 x = 12; /为int型变量赋值 ,24,EX 4,1. 运行P23页Example,体会各种原始数据类型的定义,赋值和输出。 输出可采用下述形式的语句:System.out.println(“a=“ + a); /其中a是变量名。 2. 使用char型的三种常量声明方式为char型变量赋值并输出。,25,Java引用类型,Java语言中除8种基本数据类型以外的数据类型称为引用类型 引用类型数据以对象的形式存在 引用类型变量的值是某个对象的句柄,而不是对象本身 声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象,26,Java引用类型应用举例,public class MyDate private int day = 12; private int month = 6; private int year = 1900; public Mydate(int d, int m, int y) year = y; month = m; day = d; public void display() System.out.println(year + “ / “ + month + “ / “ +day); public static void main(String args) MyDate m; m = new MyDate(22, 9, 2001); m.display(); ,27,对象的构造和初始化(1),为引用类型变量分配引用空间 MyDate m;,创建新对象-首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化 new MyDate(22, 9, 2001);,null,null,m,0,0,0,day,month,year,m,28,对象的构造和初始化(2),Java引用类型成员变量默认初始化原则,29,对象的构造和初始化(3),进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分 private int day = 12; private int month = 6; private int year = 1900;,null,m,12,6,1900,day,month,year,30,对象的构造和初始化(4),执行构造方法 public Mydate(int y, int m, int d) year = y; month = m; day = d; ,null,m,22,9,2001,day,month,year,31,对象的构造和初始化(5),为引用类型变量m赋值 m = new MyDate(22, 9, 2001);,0x3a478b,m,22,9,2001,day,month,year,0x3a478b,32,EX 5,运行P26页程序,体会Java引用数据类型的实现机制并思考: 基本数据类型和引用数据类型的区别? 引用类型变量和对象的区别? 类和对象的关系?,33,String 类,String是最常用的一种Java引用类型 String类对象保存不可修改的Unicode字符序列 String常量是用双引号括起来的0到多个字符,例如:String s = “HelloWorld“; String类型数据可以和任何其它数据类型进行“+“操作,实现字符串连接的效果。,34,值传递,Java中进行赋值操作或函数调用中传递参数时,遵循值传递的原则: 基本类型数据传递的是该数据的值本身 引用类型数据传递的是对对象的引用(句柄),而非对象本身,35,值传递举例(1),class BirthDate private int day; private int month; private int year; public BirthDate(int d,int m,int y) day = d; month = m; year = y; public void setDay(int d) day = d; public void setMonth(int m) month = m; public void setYear(int y) year = y; public int getDay() return day; public int getMonth() return month; public int getYear() return year; public void display() System.out.println(day + “ - “ + month + “ - “ + year); ,36,值传递举例(2),public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,37,值传递演示(1),main,程序开始执行时内存状态,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,38,值传递演示(2),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,i,d1,354752,d2,1970,7,7,2000,1,1,39,值传递演示(3),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i) i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,9,i,change1,40,值传递演示(4),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,1234,i,change1,41,值传递演示(5),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,42,值传递演示(6),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b) b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,587934,b,change2,43,值传递演示(7),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b) b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,666888,b,change2,22,2,2004,44,值传递演示(8),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,45,值传递演示(9),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b) b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,354752,b,change3,46,值传递演示(10),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,22,1,354752,b,change3,47,值传递演示(11),main,栈内存,堆内存,public class Example public static void main(String args) Example ex = new Example(); int date = 9; BirthDate d1= new BirthDate(7,7,1970); BirthDate d2= new BirthDate(1,1,2000); ex.change1(date); ex.change2(d1); ex.change3(d2); System.out.println(“date=“ + date); d1.display(); d2.display(); public void change1(int i)i = 1234; public void change2(BirthDate b)b = new BirthDate(22,2,2004); public void change3(BirthDate b)b.setDay(22); ,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,22,1,48,EX 7,练习值传递演示中的例程,Example.java,体会和巩固Java中值传递的思想。 编写Java类MyTool,实现下述功能并测试: 复制BirthDate类(见P9页)页对象; public BirthDate copy(BirthDate d) 给定一个BirthDate对象,返回对应其一周后日期的BirthDate对象(假定每月均为30天) public BirthDate nextWeek(BirthDate d),49,关键字this(1),Java中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。 构造方法中指该方法所创建的新对象 普通方法中指调用该方法的对象,50,关键字this(2),范例0404 Test.java,51,关键字this(3),public class ThisSample private int year; private int month; private int day; public ThisSample(int year,int month,int day) this.year = yea

温馨提示

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

评论

0/150

提交评论