1、变量,必须有名称和类型。
2、基本整数类型:从大到小(按占用空间),long,int,short,byte,长整型;整型;短整型;字节。
byte8 short16 int32 long64
基本类型还有两种:float32和double64,单精度浮点数类型和双精度浮点数类型。
3、一共八种:Be Careful,Bears Shouldn't Ingest Large Furry Dogs!注意!熊熊不能摄取长毛狗!
boolean char byte short int long float double
4、myDog.run();中,myDog实际只是相应对象的一个引用,并不是整个对象在参与运算,对象只存在于可以用 于回收的垃圾堆中,引用类似于指针,调用myDog中的变量去执行run();这个方法,引用没有大小之说。myDog 只 是存放着引用值,而不是整个对象,相当于myDog只是个索引地址,对象还存放在垃圾堆。只把门牌号方到了杯子 里,而没有把整个房子都放进去。对于引用变量来讲,变量只是取得特定对象的表示方法,不同于primitive主变 量,变量就代表着实际值。
5、数组
(1)、数组永远是对象,数组是对象,数组是对象,数组名只是个引用。
(2)、int k = 5;和dog[ ] j = new dog[5];对比:k是主数据变量,j是引用变量,k可以代表5运算,而j不行,真正运算的是dog[0-4].
(3)、public class Boolean{
public static void main(String[] args){
Dog[] k = new Dog[7];//其次,创建Dog[]数组,这个数组是个对象,基于Dog类,拥有Dog类的变量和方法。
k[0] = new Dog(); //k引用的是Dog[7]这个数组对象,下面分别用k[0-6]这个引用变量对应新对象,
k[1] = new Dog();
k[2] = new Dog();
k[3] = new Dog();
k[4] = new Dog();
k[5] = new Dog();
k[6] = new Dog();
System.out.println(k[0].x);
k[4].x = k[3].x + 2;
k[5] = k[4];//引用可以互相转换,但不能运算。
k[4] = null;//k[4]原先引用的对象被k[5]替代,k[4]成为空的引用变量,但k[4]原来的对象不会被回收,因为有k[5]
System.out.println(k[5].x);
}
}
class Dog{//首先,要有一个类。
int x = 5;
void wangwang(){
System.out.println("Wang....Wang....");
}
}
重要!!!!记得要把引用变量数组中的每个引用变量再引用至相应对象,否则只是个空引用变量,没有对应的对象,编译会报错。