《Head First JAVA》学习笔记3:认识变量

19 sec read

变量分类:

  • primitive主数据类型
  • 引用

变量用途

  • 局部变量
  • 实例变量
  • 参数(arguments)

规则:变量的声明必须有类型和名称

primitive主数据类型:

布尔型

  • boolean (JAVA虚拟机决定) true或false

字符型

  • char 16bits 0~65535

数值型(整数类型)

  • byte 8bits -128~127
  • short 16bits -32768~32767
  • int 32bits -2147483648~214748367
  • long 64bits -很大~+很大

数值型(浮点数)

  • float 32bits 范围规模可变(备注:除非加上“f”,否则所有带小数点的值都会被JAVA当做double处理。)
  • double 64bits 范围规模可变

给变量赋值的方法:

  • 在等号后面直接打出(x=1)
  • 指派其他变量的值(x=y)
  • 上述两种方式的组合(x=y+1)

变量命名规则

  • 名称必须以字母、下划线(_)、或$符号开头,不能用数字开头
  • 除了第一个字符外,后面就可以用数字
  • 需要避开JAVA保留字(关键字)

JAVA关键字图表

java-keywords

对象如何存储

  • 事实上没有对象变量这样的东西存在
  • 只有引用(reference)到对象的变量
  • 对象引用变量保持的是存取对象的方法
  • 不是对象的容器,类似对象的指针或者地址

primitive主数据类型变量与对象引用变量的区别

  • primitive主数据类型变量是以字节来代表实际的变量值
  • 对象引用变量是以字节来表示取得对象的方法(使用圆点运算符来获取对象的实例变量于方法)

对象只存在于可回收垃圾的堆上

  • 声明一个引用变量 Dog myDog
  • 创建对象 new Dog()
  • 连接对象和引用 Dog myDog = new Dog()

数据也是对象

  • 虽然元素本身是primitive主数据类型,但数组却是个变量
  • 数据的操作可以不需要变量名称,只需要数组索引(位置)

本章要点:

  • 变量有两种:primitive主数据类型和引用
  • 变量的声明必须有变量和名称
  • primitive主数据类型变量值是该值的字节所表示
  • 引用变量代表位于堆之对象的存取方法
  • 引用变量如同遥控器,对引用变量使用圆点运算符可以如同按下遥控按钮一样读取它的方法和实例变量
  • 没有引用到任何对象的引用变量的值是null
  • 数组一定是个对象,不管所声明的元素是否为primitive主数据类型

英语学习:

primitive

* 音节划分:primi▪tive
* 英 [ˈprɪmətɪv] 美 [ˈprɪmɪtɪv]
* adj.原始的; 发展水平低的; 落后的; [生物学]原生的
* n.原始人; 早期的艺术家(作品); 单纯的人:不世故的人; 自学的艺术家

argument

* 音节划分:ar▪gu▪ment
* 英 [‘ɑ:ɡjʊmənts] 美 [‘ɑ:ɡjʊmənts]
* n.争论( argument的名词复数 ); 争吵; 说理; 论据
* 命令行参数;对象;参数的;争议

reference

* 音节划分:ref▪er▪ence
* 英 [ˈrefrəns] 美 [ˈrɛfərəns, ˈrɛfrəns]
* n.参考; 参考书; 提及,涉及; 证明人,介绍人
* v.引用; 参照

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

C语言学习:size_t

在学习C语言的时候,遇到了一个新的数据类型size_t,截止目前也没有完全理清这个类似的具体场景及出现的原因。
44 sec read

C语言学习:main()函数的正确写法

C语言虽然是一门古老的语言,但是其标准一直在完善,所以很多以前支持的语法在到当前已经不能在使用了。 C语言的版
41 sec read

Scipy数学函数的Scala实现

最近在推进项目的时候,遇到需要将线下的Python代码转化成线上的集群代码,由于机器代码环境是Scala,所以
4 min read

One Reply to “《Head First JAVA》学习笔记3:认识变量”

发表评论

电子邮件地址不会被公开。 必填项已用*标注