注意 Java 语言中字母采用的是双字节 Unicode 编码。Unicode 叫作统一编码制,它包含了亚洲文字编码,如中文、日文、韩文等字符。
;、左右大括号{}和空白。
常用关键字

Java 所有关键字
关键字: final 的用法
final 作为类修饰符: 这种类成为最终类,特点是不允许继承.例如 API 中的Math,String, Integer 类都是 final 类.final修饰方法: 是功能和内部语句不能被更改的最终方法,在子类中不能再对父类的 final 方法重定义.所有 private 修饰的为私有方法和 final 类中的方法都默认为是 final。final定义常量:只能被赋值一次
例如 final double PI=3.14159; public protectedprivate
用来声明类的私有成员,它提供了最高级的保护。用 private 修饰的域和方法只能被该类自身访问和修改,不能被任何其他类(包括该类的子类)来获取和引用.
通常,出于系统设计的安全考虑,将类的成员属性定义为 private 保护起来,而类的成员方法 public 对外公开, 这是类封装特性的一个体现.
Java语言中的运算符(也称操作符)在风格和功能上都与 C 和 C++ 极为相似。

运算符优先级从高到低
总结 运算符优先级大体顺序,从高到低是:算术运算符→位运算符→关系运算符→逻辑运算符→赋值运算符。
++, --运算, 建议单独成行, 提高阅读性.^是不同为真,相同为假。10为1 11为0; 若一个数异或2次或2次的倍数有还原的效果(条件表达式) ? 表达式1 : 表达式2;, 他的结合性是从右至左. 不建议嵌套使用三元运算符, 这样可读性极差.int i = 0;
int a = true ? false ? i+=3 : ++i : ++i; //相当于 int a = (true ? (false ? i+=3 : ++i) : ++i);
System.out.println(a); // 结果为 1
int i = 0;
a = true ? false ? i+=3 : i++ : i++; // a = true ? (false ? i+=3 : i++) : i++;
System.out.println(a); // 结果为 0
位运算符
x ? y : z;,其中x、y和z都为表达式。位与运算符&: 参与运算的两个位都为1,则结果为1,否则为0

位或运算符|: 参与运算的两个位只要有一位为1,则结果为1,否则为0

异或运算符^:参与运算的两个位不同(0和1,或1和0)的则结果为1,相同位为0.
异或不好记, 我是根据" 11 -> 0 我报警了" 才记住的

运算符的优先级不需要特别地去记忆它,比较复杂的表达式一般使用圆括号 () 分开,提高可读性。
三种基本注释 和 地标注释 Java中注释的语法有三种:单行注释(//)、多行注释(/.../)和文档注释(/*.../)。
Eclipse 等 IDE 工具都为 Java 源代码提供了一些特殊的注释,就是在代码中加一些标识,便于IDE工具快速定位代码,称为“地标注释”。这种注释虽然不是 Java 官方所提供的,但是主流语言和主流的IDE工具也都支持“地标注释”。
Eclipse 支持如下三种地标注释:
IDEA 目前只支持 TODO 和 FIXME, 不支持 XXX.
Java的一些数值运算
取整(int)num
四舍五入Math.floor(num)
关于instance of关键字的说明
(Integer)null编译和运行完美通过, 结果为nullnull instanceof 任意类 都为false考题1: "6+6"+6+6 的输出结果 A: 是 6+666, 这是"+"字符连接符导致.
考题2: -2%5 A: 为-2(算术运算符中除法符号看左边就行。)
考题3: 假设有如下程序:
int num = 50 ;
num = num ++ * 2 ;
System.out.println(num) ; A: 最终的执行结果是什么? 注意这里为数值++, 所以++后做. 结果为100
采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量:
a = a ^ b;
b = a ^ b;
a = a ^ b;这个交换两个变量而无需借助第3个临时变量过程,其实现主要是基于异或运算的如下性质:
1.任意一个变量X与其自身进行异或运算,结果为0,即X^X=0 2.任意一个变量X与0进行异或运算,结果不变,即X^0=X 3.异或运算具有可结合性,即abc=(ab)c=a(bc) 4.异或运算具有可交换性,即ab=ba
分析: 第一步: a = a ^ b; 完成后 a变量的结果为a ^ b
第二步: b = a ^ b; 得到 b = (原a ^ 原b)^ 原b = 原a ^ (原b ^ 原b) = 原a ^0= 原a,
即经过第二步运算后 b 中的值为 a,即 b=原a,将a换到了b里
第二步: a = a ^ b 得到a = (原a ^ 原b)^ b = (原a ^ 原b)^ 原a = 原a ^ 原a ^ 原b = 0 ^ 原b= 原b. 即a=原b.