java语言基础(数据类型.ppt

上传人:牧羊曲112 文档编号:6510167 上传时间:2023-11-07 格式:PPT 页数:47 大小:336.99KB
返回 下载 相关 举报
java语言基础(数据类型.ppt_第1页
第1页 / 共47页
java语言基础(数据类型.ppt_第2页
第2页 / 共47页
java语言基础(数据类型.ppt_第3页
第3页 / 共47页
java语言基础(数据类型.ppt_第4页
第4页 / 共47页
java语言基础(数据类型.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《java语言基础(数据类型.ppt》由会员分享,可在线阅读,更多相关《java语言基础(数据类型.ppt(47页珍藏版)》请在三一办公上搜索。

1、1,Part 1注释、标识符、关键字、数据类型,第3章 JAVA语言基础,2,本章内容,注释及分隔符、Java文档化工具标识符关键字Java基本数据类型Java引用类型值传递关键字this,3,Example:,/*Description:This class is*counts to a number dictated by*the input to the program.*Copyright:Copyright(c)2007*Company:Dalian University of Technology*author Vivian Zhao*version 1.1*/,4,Cont.,p

2、ublic class CountingProgram/*This method counts from zero to X,printing*the“count”to the screen.*param countNumber The int number to count to.*/public static void count(String countNumber)int countTo=new Integer(countNumber);/for loopfor(int i=0;i countTo;i+)System.out.println(“Count=“+(i+1);public

3、static void main(String args)if(args0=null)System.out.println(“should input a number);else count(args0);,5,Java 注释,Java语言中定义了三种注释形式:/单行注释-注释到行尾/*单行或多行注释*/*可以用于文档化处理的单行或多行注释*/JDK中提供了一个文档自动生成工具javadoc,在自定义类中public的成员前以/*/形式加入的注释内容均可被自动提取到生成的说明文档中。用法:somepathjavadoc source.java 还可指定目录 javadoc d somepat

4、h source.java,6,常用的标记-javadoc标记,Javadoc能识别标记的一些特殊变量,并把注释加入它所生成的HTML文件:version:版本信息auther:作者param:参数return:返回说明exception:异常说明举例:HelloDate.java,7,Java 分隔符,Java分隔符组成:分号-“;”、花括号-“”、空格-“”Java分隔符作用:Java语句必须以分号作为结束标记 Java允许用花括号“”将一组语句括起来,形成一个语句块(block)Java程序源代码中各组成部分之间可以插入任意数量的空格,包括换行。,8,Java 分隔符,Java语句块(b

5、lock)用法:定义类时类体必须采用语句块形式 定义方法时方法体必须采用语句块的形式 定义循环语句时,循环体可以语句块的形式,采用将0多条语句集合到一起,作为一个整体进行处理 语句块可以嵌套,嵌套层数无限制,9,标识符(1),Java语言中,为各种变量、方法和类等起的名字称为标识符Java标识符的命名规则:应以字母、下划线、美元符开头后跟字母、下划线、美元符或数字Java标识符大小写敏感,长度无限制,10,标识符(2),Java标识符举例,11,关键字(1),Java中一些赋以特定的含义、并用做专门用途的单词称为关键字(keyword)所有Java关键字都是小写的,TURE、FALSE、NUL

6、L等都不是Java关键字 goto和const 虽然从未使用,但也作被为Java关键字保留,12,关键字(2),13,Java数据类型划分,数据类型,基本数据类型,引用数据类型,数值型,字符型(char),布尔型(boolean),整数类型(byte,short,int,long),浮点类型(float,double),类(class),接口(interface),数组,Java不支持C、C+中的指针类型、结构体类型和共用类型,14,Java基本数据类型,Java中定义了四类/八种基本数据类型逻辑型-boolean文本型-char整数型-byte,short,int,long浮点数型-floa

7、t,double,15,逻辑型,boolean类型适于逻辑运算,一般用于程序流程控制 boolean类型数据只允许取值true或false,不可以0或非0的整数替代true和false。用法举例:boolean b=false;if(b=true)/do something默认值:false,16,文本型(字符型),char型数据用来表示通常意义上“字符”字符常量是用单引号括起来的单个字符char c=A;Java字符采用Unicode编码,每个字符占两个字节char j=97;/j=a unicode 中的编码值Java语言中还允许使用转义字符来将其后的字符转变为其它的含义char c2=n

8、;/代表换行符默认值:u0000,17,整数类型(1),Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性:,18,整数类型(2),Java语言整型常量的三种表示形式:十进制整数,如12,-314,0。八进制整数,要求以0开头,如012 十六进制数,要求0 x或0X开头,如0 x12 Java语言的整型常量默认为int型,如:int i=3;声明long型常量可以后加 l 或 L,如:long l=3L;,19,浮点型(1),Java浮点类型有固定的表数范围和字段长度,20,浮点型(2),Java浮点类型常量有两种表示形式十进制数形式,必须含有

9、小数点,例如:3.14 314.0.314 科学记数法形式,如3.14e2 3.14E2 314E2 Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:double d=3.14;float f=3.14f;,21,基本数据类型变量声明和赋值,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;/声明

10、double型变量并赋值 char c;/声明char型变量 c=u0041;/为char型变量赋值(A)x=12;/为int型变量赋值,22,EX 1(课后练习),练习在一个已有.java源代码文件中使用三种不同类型的注释,并用javadoc命令创建自己的类文档,体会其用法。练习在已有应用程序的一个语句中插入多处空格、中间换行、将多个语句组成一个语句块儿(置于“”中),并编译运行程序,体会其自由程度。在程序中试将不合法的标识符(如:3ar,*bily,d9#8等)、或关键字作为变量名,编译然后改正错误。,23,Java引用类型,Java语言中除8种基本数据类型以外的数据类型称为引用类型 引用

11、类型数据以对象的形式存在 引用类型变量的值是某个对象的句柄,而不是对象本身 声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象,24,对象的构造和初始化(2),Java引用类型成员变量默认初始化原则,25,Java引用类型应用举例,public class MyDate private int day=12;private int month=6;private int year=1900;public MyDate(int y,int m,int d)year=y;month=m;day=d;public void display()System.out.println(

12、year+/+month+/+day);public static void main(String args)MyDate m;m=new MyDate(2001,9,22);m.display();,26,对象的构造和初始化(1),为引用类型变量分配引用空间 MyDate m;,创建新对象-首先为新对象分配内存空间,并进行属性(实例变量)的默认初始化 new MyDate(22,9,2001);,null,null,m,0,0,0,day,month,year,m,27,对象的构造和初始化(3),进行属性(成员变量)的显式初始化,显式初始化取值来自于类的定义中属性声明部分 private

13、int day=12;private int month=6;private int year=1900;,null,m,12,6,1900,day,month,year,28,对象的构造和初始化(4),执行构造方法public Mydate(int y,int m,int d)year=y;month=m;day=d;,null,m,22,9,2001,day,month,year,29,对象的构造和初始化(5),为引用类型变量m赋值m=new MyDate(22,9,2001);,0 x3a478b,m,22,9,2001,day,month,year,0 x3a478b,30,值传递,J

14、ava中进行赋值操作或方法调用中传递参数时,遵循值传递的原则:基本类型数据传递的是该数据的值本身 当向一个方法传递一个对象时,Java没有把对象放入堆栈,它只是拷贝对象的引用然后将这个引用的拷贝放入堆栈。也就是说,根据定义,Java使用的是传值方式。,31,值传递举例(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 v

15、oid 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);,32,值传递举例(2),public class Examplepublic static void main(String args)Example ex=new

16、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 vo

17、id change3(BirthDate b)b.setDay(22);,33,值传递演示(1),main,程序开始执行时内存状态,栈内存,堆内存,public class Examplepublic 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.pr

18、intln(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);,34,值传递演示(2),main,栈内存,堆内存,public class Examplepublic static void main(String args)Example ex=new Example();int date=9;B

19、irthDate 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

20、)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,35,值传递演示(3),main,栈内存,堆内存,public class Examplepublic 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);e

21、x.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,36,值传递演示(4),main,栈

22、内存,堆内存,public class Examplepublic 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

23、 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,37,值传递演示(5),main,栈内存,堆内存,public class Examplepublic static void main(String args)Example ex=new Example();int

24、 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(Bi

25、rthDate b)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,38,值传递演示(6),main,栈内存,堆内存,public class Examplepublic 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.chan

26、ge2(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,39,值

27、传递演示(7),main,栈内存,堆内存,public class Examplepublic 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 vo

28、id 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,40,值传递演示(8),main,栈内存,堆内存,public class Examplepublic static void main(String args)Ex

29、ample 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,20

30、04);public void change3(BirthDate b)b.setDay(22);,处内存状态,110925,9,587934,ex,date,d1,354752,d2,1970,7,7,2000,1,1,41,值传递演示(9),main,栈内存,堆内存,public class Examplepublic 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

31、);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

32、,1,1,354752,b,change3,42,值传递演示(10),main,栈内存,堆内存,public class Examplepublic 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.displ

33、ay();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,43,值传递演示(11),main,栈内存,堆内存,public class Examplepublic static void

34、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=ne

35、w 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,44,关键字this(1),Java中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。构造方法中指该方法所创建的新对象 普通方法中指调用该方法的对象,45,关键字this(2),public class ThisSampleprivate int year;private int month;priv

36、ate int day;public ThisSample(int year,int month,int day)this.year=year;this.month=month;this.day=day;public void setYear(int year)this.year=year;public void setMonth(int m)month=m;public void setDay(int d)day=d;public void setting()this.setYear(2001);this.setMonth(9);setDay(11);/同this.setDay(11);,4

37、6,EX 2(课后练习),练习值传递演示中的例程,Example.java,体会和巩固Java中值传递的思想。运行程序并分析流程,体会This的用法。public class TestMyDate public static void main(String args)MyDate m1=new MyDate(22,7,1964);MyDate m2=m1.copy(m1);m1.display();m2.display();/类MyDate的定义见下一页,47,EX 2,public class MyDateprivate int year,month,day;public MyDate()

38、public MyDate(int year,int month,int day)this.year=year;this.month=month;this.day=day;public void setYear(int year)this.year=year;public void setMonth(int m)month=m;public void setDay(int d)day=d;public void setting()this.setYear(2001);this.setMonth(9);setDay(11);/同this.setDay(11);public MyDate copy(MyDate d)MyDate m=new MyDate();m.year=d.year;m.month=d.month;m.day=d.day;return m;public void display()System.out.println(day+-+month+-+year);,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号