首页 > 技术文章 > java关键字和运算符

wzooey 2014-04-03 21:08 原文

Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名。
java关键字描述列表
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 // do while循环
 
 
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

 

Java运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。
算术

单目:+(取正)-(取负) ++(自增1) - -(自减1)
双目:+ - * / %(取余)
三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
关系

等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<= 。
位与逻辑

位运算符 与(&)、非(~)、或(|)、异或(^)
&:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结 果为0.如:1010&1101,转为二进制:10001001101&1111110010比较结果为:1000000转为十进制: 64所以1010&1101=64;
| :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
~:0变1,1变0
^:两边的位不同时,结果为1,否则为0.如1100^1010=0110
逻辑运算符
与(&&)、非(!)、或(||)
赋值

= += -= *= /= %= &= ^= |= <<= >>=
instanceof

该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false。
运算符综述

Java 的表达式就是用运算符连接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。
位移

<< 带符号左移 >>带符号右移 >>> 无号右移
运算符优先级

按优先级从高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^& & || ? := op= 

推荐阅读