系列文章目录
一:上手
二:类和对象
三:primitive主数据类型和引用
文章目录
前言
行百里者半九十
1、声明变量
Java注重类型。不会让你做出长颈鹿类型变量放进兔子类型变量这样的危险诡异动作,也不会运行对长颈鹿调用跳跃这个动作。比如编译器就不让这样的事情发生:Rabbit hopper = new Giraffe();
并且,变量必须拥有类型,另一条规则是变量必须拥有名称。
2、primitive主数据类型
类型 | 位数 | 值域 |
---|---|---|
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处理
3、避免溢出
要时刻记住 long > int > short > byte
你无法用小杯子装大值。当你用小杯子装大值时,会损失一些信息,也就是溢位。但反过来用大杯子装小值是可以的,编译器在安全性问题上是保守的。
4、避开关键字
- 名称必须以字母、下划线(_)、或¥符合开头。不能用数字开头。
- 除了第一个字符,后面的可以加上数字
- 满足前面两条的同时,也要避开Java的关键字
保留字有:
public static void boolean char byte short int long float double
还有许多我们没有遇到的关键字,暂且不谈。起名字时进行保证可理解性,采用驼峰命名法能很大程度上避免关键字
5、对象引用
对象的引用也是一个变量值,但是我们不知道这个值有多大
对象的声明、创建与赋值有3个步骤
- 步骤1:声明一个引用变量
Dog myDog
要求Java虚拟机分配空间给引用变量,并命名为myDog。此引用变量将永远的被固定为Dog类型。换句话说,他是个控制Dog的遥控器,myDog.brak()就是在myDog遥控器上按了bark按键,让Dog叫。 - 创建对象
new Dog()
要求Java虚拟机分配堆空间给新建的Dog对象。 - 链接对象和引用
Dog myDog = new Dog();
将新的Dog赋值给myDog这个引用变量,换言之就是设定遥控器。
6、程序示例
下面我们给出一个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() { } //其他方法
}
执行结果: