java中不常见的关键字
(一)、transient关键字
transien表示短暂的
当一个成员变量被transient修饰后,在序列化该对象的时候这个变量不会被序列化。
(二)、strictfp关键字
strictfp表示严格的,精确的
strictfp可以用于修饰一个类、接口、方法;不能用于修饰接口的方法及构造函数。该关键字修饰的范围内,所有浮点运算都符合IEEE 754浮点数运算标准。
(三)、volatile关键字
volatile表示易变的,不稳定的
当一个变量被volatile修饰后,当一个线程对该变量做了修改后,其它线程能马上知道该变量被修改了;保证了该变量的可见性。
(四)、assert关键字
assert表示断言
assert的使用包含两块内容
(1)关键字在代码中的使用:
assert 有两种使用方法:
1)assert BooleanCondition;
asssert后边跟一个布尔表达式。
如果表达式的值为true,那么就认为当前条件符合要求,继续执行业务代码。
如果表达式的值为false,那么久认为当前条件不符合要求,立即抛出AssertionError的错误。
AssertionError extends Error extends Throwable.Throw这个类,平常使用的相对较少,它还有一个子类叫做Exception。Error和Exception一样,均属于系统不应该试图捕获的严重问题。
2)assert BooleanCondition:Excepiton
assert后边跟一个布尔表达式,同时再跟一个返回值为基本类型的表达式。
当表达式为true时,则继续运行剩余业务代码,不会执行‘:’后边的表达式。
当表达式为false时,则会执行‘:’后边的表达式,并将结果放置在AssertionError异常中,并抛出。
下面给一个代码示例:
1 public class assertStudy
2 {
3 public static void main(String args[])
4 {
5 assert 1 == 1;
6 System.out.println("A Go!");
7 System.out.println("\n-----------------------------------------------\n");
8 assert 1 != 1 : "Wrong";
9 System.out.println("B Go!");
10 }
11 }
(2)关键字的有效性
在上述的assert处加入断点,Debug调试时,发现断点处根本没有停顿,而是直接跳过了。
为什么会这样呢?这是因为assert关键字是受java启动项配置的。
此段关于assert关键字的使用转自java 关键字 assert的学习 - 王若伊_恩赐解脱 - 博客园 (cnblogs.com)
Java中还有两个保留字,表示当前未用到,以后可能会用作关键字。
(一)、const
const表示常数,常量
用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。
(二)、goto
goto表示转到
跳转到指定标签,找到标签后,程序将从下一行继续执行。


浙公网安备 33010602011771号