一.数据
1.标识符和关键字
记:
1.
Java标识符由数字,字母和下划线(_),美元符号($)组成。在Java中是区分大小写的。而且还要求首位不能是数字。最重要的是,Java关键字
不能当作Java标识符。
2.数据类型
基本类型:
数据类型 | 占用位数 | 数值范围 | 初始值 |
boolean | 8 | 只有两个值:true和false | FALSE |
byte | 8 | 从-128到+127(-2E7到2E7-1) | 0 |
char | 16 | 从\u0000到\uFFFF(0到65535) | \u0000 |
short | 16 | 从-32768到+32767(-2E15到2E15-1) | 0 |
int | 32 | 从-2147483648到+2147483647(-2E31到2E31-1) | 0 |
long | 64 | …(-2E63到2E63-1) | 0L |
float | 32 | IEEE754标准 | 0.0f |
double | 64 | IEEE754标准 | 0.0d |
记:
1.char(字符)规定用的是unicode字符集,前128位和ASCII字符是一样的。关于字符集可以看关于字符集。
2.强制转换类型时记得一定要想清楚了,小数点后面的数是全部会去掉的不是四舍五入。
引用类型:
类,接口,枚举,数组。
二.操作
1.运算符
1.算 术 运 算 符 (+,-,*,/,%,++,--)
2.关 系 运 算 符 (>,<,>=,<=,==,!=)
3.布 尔 逻 辑 运 算 符 (!,&&,||)
4.位 运 算 符 (>>,<<,>>>,&,|,^,~ ,>>>)
5.赋 值 运 算 符 (=,+=,-=,*=,/=,&=,|=,%=,<<=,>>=,>>>=)
6.条 件 运 算 符 ( ?:)
7.其 它 (包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配运 算 符 new,强 制 类 型 转 换 运 算 符 (类 型 ), 方 法调 用 运 算 符 () )
2.关 系 运 算 符 (>,<,>=,<=,==,!=)
3.布 尔 逻 辑 运 算 符 (!,&&,||)
4.位 运 算 符 (>>,<<,>>>,&,|,^,~ ,>>>)
5.赋 值 运 算 符 (=,+=,-=,*=,/=,&=,|=,%=,<<=,>>=,>>>=)
6.条 件 运 算 符 ( ?:)
7.其 它 (包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配运 算 符 new,强 制 类 型 转 换 运 算 符 (类 型 ), 方 法调 用 运 算 符 () )
记
1.>>>(无符号右移)和>>>=(赋值无符号右移),很少看到,我也就在程序中看到过一次。
>>(带符号右移)和>>>(无符号右移)区别是无符号始终补0。
2
.+
a 如果a
是一个 byte
、short
或者 char
,则将它转换为int。
三.流程控制
1.if语句和if-else语句
2.switch语句
3.for语句
4.while和do-while语句
5.;(分号),break,continue
以上5个部分就组成了整个程序的流程控制。
记:
for语句两种写法:
方式1.---------------------------------------------------------------------------
for(int i=0;i < 3;i++){
//....
}
方式2.-----------------------------------------------------------------------------
HashMap<Integer,String> is = new HashMap<Integer,String>();
for(Integer i:is.keySet()){
//...
}
我以前问过一个做编译器的同事,他说因为java虚拟机做了很多的优化效率上好像不会差很多。我觉得在遍历对象的时候确实要1确实要比2方便,所以在遍历对象是可以尽量多用第2的方式。