1. 编译型和解释型
编译型:compile,对代码整体进行翻译,比如C和C++,性能好
解释型:比如python和JS,看一点儿翻译一点儿
Java既是编译型又是解释型,在代码执行前进行预编译,生成.class文件(字节码文件)。先编译再解释。
.java(java源程序) -> Java编译器 -> .class(字节码文件) -> 类装载器 -> 字节码校验器 -> 解释器 ->操作系统平台
随着硬件的发展,编译型和解释型的界限越来越模糊。
2. 注释
Java注释有三种: 单行注释(略)、多行注释(略)、文档注释
在IDEA中更改注释的颜色和样式:
路径:Settings -> Editor -> Color Scheme -> Java -> Comments
JavaDoc文档注释
语法:/** 开头,*/结尾
与多行注释的区别:文档注释有参数,可以生成文档
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
JavaDoc文档生成:
1. 命令行生成:在.java文档所在的文件夹打开dos,通过命令 javadoc -encoding UTF-8 -charset UTF-8 文件名.java生成说明文档,查看index.html
2. IDEA生成: Tools - Generate JavaDoc - File… - 选择输出文件位置 - Locale:zh_CH - 其他参数: -encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/7/docs/api
3.标识符和关键字
- Java的关键字一共大约有50个,标识符不能使用关键字
- Java中,类名、变量名、方法名都称为标识符
- 所有标识符都以字母(区分大小写)、美元符号、下划线开始,不建议使用中文名称
4. 数据类型
Java是一种强类型语言, 变量必须先定义再使用,安全性高,但性能差
4.1基本数据类型
数值类型:
整数类型:
byte:占1个字节,范围-128~127
short:占2个字节,范围-32768~32767
int:占4个字节,范围-2147483648~2147483647(约21亿)
long:占8个字节,在数字后面加L进行区分
浮点类型:
float:占4个字节,在数字后面加F进行区分
double:占8个字节
字符类型:
char 占2个字节,代表一个字
boolean类型:占1位,值只有true和false
4.2引用数据类型
包括:类、接口、数组
(此处略,后面详述)
注意:String不是一个关键词,是一个类
关于字节
位:计算机存储数据的最小单位
字节:byte ,用B表示,是计算机处理数据的最下单位
1B = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
4.3 进制的表示
整数扩展
二进制:0b
八进制:0
十六进制:0x
浮点数扩展
算钱的时候,不能用float和double计算
float:有限、离散、舍入误差、大约、接近但不等于
最好完全避免使用浮点数进行比较
使用BigDecimal(数学工具类)
字符拓展
所有字符本质还是数字,对应Unicode或者万国码
5. 类型转换
数据类型容量从低到高
byte short char -> int -> long -> float -> double
- 从高到低需要强制转换,(类型)变量名
- 从低到高自动类型转换
- 不能对布尔值进行转换,不能把对象类型转换为不相干的类型
- 转换过程中可能会有内存溢出和精度问题
- byte short char运算时,都统一提升为int型
运算中,不同类型数据先转化为同一类型,然后进行运算,顺序为从低到高
6. 包机制
用于区别类名的命名空间,一般利用公司域名倒置作为包名
package **** 必须放在文件的最上面
注意:命令行执行java文件的时候,不能再在所在文件夹下直接执行,会报错:找不到或无法加载主类
此时,要去src下运行 java 包名.类名
重要提示:
- 代码编写规范详读阿里巴巴开发手册
- Java JDK帮助文档,https://www.oracle.com/cn/java/technologies/java-se-api-doc.html