目录
Java程序基础知识
1、JDK、JRE、JVM三者的关系
JDK=JRE+Java开发工具;
JRD=JVM+Java核心类库;
2、命令行操作
cd md创建文件目录;
cd rd删除;
cd del删文件;
cd ..返回上一级;
cd /跳转目录;
3、pubilic+class
类名-->与文件名一致;
4、字节码文件
编译后生成字节码文件(.class)有几个类生成几个;
标识符
1、标识符的组成
数字、字母、下划线、美元符号(可以是中文),
与C语言相同首字符不能以数字开头;
与C语言相比,标识符的组成多了一个美元符号;
2、遵守驼峰命名方式
e.g. SytemService、UserService;
3、类名、接口名
首字母大写,后面每个单词首字母大写;
4、变量名、方法名
首字母小写,后面每个单词首字母大写;
5、常量名
全部大写;
//与C语言的常量不同 字面值(数据)看见字知其数据;
e.g.10.100,3.14,"abc",'a',ture、false(布尔型);
关键字
关键字要小写
public、class、static、void......
变量与常量
1、变量
Java中变量必须声明再赋值才能访问(否则内存未开辟出来);
变量必须初始化;
2、常量
常量有final关键字修饰;
boolean类型
1、布尔类型的值
boolean类型只有ture false 没有其他值;
2、布尔类型占用的字节数
boolen类型只占用1个字节;
3、布尔类型的底层表示和定义
不像C语言有0、1表示假和真;
底层false为0,ture为1;
定义:boolean i = true;
byte类型
byte类型表示8位带符号的二进制数;
char类型
1、char类型占有字节数
char类型在java中占2个字节;
2、char类型与short类型
char和short可表示的种类数量相同,但char可取更大的正整数;
float类型与double类型
java中无float类型,定义float类型时,在浮点数后+f;
否则认为是double类型,编译失败;
类型转换
1、布尔类型无法强制转换;
2、Java:高精度赋值给低精度时需要强制转换,否则编译错误,显示不兼容的类型,高精度到低精度会造成损失精度;e.g.long-->int
3、C语言:高精度赋值给低精度时,会有精度缺失,但不会造成编译失败;
4、Java和C语言:低精度赋值给高精度(小容量-->大容量) 自动转换,不存在精度损失;e.g. int-->long
5、当整数字面值未超过byte、short、char的取值范围可以直接赋值给byte、short、char;
6、byte、short、char混合运算时,先各自转换成int;
7、多种数据类型混合运算时,先转换成容量最大的类型;
8、long类型在后面+'L',long 10L,L用来判断是否为long类型;
9、float表示离散、有限、舍入误差、大约、接近不等于、0.1!=0.1,c=c+1;
需要完全避免用浮点数比较大小;
10、
int i = 128;
byte b=(byte) i;
输出为-127(因为有溢出);
11、JDK新特性
数字之间可以用下划线分隔,更清楚分辨位数;
e.g.10_0000_0000