标识符、关键字、数据类型_第1页
标识符、关键字、数据类型_第2页
标识符、关键字、数据类型_第3页
标识符、关键字、数据类型_第4页
标识符、关键字、数据类型_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、ID:SCSJ001-Java Basic Syntax 注释及分隔符、注释及分隔符、JavaJava文档化工具文档化工具 标识符标识符 关键字关键字 JavaJava基本数据类型基本数据类型 JavaJava引用类型引用类型2011-05-032vJava语言中定义了三种注释形式:语言中定义了三种注释形式: / 单行注释单行注释-注释到行尾注释到行尾 /* 单行或多行注释单行或多行注释 */ /* 可以用于文档化处理的单行或多行注释可以用于文档化处理的单行或多行注释 */vJDK中提供了一个文档自动生成工具中提供了一个文档自动生成工具javadoc,在自定义在自定义类中成类中成public的

2、成员前以的成员前以/*/形式加入的注释内容均形式加入的注释内容均可被自动提取到生成的说明文档中。可被自动提取到生成的说明文档中。用法:用法:javadoc source.java vJavadoc只处理源文件在类只处理源文件在类/接口、方法、域、构造器接口、方法、域、构造器之前的注释,忽略其他地方的注释之前的注释,忽略其他地方的注释2011-05-033/*javadoc演示程序演示程序-JavaDoc*author Alex Wen*version 1.0 2003/12/15*/ public class JavaDoc /* *在在main( )方法中使用的显方法中使用的显示用字符串示用

3、字符串 *see #main(java.lang.String) */ static String SDisplay; /* *显示显示JavaDoc *param args 从命令行中从命令行中带入的字符串带入的字符串 *return 无无 */ public static void main(String args) SDisplay = Hello World ; System.out.println( SDisplay ); 2011-05-034v javadoc 注释可以用于生成注释可以用于生成API文档文档v 从从javadoc注释中生成注释中生成API文档的时候,主要从以下几项

4、内容中提取文档的时候,主要从以下几项内容中提取信息:信息: 包; 公有(public)类与接口; 公有(public)方法和受保护(protected)方法; 公有(public)属性和受保护(protected)属性。2011-05-035v常常在常常在javadoc注释中加入一个以注释中加入一个以“”开头的标开头的标记,结合记,结合javadoc指令的参数,可以在生成的指令的参数,可以在生成的API文档中产生特定的标记文档中产生特定的标记v常用的常用的javadoc标记标记 author:作者 version:版本 docroot:表示产生文档的根路径 deprecated:不推荐使用的方

5、法 param:方法的参数类型 return:方法的返回类型 see:参见,用于指定参考的内容 exception:抛出的异常 throws:抛出的异常,和exception同义2011-05-036vJavadoc命令格式:命令格式: javadoc options packagenames sourcefiles files 2011-05-037v 一条语句是以分号(一条语句是以分号(;)结尾的一行代码)结尾的一行代码v 一个语句块是以一对花括号(一个语句块是以一对花括号()为边界的语句的集合)为边界的语句的集合vJava中允许有任意多的空格中允许有任意多的空格 ,包括换行,包括换行20

6、11-05-038v标识符用作给变量、类和方法命名标识符用作给变量、类和方法命名v可以以可以以字母、下划线“_”和和”$”符开头符开头v首字符外,可以跟上首字符外,可以跟上字母、下划线“_”和和”$”符符或或数字vJava是大小写敏感的,标识符也不例外是大小写敏感的,标识符也不例外2011-05-039合法标识符非法标识符TeStHello WorldA11A_booleanbooleanA$CACa#变量String2011-05-03102021-7-7标识符、关键字、数据类型11 Java中一些赋以特定的含义、并用做专门用途的单词中一些赋以特定的含义、并用做专门用途的单词称为关键字(称为

7、关键字(keyword) 所有所有Java关键字都是小写的,关键字都是小写的,TURE、FALSE、NULL等都不是等都不是Java关键字关键字 ; goto和和const 虽然从未被使用,但也作为虽然从未被使用,但也作为Java关键字关键字保留;保留;v Java中一共有中一共有51个关键字,如下表所示个关键字,如下表所示abstractassertbooleanbreakbytecontinuecasecatchcharclass类constdoubledefaultdoextendselsefinal变量floatforgotolongifimplementsimport导包native

8、newnullinstanceofintinterfacepackage包privateprotectedpublicreturn返回值shortstatic静态strictfpsuperswitchsynchronizedthiswhilevoidthrowthrowstransienttryvolatile2011-05-0312v Java是一门强类型语言。也就是说,所有的变量都必须是一门强类型语言。也就是说,所有的变量都必须显式声明类型。显式声明类型。v Java的数据类型分为两大类:原始类型(的数据类型分为两大类:原始类型(primitive type,也称为简单类型)和引用类型(也

9、称为简单类型)和引用类型(reference type)v 原始类型指的是一个数、一个字符或者一个原始类型指的是一个数、一个字符或者一个true/false值。值。它不提供任何与它们所持有的数据类型相关的行为。它不提供任何与它们所持有的数据类型相关的行为。v Java有有8种简单类型。种简单类型。2011-05-0313数据类型有效范围(bits)数据类型有效范围(bits)boolean1char16byte8short16int32long64float32double642011-05-0314数据类型简单数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(by

10、te, short, int, long)浮点类型(float, double)类(class)接口(interface)数组2011-05-0315 boolean类型适类型适于逻辑运算,一般用于程序流程控制于逻辑运算,一般用于程序流程控制 boolean类型数据只允许取值类型数据只允许取值true或或false,不可以,不可以0或或非非0的整数替代的整数替代true和和false。 用法举例:用法举例:boolean b = false;if(b) /do something2011-05-0316 char型数据用来表示通常意义上型数据用来表示通常意义上“字符字符” 字符常量是用单引号括

11、起来的单个字符字符常量是用单引号括起来的单个字符 char c = A; Java字符采用字符采用Unicode编码,每个字符占两个字节,因编码,每个字符占两个字节,因而可用十六进制编码形式表示(前缀为而可用十六进制编码形式表示(前缀为u表示表示Unicode) char c1 = u0061; Java语言中还允许使用转义字符语言中还允许使用转义字符来将其后的字符转变来将其后的字符转变为其它的含义为其它的含义 char c2 = n; /代表换行符2011-05-0317转义符含义Unicode值b退格(backspace)u0008n换行u000ar回车u000dt制表符(tab)u000

12、9“双引号u0022单引号u0027反斜杠u005c2011-05-0318 JavaJava各整数类型有固定的表数范围和字段长度,而不受具各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证体操作系统的影响,以保证JavaJava程序的可移植性程序的可移植性 。类 型占用存储空间表数范围byte1字节 -128 127 -2727-1short2字节 -215 215-1 (-3276832767)int 4字节 -231 231-1 (-21474836482147483647)long8字节 -263 263-1 2011-05-0319v Java语言整型常量的三种表

13、示形式:语言整型常量的三种表示形式: 十进制整数,如12, -314, 0。 八进制整数,要求以0开头,如012 十六进制数,要求0 x或0X开头,如0 x12 v Java语言的整型常量默认为语言的整型常量默认为int型,如:型,如: int i =3;v 声明声明long型常量可以后加型常量可以后加 l 或或 L ,如:,如: long l = 3L;2011-05-0320vJava浮点类型浮点类型有固定的表数范围和字段长度。有固定的表数范围和字段长度。和整数类型一样,在和整数类型一样,在javajava中,符点类型的范围中,符点类型的范围与机器无关。与机器无关。类 型占用存储空间表数范

14、围float4字节 -3.403E383.403E38 double8字节 -1.798E3081.798E308 2011-05-0321vJava浮点类型常量有两种表示形式浮点类型常量有两种表示形式 十进制数形式,必须含有小数点,例如:3.14 314.0 .314 科学记数法形式,如3.14e2 3.14E2 314E2 vJava浮点型常量默认为浮点型常量默认为double型型,如要如要声明一个声明一个常量为常量为float型,则需在数字后面加型,则需在数字后面加f或或F,如:,如: double d = 3.14;float f = 3.14f;2011-05-0322v通常,我们需

15、要在不同的数据类型之间进行转换。通常,我们需要在不同的数据类型之间进行转换。v简单类型除了简单类型除了boolean类型以外,其他的数据类类型以外,其他的数据类型可以自动转换成其他的数据类型,只要遵循如型可以自动转换成其他的数据类型,只要遵循如下图所示的原则:下图所示的原则:byteshortcharintlongfloatdouble2011-05-0323v Java语言中除语言中除8种基本数据类型以外的数据类型称为引用种基本数据类型以外的数据类型称为引用类型类型 v 引用类型数据以对象的形式存在引用类型数据以对象的形式存在 v 引用类型变量的值是某个对象的句柄,而不是对象本身引用类型变量

16、的值是某个对象的句柄,而不是对象本身 v 声明引用类型变量时,系统只为该变量分配引用空间,并声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象未创建一个具体的对象 2011-05-0324public class public class StudentStudent String String name;name; String String sex;sex; int int grade;grade; int int age;age; Student( Student(StringString _name, _name, StringString _sex, _sex,

17、intint _grade, _grade, intint _age) _age) name = _name; name = _name; sex = _sex; sex = _sex; grade = _grade; grade = _grade; age = _age; age = _age; 2011-05-0325nullnullLisaLisaMaleMale1 11818s snamenamesexsexgradegradeageage0 xa7678760 xa7678765 50 xa7678760 xa7678765 5Student s = null;Student s =

18、 null;String name = s.getName();/String name = s.getName();/报错,空指针异常报错,空指针异常s = new Student (Lisa,Male,1,18);s = new Student (Lisa,Male,1,18);String name1 = s.getName();/String name1 = s.getName();/返回返回”Lisa”Lisa”Student s1 = s;Student s1 = s;栈堆LisaLisa0 xa7678760 xa7678765 5s1s12011-05-0326ID:SCSJ0

19、01-Java Basic Syntax2011-05-0327v成员变量成员变量/局部变量局部变量v值传递值传递vJava编码规范编码规范2011-05-0328v在在Java中,每个变量都有类型中,每个变量都有类型v在使用变量之前,必须先声明变量的类型。类型在使用变量之前,必须先声明变量的类型。类型可以是简单类型,也可以是引用类型可以是简单类型,也可以是引用类型v变量总是在一个类中声明。但一个变量可能和整变量总是在一个类中声明。但一个变量可能和整个类相关联,个类相关联,也可能只在方法体中或某个程也可能只在方法体中或某个程序块中起作用序块中起作用2011-05-0329public clas

20、s test public void aMethod(int j)int m,n,k;String a = “aaaa”, b = “bbbb”;m = j;k = 100;System.out.println(m);System.out.println(n);/ErrorSystem.out.println(k);2011-05-0330public class testint i = 10,p=20;float f,j;f = 100.0fString s1,s2; 2011-05-0331v局部变量在使用之前,必须先初始化。局部变量在使用之前,必须先初始化。v全局变量如果没有初始化就拿来

21、使用,系统将会全局变量如果没有初始化就拿来使用,系统将会自动给它一个默认的初值。自动给它一个默认的初值。2011-05-0332byte0short0int0long0Lfloat0.0fdouble0.0dcharu0000booleanfalseobject refnull2011-05-0333vJava在参数传递时,只使用值传递在参数传递时,只使用值传递v当对象实例作为参数传递给方法时,这个参数的当对象实例作为参数传递给方法时,这个参数的值是对象的引用,而不是对象本身值是对象的引用,而不是对象本身s1s20 x1a4afb“Lisa”“male”1namesexgrade18age0

22、x1a4afb0 x1a4afbs2=s12011-05-0334v再来看一个简单类型数据传值的例子再来看一个简单类型数据传值的例子v思考:打印出来的结果是什么?为什么?思考:打印出来的结果是什么?为什么?public class CallByValuePristatic void half(int n)n=n/2;System.out.println(half方法方法n=+n);public static void main(String args)int m=10System.out.println(Before the Invocation,m=+m);half(m);System.ou

23、t.println(After the Invocation,m=+m);2011-05-0335public class public class Test Test public static public static void void changeStr(String str)changeStr(String str) str= str=welcomewelcome; ; public static void public static void main(String args) main(String args) String str= String str=12341234;

24、; changeStr(str); changeStr(str); System.out.println(str); System.out.println(str); /result: ”1234” why?/result: ”1234” why?2011-05-0336public class public class Test Test public static void public static void change(Student stu)change(Student stu) stu = new Student(); stu = new Student(); stu.setNa

25、me(“zhangsan”); stu.setName(“zhangsan”); public static void public static void main(String args) main(String args) Student stu = new Student(“lisi”); Student stu = new Student(“lisi”); change(stu); change(stu); System.out.println(stu.getName(); System.out.println(stu.getName(); 2011-05-0337v在编写在编写Ja

26、va程序时,对于类名、变量名、包名、程序时,对于类名、变量名、包名、方法名等有一些约定俗成的写法,这种写法可以方法名等有一些约定俗成的写法,这种写法可以提高程序的可读性,但这些编程风格并非必须。提高程序的可读性,但这些编程风格并非必须。v应该避免使用一些毫无意义的字符来作为包名、应该避免使用一些毫无意义的字符来作为包名、类名、变量名以及方法名等类名、变量名以及方法名等2011-05-0338v Package (包包):package banking;package .tsinghua;v Class (类类)class Studentclass TestStudentv Interface (接口接口)interface Person;2011-05-0339v Method (方法方法)balanceAccount()deleteUser()v Variable (变量变量)currentCustomernameagev Constant (常量常量)HEAD_C

温馨提示

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

评论

0/150

提交评论