数据类型
- 基本数据类型
- 引用数据类型
基本数据类型(primitive type)
数值类型
- byte(1字节)
- short(2字节)
- int(4字节)
- long(8字节)
long定义的数字后面加一个"L"达到区分
float定义的数字后面加一个"F"达到区分
- float(4字节)
- double(8字节)
- char(2字节)
boolean类型
占1位 其值只有true和false
引用数据类型(reference type)
- 类
- 接口
- 数组
什么是字节
- 位(bit) 计算机内部数据储存的最小单位
- 字节(byte) 计算机中数据处理的基本单位 常用大写B表示
- 1 B(byte,字节) = 8 bit(位)
拓展
整数拓展
进制
二进制 0b开头
八进制 0开头
十进制
十六进制 0x开头
浮点数拓展
有限 离散 舍入误差 大约 接近但不等于
最好完全避免使用浮点数比较
BigDecimal类
字符拓展
所有的字符本质还是数字
编码 Unicode (2字节) 0-65536
转义字符
\t 制表符
\n 换行
…
布尔值拓展
/
类型转换
运算中 不同类型的数据先转换为同一类型 然后进行运算
低------------------------------------------------------------高
byte,short,char -> int -> long -> float -> double
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干类型
- 高容量转换到低容量的时候,强制转换,可能存在内存溢出或者精度问题
强制转换
(类型)变量名
高-低
自动转换
低–高
常量
final修饰符 用大写字母作变量名
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man, GoodMan
- 方法名:首字母小写和驼峰原则:run() , runRun()
逻辑运算符
- && 与 (and):两个变量都为真,结果才为true
- || 或 (or):两个变量一个为真,结果为true
- ! 非 (取反):真变为假,假变为真
短路运算
int c = 5;
boolean d = (c<4) && (c++<10);
System.out.println(d); //false
System.out.println(c); //5
逻辑与运算 如果前面的已经为假 则后面的语句不执行
位运算
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 (相应位都为1才为1,否则为0)
A|B = 0011 1101 (相应位都为0才为0,否则为1)
A^B = 0011 0001 (相应位相同位0,不相同为1)
~B = 1111 0010 (0取1,1取0)
左移<< *2 右移>> /2
其他
a+=b; //a=a+b
a-=b; //a=a-b
//................
//字符串连接符 +
int a=10;
int b=20;
System.out.println(""+a+b); //1020
System.out.println(a+b+""); //30
三元运算符
x ? y : z;
如果x==true,结果为y,否则为z
JavaDoc参数信息
/*
@author
@version
@since
@param
@return
@throws
*/
创建DOC文档
DOS命令
javadoc -encodeing UTF-8 -charset UTF-8 文件名.java
Scanner对象
Scanner scanner = new Scanner(System.in);
scanner.close();
next()
- 一定要读取到有效字符后才能结束输出
- 对输入有效字符之前遇到的空白,会自动将其去掉
- 以空格作为分隔符和结束符
- next()不能得到带有空格的字符串
nextLine()
- 以Enter为结束符,返回值是回车前的所有字符
- 可以获得空白
Switch
每一个case后使用break以防止case穿透
JDK7以上,switch支持字符串String
增强for循环
for(声明语句:表达式){
}
用于遍历数组和集合里的元素
break & continue
- break用于强行退出循环,不执行循环中的剩余语句,结束循环
- continue终止某次循环过程,跳过循环体中未执行的语句,接着进行下一次是否执行循环的判定