Java关键词
Java共有50个关键词,分别是:abstract,assert,boolean,break,byte,case,catch,char,class,const,continue,default,do,double,else,enum,extends,final,finally,float,for,if,goto,implements,import,instanceof,int,interface,long,native,new,package,private,protected,public,return,short,static,strictfp,super,switch,synchronized,this,throw,throws,transient,try,void,volatile,while。
1、enum是Java5新增的关键词。
2、goto和const是Java的保留关键词。
3、true、false、null是Java提供的3个特殊直接量。
4、Java关键词都为小写。
5、基本数据类型可以用大写,例如:double和Double、float和Float等。
6、static定义的变量会优先任何非static定义的变量,无论出现顺序如何。
一、访问控制修饰符
1、所有类成员默认访问范围都是package访问。
2、可以修饰类、方法和字段。
private(私有的):
私有。
protected(受保护的):
访问范围为同一个包下的任何其它类和任何子类(同一个package下任何包下的子类)。
public(公共的):
公有。
二、类、方法和变量修饰符
class(类):
用于声明Java类,类是相关变量和方法的集合,是面对对象程序设计方法的基本构造单位。
abstract(声明抽象):
用于声明抽象类和抽象方法。
1、抽象类不可实例化,抽象类不一定包含抽象方法,但是包含抽象方法的类一定是抽象类。
2、继承抽象类的子类不全部实现父类抽象方法,则子类必须声明为抽象类,如果全部实现父类抽象方法,则子类不必声明为抽象类。
interface(接口):
用于声明Java接口。
1、接口是方法的集合,接口可以声明变量,但不能声明实例变量。
2、一个类可以实现一个或多个接口,实现接口的类必须实现该接口的全部抽象方法。
extends(继承、拓展):
用于标记Java类间的继承关系,接口之间也可以相互继承。
implements(实现):
用于标记Java类实现接口。
static(静态):
用于修饰内部类、方法、字段,由整个类共有而不是实例类专属,在访问权限内可以通过类名加点的方式调用,不需要实例化。
final(最终、不可变):
用于类、方法和变量,被修饰的类不可以被继承、方法不可以被重写、变量不可以修改,final表示最终态。
synchronized(线程同步):
用于修饰方法和代码块,并为修饰部分做一次只应由一个线程执行的线程同步保护,synchronized可以防止关键代码一次被多个线程执行。
1、如果应用于静态方法,当该方法一次由一个线程执行时,整个类将被锁定。
2、如果应用于实例方法,当该方法一次由一个线程访问时,该实例将被锁定。
3、如果应用于对象或数组,当关联的代码块一次由一个线程执行时,对象或数组将被锁定。
new(新建、创建):
用于实例化一个新的对象。
transient(短暂):
用于标记不允许被序列化处理的成员对象。
volatile(易失):
标记一个成员变量强迫性同步处理,确保多线程中共享数据的一致性。即它在变量声明中表示这个变量是同时被几个线程异步修改的。相当于实现了synchronized的部分功能。
strictfp(严格、精准):
意思是strict float point,表明浮点数时采用严格的规则,一旦使用了关键字strictfp来声明某个类、接口或者方法时,那么在这个关键字所声明的范围内所有浮点运算都是精确的,符合IEEE-754规范的。
native(本地):
用于声明本地方法-无方法体,通过调用底层方法来实现其功能。
1、它用来声明本机(native method)的。一旦声明这些方法可以在Java程序中被调用,就想调用Java其它方法一样。
2、native method用c/c++语言实现,并且被编译成DLL,这些函数的实现体在DLL中。
instanceof(实例):
instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
三、程序控制
if(如果):
标记if分支语句,条件必须为布尔值。
else(否则):
标记if分支的否定分支。即在if条件不满足的情况下执行该语句。
for(循环):
标记for循环。
do(运行):
标记do/whil循环的开始,用来声明一个循环,这个循环结束条件可以同while关键词设置。
while(循环):
标记whlie型循环。用来定义一段反复执行的循环语句。循环的退出条件是while语句的。
switch(观察):
标记switch分支语句。
1、switch接受的参数类型有10种,分别是基本类型的byte,short,int,char,enum和byte,short,int,char的封装类Byte,Short,Integer,Character。
2、参数也可以为引用类型的String,只有JavaSE 7 和以后的版本 可以接受String类型参数。
case(返回观察里的结果):
用于switch语句中标记一个判断分支。和switch的表达式的值进行比较,在相等的情况。
default(默认):
用于switch语句中标记默认的分支。即在所有case语句都不执行是执行该语句。
break(跳出、中断):
break 关键字用于提前退出 for、while 或 do 循环,或者在 switch 语句中用来结束 case 块。多层循环break退出当前所在循环。
continue(继续):
continue 关键字用来跳转到 for、while 或 do 循环的下一个迭代。多层循环continue继续跳转到当前所在循环。
return(返回):
如果一个方法不为void,即有返回值的时候,用此关键字终止方法的运行并返回处理结果给调用环境。
四、错误处理
try(捕捉异常):
标记一段可能产生异常的代码片断。用来定义一个可能抛出异常语句块。
catch(处理异常):
标记try异常处理语句的处理代码分支。try与catch一起用来捕获程序异常。
finally(最终执行):
标记try异常处理语句的无条件执行代码分支。用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。
throw(抛出一个异常):
显示抛出异常。它允许用户抛出一个exception对象或者任何实现throwable的对象。
thows(抛出多个异常):
在方法声明中表明其可能抛出的异常。它用在方法的声明中来说明哪些异常这个方法是不处理的,而是提交到程序的更高一层。
assert(断言):
断言,用于定位程序错误。它是一种程序的调试,测试方式。
五、包相关
import(引入):
导入软件包。在源文件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加上包的名字。
package(包):
用于声明软件包。
六、基本类型变量引用
byte(字节型):
8位,最大存储数据量是255,存放的数据范围是-128~127之间。
char(字符型):
16位,存储Unicode码,用单引号赋值。
double(双精度):
64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
float(浮点):
32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
short(短整型):
16位,最大数据存储量是65536,数据范围是-32768~32767之间。
int(整型):
32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
long(长整型):
64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
boolean(布尔):
只有true和false两个取值。
七、变量引用
this(本类):
标记方法的当前对象,或在构造方法中调用同一个类的其他重载构造方法。用来代表它出现的类的一个实例。this可以用来访问类变量和类方法。
super(父类):
在子类表明父类成员或在构造方法中调用父类的构造方法。
void(无返回类型):
标记一个方法没有返回值。"void"也可以用来表示一句没有任何功能的语句。
参考文章:
https://blog.csdn.net/angjunqiang/article/details/46426901
https://blog.csdn.net/u011794238/article/details/51351827
https://wenku.baidu.com/view/889b5386e53a580216fcfe8b