三种注释:须要注意的是三种注释内容里都不能出现Unicode转义字符(\u),不然没法经过编译。java
单行注释:面试
<!-- lang: java --> // ...注释内容...
多行注释:编码
/* * 注释内容 * 不容许嵌套 */
文档注释:code
/** *注释内容 * 不容许嵌套 */
数据类型:unicode
8种基本数据类型:文档
4种整型(有三种表示形式,十进制(不能以0开头)、八进制(0)、十六进制(0x)):编译
byte(-128~127)、short、int(正负20亿左右)、long(后缀大小写L).
2种浮点型:变量
float(后缀大小写F)、double(其数值精度是float类型的两倍,一般称之为双精度数值) .
字符类型:char(其实也算是一种没有符号的整型数据,使用单引号,unicode编码).数据类型
布尔型:boolean(false\true).float
关于char型
<!-- lang: java --> //char型数据应当注意的几种状况 System. out.println( "unicode表中第100位是:" +(char)100); //d System. out.println( " d 在unicode表中的顺序位置是" +(int)'d' ); //100 System.out.println( 'A'+ 'a'); //注意该输出结果不是" Aa",而是加法的计算结果162
须要注意的是数据类型间的转换问题:低字节转成高字节时,数据类型会自动提高,自动转换的;可是高字节转换低字节时,数据类型须要显式的进行强制类型转换。
byte b = ( byte) (300); // b=44;超过了byte的取值类型,精度丢失 short s = 4; short s2 = (short) (b+s); //short+byte,两个操做数被转换成 int;
还有种状况比较棘手,下面这两个会输出什么呢?(缘由本人不是很清楚)
System. out.println(2.0-1.1); //0.8999999999999999 System. out.println(( int)( char)( short)-1); //65535
变量的命名规则: 1:变量名的长度没有限制;
2:不能为JAVA中的关键字或保留字;
3:大小写敏感;
4:第一个字符不能为数字;
5:不能有空格;
6:核心技术原书是说:变量名必须是一个以字母 开头的由字母或数字构成的序列,而实际上的状况是 能够由字母、下划线、美圆符号、数字甚至中文汉字构成的序列。 例如:
int 变量 , _123 , $abc, _4汉字5$_; //这样的标识符是合法的,可是不建议使用 int 4Ab , kong ge , \u0008 , abc&cda; //Error,这些都不是合法的标识符
运算符:算术运算符、赋值运算符、逻辑运算符、自增自减、位运算符、三元运算符
自增自减:前缀方式先进行加(减)运算,后缀方式则使用变量原来的值,它的操做数不能是数值;
例:假设 a=1; int b = ++a; a的值会先加1,而后赋值给b,此时,b = 2,a=2; 一样假设a=1; int b = a++; a并不会先进行自增运算,而是先将原来的值赋给b,此时,b = 1,a=2;
理解了上面这个列子就能够明白一些很是折磨人的面试题了,好比在if和while语句里判断自增自减,如
int a = 1; int b = 0; do{ b++; System. out.println(b); } while(a++<3); //再把a++换成++a,看看有什么区别
逻辑运算符:逻辑或(&和&&),逻辑或(|和||),逻辑非(!);&&和&,|和||的区别。
三元运算符:数据类型 变量 = 布尔表达式?知足条件设置的内容:不知足条件设置的内容 ;
运算符优先级:() - 正负号 - 自增和自减 - 乘除 - 加减 - 位移 - 比较大小 - 判断 - 位运算 - 逻辑运算 - 三目 - 赋值;