Java Basic Notes
CLI Tools
编译
javac name.java
运行
java name(无后缀类名)
反汇编
javap –c name(无后缀类名)
打包
jar {c t x u f} [v m e 0 M i][-c 目录] 文件名
解释:
- c:创建 jar 包
- t:显示 jar 包内容
- x:解压 jar 包
- u:添加文件到 jar 包
- f:命名 jar 包
- v:显示详细执行过程报告
- m:指定 manifest.mf 文件(对 jar 包做相关设置)
- 0:打包 jar 包是不压缩
- M:不产生 manifest.mf 文件,覆盖 m 参数的设置
- i:创建索引文件
- C:进入某目录后再执行 jar 命令
- 生成 API 文档:java doc –d [ ] 类名/包名
可选参数:
- -author/-version:文档中显示作者和版本信息(默认不显示)
- -link superlink 标准类名:为标准类添加超链接
- -linksourse:方法/类名转化为超链接,指向生成的 html 格式的源文件
Gradle Tool
sudo apt install gradle
gradle help
gradle tasks
gradle assemble
gradle build
gradle clean
gradle test
gradle jar
gradle javadoc
Build Gradle
apply plugin: 'java'
jar {
manifest {
attributes 'Main-Class': 'com.sabertazimi.tao.Tao'
}
}
基本结构
数据类型
整型
类型
- byte 型:1 字节 -128~127
- short 型:2 字节 -2^15~2^15 -1
- int 型:4 字节 -2^31~2^31 -1(20 亿)
- long 型:8 字节 -2^63~2^63 -1
前/后缀
- 二进制前缀 0b/0B
- 八进制前缀 0
- 十六进制前缀 0x/0X
- 长整型后缀 l/L
浮点型
float 型
后缀 F:4 字节 -3403E383.403E38(有效位数 67 位)
float f = 1.2; //ERROR
float f = 1.2F; //OK
double 型
后缀 D(默认型):8 字节 -1798E308~1.798E308(有效位数 15 位)
科学计数法:指数均为十进制,符号为 e(尾数为十进制)/p(尾数为十六进制)
Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY,Double.isNaN(检数)
千分位下划线分隔法 e.g 123_456.789_000
字符型
-
1 个 char 型占 2 个字节(Unicode 编码)
-
’ ’(定界符)内可用八/十六进制转义字符表示字符
-
八:\xxx
-
十六:\uxxxx(\u 转义序列可出现在任何地方) e.g ‘\u0061’
改进的 Unicode 字符集:
- 代码点(前缀 U+)分为 17 个代码级别(code plane)
- 第一个级别为经典 Unicode 代码,
- 其余附加级别 U+10000 至 U+10FFFF。
布尔型
只允许赋值为 true、false(不可取 0 或非 0 值),不可与整型相互转换
引用类型
数组(Array)
字符串 String:不可变性(需要修改变量名所引用值,必须重新创建一个 String 对象例)
旧的对象实例若被判定为垃圾便会被系统自动回收
类(Class)
接口(Interface)
常量
定义(随使用随定义)
运算符
短路与、短路或
- &&:第一个操作数为假不再向后运算
- ||:第一个操作数为真不再向后运算