一:上手
二:类和对象
三:primitive主数据类型和引用
行百里者半九十
Java注重类型。不会让你做出长颈鹿类型变量放进兔子类型变量这样的危险诡异动作,也不会运行对长颈鹿调用跳跃这个动作。比如编译器就不让这样的事情发生:
Rabbit hopper = new Giraffe();
并且,变量必须拥有类型,另一条规则是变量必须拥有名称。
类型 | 位数 | 值域 |
---|---|---|
Boolean | 虚拟机决定 | true或false |
char | 16 bits | 0~65535 |
bytes | 8 bits | -128~127 |
short | 16 bits | -32768~32767 |
int | 32 bits | -2147483648~2147483647 |
long | 64 bits | -很大~+很大 |
float | 32bit | 范围规模可变 |
double | 64 bits | 范围规模可变 |
程序定义:
int x; x = 234; byte b = 89; boolean isFun = true; double d = 2345.6; char c = "f"; int z = x boolean isPunkRock; isPunkRock = false; boolean powerOn; powerOn = isFun; long big = 3456789; float f = 32.5f; //注意这里要加f,否则所有带小数点的值都会被Java当做double处理
要时刻记住 long > int > short > byte
你无法用小杯子装大值。当你用小杯子装大值时,会损失一些信息,也就是溢位。但反过来用大杯子装小值是可以的,编译器在安全性问题上是保守的。
保留字有:
public static void boolean char byte short int long float double
还有许多我们没有遇到的关键字,暂且不谈。起名字时进行保证可理解性,采用驼峰命名法能很大程度上避免关键字
对象的引用也是一个变量值,但是我们不知道这个值有多大
对象的声明、创建与赋值有3个步骤
Dog myDog
new Dog()
Dog myDog = new Dog();
下面我们给出一个Dog实例
程序中有变量的声明。引用变量的使用,以及控制Dog数组中的Dog
class Dog { String name; public static void main (String[] args) { //创建Dog对象 Dog dog1 = new Dog(); dog1.bark(); dog1.name = "Bart"; //创建Dog数组 Dog[] myDogs = new Dog[3]; //关门放狗 myDogs[0] = new Dog(); myDogs[1] = new Dog(); myDogs[2] = dog1; //通过数组引用存取Dog myDogs[0].name = "Fred"; myDogs[1].name = "Marge"; //myDogs[2]的名字是? System.out.println("last dog's name is "); System.out.println(myDogs[2].name); //逐个对Dog执行bark() int x = 0; while (x < myDogs.length) { myDogs[x].bark(); x = x + 1; } } public void bark() { System.out.println(name + " says Ruff!"); } public void eat() { } //其他方法 public void chaseCat() { } //其他方法 }
执行结果: