储存容量单位
bit
比特
B
字节
kb
千字节
1B
=8b
1kb
=1024B
程序入口
public class A{
public static void main(String[] args){
// code
}
}
main
方法参数名称可随意取,但为规范不建议修改。方法其余部分不能有任何修改。程序
public
类需与文件名一致,一个文件只有一个public
类
注释
三种注释类型
// 单行注释
/*
多行注释
*/
/**
*文档注释
*@version ...
*@author ...
*/
注释不能嵌套
数据类型
8种基本类型
Java没有无符号(unsigned)形式
- 4种整型
- byte
- short
- int
- long
- 2种浮点型
- float
- double
- 字符型
- char
- 布尔型
- bool
整型
类型 | 大小 | 取值范围 |
---|---|---|
byte | 1Byte | -128~127 |
short | 2Byte | -32768-32767 |
int | 4Byte | -2147483648~2147483647 |
long | 8Byte | … |
Java整型范围固定,不会在换平台后发生溢出
long
类型以l
或L
结尾
二进制:0b
,0B
开头
八进制:0
开头
十六进制:0x
,0B
开头
下划线(java7)
数字间可以加下划线,以更清楚地阅读。(编译时会去除)
System.out.print(2_000_123);
浮点型
类型 | 大小 | 取值范围 |
---|---|---|
float | 4Byte | 约±3.40282347E+38F(有效位6-7) |
double | 8Byte | 约±1.79769313486231570E+308(有效位15) |
float
精度问题,导致用的少。用在存储大量数据时和单精度数据库
float
后缀:f
,F
double
后缀:d
,D
不加后缀,默认为double
类型
e,E
基数10(e=10),后面的数表示阶层。1e3 = 1*10^3
浮点数表示数值会有误差(2.0-1.1=0.8999…)。若不要舍入误差,应使用
BigDecimal
类
用十六进制表示
0.125=2^-3
=> 0x1.0p-3
=> 1.0*2^(-3)
p
:指数,类e,E
。基数为2(p=2,e=10)
尾数十六进制
指数十进制
特殊值
- 正无穷:
Double.POSITIVE_INFINITY
- 负无穷:
Double.NEGATIVE_INFINITY
NaN
(非数字):Double.NaN
NAN
检查方法Double.isNaN(...)
char
用单引号('
)包裹的单字符
'A' == 65
部分Unicode
字符需两个char
值
可以用十六进制表示,范围\u0000
-\Uffff
\u2122 表示注册符号TM
\u03C0 π
转义序列
\u
+4位16进制数
可以出现在加引号("
和'
)的字符字面量或字符串中:'\u2122',“Hello\n"
Unicode转义序列会在解析代码前得到处理:
"\u0022+\u0022"
=>""+""
// \u00A0 is a line
(\u00A0
会导致换行,然后报错)
无用,多余,可能废弃的:
\u
可以出现在以上条件之外:public static void main(String\u005B\u005D args)
bool
只有两个值true,false
。
整型与布尔值不能相互转换
C,C++可以用其它类型替代布尔值