对于简单的,小的变量,使用new创建在堆里,不是很有效,所以对于那些类型,java创建一个并非是引用的”自动”变量,直接存储值在堆栈中,更加高效. java要确定每种基本类型所占存储空间的大小,它们的大小并不像其他大多数语言那样随机器硬件架构变化而变化,这种不变性是java比其他大多数语言编写的程序更具移植性的原因之一.
所有的类型都有正负号.
使用任何引用前,都必须为其指定一个对象.
以下代码在c和c++中是合法的,但是在java中却不能这样写:
{ int x = 12; { int x = 96; } }编译器会报告x已经定义过,在c或c++中会将作用域大的”隐藏”,在java中不允许.
java中new出来的对象,只要你需要使用,就会一直保留下去,由垃圾回收器来辨别不使用的对象.
类的某个成员是基本数据类型,及时没有初始化,java会自动初始化.
基本类型默认值booleanfalsechar‘\u0000’(null)byte(byte)0short(short)0int0long0Lfloat0.0fdouble0.0d但是上面的不适用于”局部”变量,如某个方法中有 int x; 那么x可能是任意值(同c和c++),但是编译时候会报错…
尽管传递的是对象,然而实际上传递的是对象的引用,八大基础类型是个例外.
由于相同命名的冲突,java通过使用包来避免,自己的名字空间.
java支持向前引用,不过会引发小错误.
在static的方法中只能访问静态方法和静态变量. 静态方法是属于类的,而普通方法是属于对象的
java.lang这个包默认自动导入.其他的需要自己导入.
javadoc test.java
这句命令可以为test.java生成帮助文档,不过只会为public和protected进行文档注释,private和包内可访问成员会被忽略.
采用驼峰标识,组成类名的单词第一个字母全大写,方法和字段(成员变量)第一个小写,其他第一个大写.比如
class AllTheColorsOfTheRainbow{ int anIntegerColor; void changeColor(int color){ //something to do } }