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表示转到

跳转到指定标签,找到标签后,程序将从下一行继续执行。

posted @ 2021-12-04 16:55  whisper_ac  阅读(224)  评论(0)    收藏  举报