(1)文件名和类名的一致
1.类中有main方法+public类 → main方法写在public类里面,并且文件名为这个类名
2.类中有main方法+没有public类 → 文件名与含有main方法的类名一致
(2)数据类型及其初始化
❤JAVA中的数据类型分为:基本类型(int,byte,long,short;char;)和对象类型
1.int,byte,long,short这四种整型都有三种表示方法:十进制,八进制,十六进制。在输出到控制台时会将非十进制的值换成十进制,不同的是long型在数值后面多了个L。
2.char字符型用单引号‘’表示,可与整数相互转换
char x1='M';
char y1='\120';
System.out.println("字符x1=" +x1);
System.out.println("字符y1=" +y1);
System.out.println("字符y1=" +(x1+y1));//记得打括号
// 字符x1=M
字符y1=P
字符y1=157
3.浮点型float,double要在各自的数值后面加上F和D,否则默认为double型
4.布尔型boolean只有两种可能:true和false
5.对象类型在初始化的时候一般需要new一个对象,其所存储的不是数值,而是引用。
例如String name=new String(Tom);,首先有一个字符串Tom在内存上一个位置存储好,然后name变量保存的是一个指示该位置的引用“。注意该引用不一定是一个真实的内存物理地址,也可以是一个物理地址的代号,Java虚拟机只要能通过该引用找到这个位置就好了。
❤基本类型的初始化:基本类型为全局变量时不用初始化,但作为局部变量时必须初始化。
特殊默认值为:float和double为0.0,char为空(非NULL),boolean为false。
(3)变量的引用
1.传值引用:针对基本类型,传递的是值得一个拷贝
2.传址引用:针对对象,传递的是一个对象句柄的拷贝
(4)static,final,static final的联系及区别
1.static:储存在RAM中;初始化在编译期间,后期可以变化;具体的使用和对象无关;不可以修饰局部变量
2.final:储存在常量存储中;初始化在编译期或运行期,后期不可以变化;修饰的属性跟具体对象有关,不同对象可以有不同的值;final修饰的类不能被继承,final修饰的方法不可以重用
3.static final【类常量】:修饰的属性一旦给值,就不可修改;可以通过类名访问。
(5)移位运算符
1.左移运算符<< :运算符左边的数左移的位数与运算符右边的数的位数一样
【例】15<<2:15的二进制00001111,左移2位,低位补0,变成00111100,结果为60
2.右移运算符>>:运算符左边的数右移的位数与运算符右边的数的位数一样。负数是个特例,负数采用补码存储,针对负数的左、右移都是由补码开始移动的,对移动后的补码再取补码,才得到原码。
【例】15>>2:15的二进制00001111,右移2位,正数的话高位补0,变成00000011,结果为3
【例】-15>>2:-15的二进制10001111,-15的补码是11110001,右移2位,负数的话高位补1,变成11111100,回复成源码,变成10000100,结果是-4
3.无符号右移运算符>>>:不论正负,都在高位补0
【例】-14>>>2:(11111111 11111111 11111111 11110010) >>> 2 = (00111111 11111111 11111111 11111100) = 1073741820