Head First Java-第三章-认识变量

primitive主数据类型和引用

primitive主数据类型

boolean:true or false
char: 16bit 0~65535
byte:8bits -128~127
short:16bits -32768~32767
int:32bits -2147483648~2147483647
long:64bits
float:32bits 范围规模可变
double:64bits 范围规模可变

note1:
每种数据类型可以看作一个杯子,数据分类型,杯子分大小。编译器不允许把大杯子的东西放进小杯子,反之可以。
example:

int x=24;
byte b=x; //不行

上述代码中,虽然从数值意义来说24的二进制为11000,byte的8bits完全够用,但是仍然不允许这样做。

note2:
变量命名规则
1、名称必须以字母、下划线或$开头
2、除第一个字符,后面可以用数字
3、避开Java保留字

引用

对于对象来说,不存在对象变量,只有引用到对象的变量。对象引用变量保存了存取对象的方法,它类似于指向对象的指针或者说地址。

example1:

byte x=7;//代表数值7的字节(00000111)被放进变量中
Dog myDog=new Dog();//代表取得Dog对象的方法以字节形式放进变量,对象本身没有放进变量中,myDog是引用变量

node1:

  • 引用变量的大小不知道
  • 所有对象的引用都具有相同的大小,和对象本身的大小无关
  • Java不可以对引用变量进行计算

example2:

int[] nums;//声明int数组变量 数组变量是数组对象的遥控器
nums=new int[2];//创建大小为2的数组,赋值给nums
nums[0]=1;//赋予int数组每个元素一个int值
nums[1]=2;
nums[2]=3;

Dog[] pets;//声明Dog数组变量
pets=new Dog[2];//创建大小为2的Dog数组,并赋值给Dog[]类型的变量pets
pets[0]=new Dog();//虽然有了对Dog的引用,但缺少实际的Dog对象,所以还要申请
pets[1]=new Dog();

int len;
len=pets.length;//len为2,数组有个length变量返回元素数目

note2:

  • 没有引用到任何对象的引用变量的值为null

猜你喜欢

转载自blog.csdn.net/weixin_42519804/article/details/89708108
今日推荐