1.Dos命令:dir:打出当前目录结构;md:创建文件夹;cd+文件夹地址:跳转到当前目录下的对应文件夹;cd..:跳转到上一目录;rd+文件夹:删除文件夹中东西;del+文件(或 “*.文件” 类型这样的正则表达式):删除文件或这类文件;cd/:跳转到盘符;javac+文件名.java:编译java文件,生成class文件;java+文件名:运行jaca文件
2.JDK=JRE+开发工具集(如javac编译工具等);JRE=JVM+Java SE标准库
3.注释不会被编译到文件中
4.文档注释(/**...*/)会被JDK解析,生成网页文件形式的文档
5.Java优点:跨平台性(什么平台都用JVM运行);面向对象性;健壮性(去掉指针,提供内存访问管理);安全性(存在安全防范机制);社区繁荣
6.JVM优点:跨平台;GC自动内存管理(分配/回收,但仍存在内存溢出(数组越界)和泄露(GC不认为垃圾是垃圾,没回收))
7.源文件声名的多个类中只有和文件名相同的类才能是public
8.Java是半编译,半解释型语言(因Java在编译成字节码后可以被javac解释器解释执行,也可被JIT编译器编译执行),编译后每个类生成一个字节码文件(*.class)
9.main()方法是固定的:public static void main(String[] args)
10.const和goto不再使用
11.标识符可用字母,数字(不可开头),“.”,“$”,“_” 命名
12.命名规范:包名:全小写;类名,接口名:每个单词首字母大写;变量,函数名:第一个单词首字母小写,剩下的首字母大写;常量名:都大写,单词间用下划线
13.byte:1B;short:2B;int:4B;long:8B(定义时后缀放大L/小写l(否则默认为int进行隐式类型转换));float:4B(定义时后缀放大F/小写f(否则默认为double编译时报错));double:8B(但jvm分配空间时按slot(4B)来分,所以在内存中byte,short,int,float,boolen都占1个slot;long,double占2个slot)
14.浮点数不能精确表示10的负次幂,精度不高,会进行舍入舍出
15.可以将转义字符(如:‘\n’)赋给字符类型变量,char支持unicode,可以用中文字符赋给char,但字符之直接加减一个数时仍是asc码
16.bool只能用true和false,不能像c++一样用0/1表示false/true(但底层用0/1表示,因此jvm在底层给其分配内存和int一样)
17.隐式类型转换:只能数据范围小的像大的转(特殊:byte,short,char,立即数(直接为int类型)四者之间做运算都要转换成int类型(因此结果应放到int内。转换成int的原因:应运算时上述类型都会扩容成int,结果可能不需要高位,但高位仍被填充,因此除非用强制类型转换截断高位,否则都要用int装结果);可以用int通过隐式类型转换直接赋值给long,但int数值在未转换之前仍需要在int范围内(即使在数值在long范围内也不行))
18.强制类型转换:(类型)变量/立即数。可能丢失精度(小数点后截断/缩小后保留末几位字节)