1、命名规范
- 包名都小写 com.companyname.xxxx
- 类名、接口名所有单词首字母大写 HelloWorld
- 变量名、方法名驼峰命名法 getData
- 常量名都大写,多个单词下划线分开 FILE_PATH、JAVA_HOME
2、数据类型
2.1 Q&A
1、什么是值类型、引用类型? 值类型:基本数据类型;引用类型:除了基本数据类型之外的;
2、值类型存储在栈中,栈中分配内存空间,直接存储所包含的值,其值就代表数据本身。值类型的数据具有较快的存取速度。
3、引用类型存储在堆中。在堆中分配内存空间,不直接存储所包含的值,而是指向所要存储的值,其值代表的是所指向的地址。
4、Java中有垃圾回收机制,栈内存中的变量随着方法的结束内存自然销毁了,而用引用类型的时候,当方法结束的时候,这个对象可能被另一个引用类型所应用,不会销毁,只有当一个对象没有任何引用变量引用的时候,垃圾回收机制才会回收。
public class Test {
public static void main(String[] args) {
//内存划分为栈内存(小)和堆内存(大)
// 值类型
int i=10;//保存在栈内存
int m=i;//把值复制给m
i=11;
System.out.println("m="+m+"i="+i);
//引用类型;除了基本数据类型,数组,String,类
//实际内容存在堆,栈里只存对应到堆的地址
int[] a= new int[]{1,2,3,4};
int[] b=a;//把对应到堆的地址给了b
a[2]=100;
System.out.println("b[2]="+b[2]);
}
}
5、自动数据类型转换:容量小转容量大的类型会自动升级
char、byte、short ==>int ==>long ==>float ==>double
char、byte、short之间的运算都会自动换为int类型
6、从左到右执行
7、前++:先自增再运算;后++:先运算再自增
3、赋值运算符
+=、-=、*=、/=、%=
既可以实现运算,又不更改元数据的数据类型
int i=10;
i +=10;//此时i=20,相当于 i=i+10;
short s=10;
s +=10;//此时s=20,类型为short,相当于 s=(short)(s+10);
int k=1;
k *=0.1;//k=? k = (int)(k *0.1) = 0