1. 注释:
定义:对程序中代码的说明或解释,目的提高程序的可读性。
注释的分类: | |
// | 单行注释 |
/* 多行 */ | 多行注释,不能嵌套 |
/** 文档 */ | 文档注释 |
通过javadoc这个命令可以生成文档,这个命令在JDK的bin目录。例如:
javadoc -d . HelloWorld.java
javadoc -d docs Welcome.java
javadoc -d docs HelloWorld.java Welcome.java
2. 标识符
定义:标识符是程序员对程序中各个元素加以命名时使用的符号。命名时遵循以下规则:标识符一般是由数字、字母、下划线、$符号等组成,但不能以数字开头。可以以字母、下划线、$符号开始,后面可以跟数字、字母、下划线、$符号。标识符大小写敏感。标识符也可由人民币符号“¥”或者汉字组成。
作用:通常用来定义程序中的包名、类名、变量名、常量名、方法名。
在定义时通常遵循以下规则: | |
包名 | 全部小写 |
类名、接口名 | 所有单词的第一个字符大写 |
方法名、变量名 | 第一单词的首字母小写,其它单词首字母大写 |
常量名 | 全部大写 |
定义某个标识符时要尽量可以望文生义。
非法标识符例子: hello world、*var、9hello、class
合法标识符例子: HelloWorld、$adc、name
3. 关键字
关键字是sun公司指定具有某种特殊含义的一些字符的结合,所有的关键字都是小写英文字符。
例子:package、import、public、static、void、class
goto和const在java里面已经不被使用了, 但仍保留为关键字。assert在jdk1.5以后才引入的。
严格来讲,true和false不是关键字,而是布尔类型的值。null也不是java中的关键字。
Java中的关键字包括: | |
用于类和接口的声明 | class、extends、implements、interface |
包引入和包声明 | import、pachage |
数据类型 | boolean、byte、char、double、float、int、long、short |
流程控制 | break、case、continue、default、do、else、for、if、return、switch、while |
异常处理 | catch、finally、throw、throws、try |
修饰符 | abstract、final、native、private、protected、public、static、synchronized、transient、volatile |
操作符 | instanceof |
创建对象 | new |
引用 | this、super |
方法返回类型 | void |
4. 变量
变量其实是程序中的一个最基本的存储单元。其要素包括:变量名、变量类型、变量作用域。
从实质上来讲,变量其实是内存中的一块区域,通过变量的名字来访问这块区域。
变量的分类(有多种划分方式):
1) 按变量的数据类型划分:
1.1) 基本数据类型(简单数据类型)(8种)
整型 | 浮点型 | 字符型 | 布尔型 |
byte、short、int、long | float、double | char | boolean |
整型的默认类型是int。
浮点型的默认类型是double,浮点型不支持位运算。
byte | 占1byte(-128~+127),可以表示2^8=256个数 |
short | 占2byte(-32768~+32767) |
int | 占4byte |
long | 占8byte,可以以l或L结尾 |
float | 占4byte,定义float类型数字后要加f或F, 例: float f=4.0f. |
double | 占8byte,默认值为0.0 |
char | 占2byte,有三种字面值:以单引号引起来、以asc码表示、unicode编码 |
boolean | 占1byte,有两种值:true、 false |
例: byte b=129; //error(超出表示范围)
float f=4.0f;
double d=8.0;
long l=100l; //定义长整型, 最后可以以l或L结尾
char c1='m'; //以单引号括起来
char c2=65; //以asc码表示
char c3='\u0041'; //unicode编码, 0041是一个16进制的数, 不可以把u0041写为u41.
char c4='中';
boolean b1=true;
boolean b2=false;
# String这个类可以定义一个字符串,字符串拿双引号引起来。例如:String str=”Hello”;
# 如果数学表达式中都是整数,那么表达式的返回值只可能是int类型或long类型,如果把返回值给byte类型的变量,就必须进行强制类型的转换。
# 如果一个整数值在某种整数类型的取值范围内,就可以把它直接赋给这种类型的变量,否则必须进行强制类型的转换。
# 多个变量定义时,变量之间用逗号隔开。
#变量的类型转换:
-->自动类型转换(隐式类型转换)
-->强制类型转换(显示类型转换)
# 两个数字与运算时
a. 其中有一个为double类型,计算结果为double
b. 其中有一个为float类型,计算结果为float
c. 其中有一个为long型,计算结果为long
d. 其它计算结果均为int
# java浮点类型数据有两个特殊的值:负无穷大(-Infinity)和正无穷大(Infinity),它们用来表示无效的浮点运算的结果。正浮点型数除以0得正无穷大,负浮点型数除以0得负无穷大。
八进制数以“0”开头,十六进制以“0x”开头。
1.2) 对象数据类型(复合数据类型)
类、接口、数组
2) 按变量的作用域划分:
2.1) 局部变量(定义在方法的内部)
变量在使用前必须初始化
重合范围内的变量不能重复定义
2.2) 全局变量(定义在类的内部,方法的外部)