关键字即已经赋予特殊含义的一些单词,自己不能像变量一样给它赋值。
大部分跟C语言一样,先列举下:
abstract //抽象方法,抽象类的修饰符
assert //断言条件是否满足
boolean //布尔数据类型
break //跳出循环或者label代码段
byte //8-bit 有符号数据类型
case //switch语句的一个条件
catch //和try搭配捕捉异常信息
char //16-bit Unicode字符数据类型
class //定义类
const //未使用
continue //不执行循环体剩余部分
default //switch语句中的默认分支
do //循环语句,循环体至少会执行一次
double //64-bit双精度浮点数
else //if条件不成立时执行的分支
enum //枚举类型
extends //表示一个类是另一个类的子类
final //表示一个值在初始化之后就不能再改变了
//表示方法不能被重写,或者一个类不能有子类
finally //try 语句不管是否发生异常都要执行的语句块
float //32-bit单精度浮点数
for //for循环语句
goto //未使用
if //条件语句
implements //表示一个类实现了接口
import //导入类
instanceof //测试一个对象是否是某个类的实例
int //32位整型数
interface //接口,一种抽象的类型,仅有方法和常量的定义
long //64位整型数
native //表示方法用非java代码实现
new //分配新的类实例
package //一系列相关类组成一个包
private //表示私有字段,或者方法等,只能从类内部访问
protected //表示字段只能通过类或者其子类访问
//子类或者在同一个包内的其他类
public //表示共有属性或者方法
return //方法返回值
short //16位数字
static //表示在类级别定义,所有实例共享的
strictfp //浮点数比较使用严格的规则
super //表示基类
switch //选择语句
synchronized //表示同一时间只能由一个线程访问的代码块
this //表示调用当前实例
//或者调用另一个构造函数
throw //抛出异常
throws //定义方法可能抛出的异常
transient //修饰不要序列化的字段
try //表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码
void //标记方法不返回任何值
volatile //标记字段可能会被多个线程同时访问,而不做同步
while //while循环
数据类型
boolean 值只能是true和false,而不能用0和1代替,并且一定要小写。
long
长整型
short
短整型
流程控制
do 和while连用,
格式为:
do{
循环体;
}while(循环条件);//不要忘记分号;
for
格式为:
for(表达式1;表达式2;表达式3){
循环体;}
if
格式为:
if(
条件表达式)
{功能代码块1}
return
switch
格式为:
switch(
表达式){
case 值1:
功能代码1;
[
break;]
case 值2:
功能代码2;
[
break;];
……
case 值n:
功能代码n;
[
break;]
default:功能代码others;}
while
格式为:
while(循环条件)
{循环体;}
访问范围
protected 表明被它修饰的
成员变量为保护类型,在同一个包里和 public 类型是一样的,也是能够访问到的。但是如果在不同包里的 protected 类型的
成员变量就只能通过子类来访问,这个
修饰符是区别于其他的修饰符的。
类的实例
this引用属性,当方法中的参数和某个属性有相同的名字时,这是局部变量优先,属性被隐藏。然而,有时为了能够在方法中以用隐藏的属性,就可以用this区分,由this引用的就是属性,没有this引用的则是局部变量或者是参数。
this指代的是当前类的对象
其它
1、
catch捕获错误的语句。
3、
native是方法
修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在
java代码中,就不需要声明了,有点类似于接口方法。Native可以和其他一些
修饰符连用,但是abstract方法和Interface方法不能用
native来修饰。
4、
strictfp修饰类和方法,意思是FP-strict,精确浮点,符合IEEE-754规范的。当一个
class或
interface用
strictfp声明,内部所有的
float和
double
表达式都会成为strictfp的。Interface method不能被声明为
strictfp的,
class的可以。
5、
try 当try子句中的某行代码发生异常,会终止程序的运行,跳转到catch子句来执行。
6、
transient
变量
修饰符。标记为transient的
变量,在对象存储时,这些变量状态不会被持久化。当对象序列化的保存在
存储器上时,不希望有些字段数据被保存,为了保证安全性,可以把这些字段声明为transient。
7、
volatilevolatile修饰
变量。在每次被
线程访问时,都
强迫从
共享内存中重读该
成员变量的值。而且,当
成员变量发生变化时,强迫线程将变化值回写到
共享内存。这样在任何时刻,两个不同的线程总是看到某个
成员变量的同一个值。
一般
结构化程序,都不需要使用 Goto 语句的,在有分支和循环以及
递归调用之后,goto 完全可以不使用了。为了程序代码更简捷,对于
循环结构,还有
break 和
continue 用于跳转。而且,
break 和
continue 都可以带标签,更增加了它们的灵活性。
下面列举一些比较陌生的:
1.与try 、catch语句一起的,有个finally,try和catch虽然执行时都能够进去,但能执行完毕的只有一个,而finally是执行完try、catch语句后必定能够执行的。在下一篇的异常会详细介绍
2.static 静态 指代类中的公共部分(不再属于某个对象私有)
* 1.修饰变量 可以直接通过类名直接来调用 (可以不用对象)
* 2.修饰方法 可以直接通过类名直接来调用 (可以不用对象)
* 注:在静态区域中不能直接使用非静态的属性或方法
* 好处是可以不用创建对象,避免浪费内存,
* 坏处是一开始就得分配空间,还是要用内存
* 1.修饰变量 可以直接通过类名直接来调用 (可以不用对象)
* 2.修饰方法 可以直接通过类名直接来调用 (可以不用对象)
* 注:在静态区域中不能直接使用非静态的属性或方法
* 好处是可以不用创建对象,避免浪费内存,
* 坏处是一开始就得分配空间,还是要用内存
因为static类型的,内存会先为他们分配空间,一直到程序结束才会终止,所以当用static类型的变量去调用非static的时,会报错,因为其他的还没进入内存
3.
* instanceof 运算符 (返回值是boolean型)
* 判断某一个对象是否属于 某一种类型
* instanceof 运算符 (返回值是boolean型)
* 判断某一个对象是否属于 某一种类型