HeadFirstJava——3_变量
2016-07-02 11:26
1061 查看
1 声明变量
Java注重类型,必须声明所有变量的类型。
变量有两种:primitive主数据类型和对象引用;其中,primitive主数据类型保存基本类型的值,对象引用保存对象的引用。
primitive主数据类型
注意:浮点数默认是double类型。
编译器在安全性问题上严格,如下
// int num = 12.3; 不合法
// byte b = 128; 不合法
2 关键字
2.1 对类、方法、变量的命名规则
必须以字母、下划线或$符号开头,不能以数字开头;
除第一个字符,其他字符可使用数字;
避开使用Java的保留字;
2.2 保留字
没有对象变量;
只有(对象)引用变量,类似指向对象的指针或类似地址,只保存引用,不是对象本身。
注意:没有引用到任何对象的引用变量,其值为null。
4 对象的声明与赋值
a 声明一个引用变量
Dog d = new Dog();
b 创建对象
Dog d = new Dog();
c 连接对象和引用
Dog d = new Dog();
5 可回收堆空间
若申请的对象,没有引用变量与其连接,就会被Java的垃圾收集器自动回收。
6 数组
数组也是对象,不管声明的元素是否是primitive主数据类型还是对象引用。
举例:创建Dog数组
// 声明一个Dog数组变量
Dog[] pets;
// 创建大小为5的Dog数组,并赋值给Dog[]类型变量pets
pets = new Dog[5];
/*
现在有了对Dog的引用,但却少实际的Dog对象
Dog数组中纸袋有Dog的引用变量,还需要Dog对象
*/
// 创建新的Dog对象,并将其赋值给数组的元素
pets[0] = new Dog();
Java注重类型,必须声明所有变量的类型。
变量有两种:primitive主数据类型和对象引用;其中,primitive主数据类型保存基本类型的值,对象引用保存对象的引用。
primitive主数据类型
类型 | 字节数 | 值域 |
boolean | Java虚拟机决定 | true/ false |
char | 2B | 0~65535 |
byte | 1B | -128~127 |
short | 2B | -32768~32767 |
int | 4B | -2^32~2^32-1 |
long | 8B | -很大~+很大 |
float | 4B | 范围规模可变 |
double | 8B | 范围规模可变 |
编译器在安全性问题上严格,如下
// int num = 12.3; 不合法
// byte b = 128; 不合法
2 关键字
2.1 对类、方法、变量的命名规则
必须以字母、下划线或$符号开头,不能以数字开头;
除第一个字符,其他字符可使用数字;
避开使用Java的保留字;
2.2 保留字
没有对象变量;
只有(对象)引用变量,类似指向对象的指针或类似地址,只保存引用,不是对象本身。
注意:没有引用到任何对象的引用变量,其值为null。
4 对象的声明与赋值
a 声明一个引用变量
Dog d = new Dog();
b 创建对象
Dog d = new Dog();
c 连接对象和引用
Dog d = new Dog();
5 可回收堆空间
若申请的对象,没有引用变量与其连接,就会被Java的垃圾收集器自动回收。
6 数组
数组也是对象,不管声明的元素是否是primitive主数据类型还是对象引用。
举例:创建Dog数组
// 声明一个Dog数组变量
Dog[] pets;
// 创建大小为5的Dog数组,并赋值给Dog[]类型变量pets
pets = new Dog[5];
/*
现在有了对Dog的引用,但却少实际的Dog对象
Dog数组中纸袋有Dog的引用变量,还需要Dog对象
*/
// 创建新的Dog对象,并将其赋值给数组的元素
pets[0] = new Dog();
相关文章推荐
- 正则表达式总结 java 等
- Java-密码加密
- java环境变量配置
- [Java并发包学习六]Semaphore介绍
- Some elementary algorithms on discrete differential geometry(DDGSpring2016 Demos)
- [Java并发包学习五]CountDownLatch和CyclicBarrier介绍
- Jvm(jdk8)源码分析1-java命令启动流程详解
- java “值传递和引用传递”个人理解
- [Java并发包学习四]Future和FutureTask
- spring+EnCache缓存示例
- JAVA笔记-多态的意义(向上转型与向下转型)
- Java -AOP实现原理-动态代理的实现
- eclipse导入项目出现中文乱码解决方案
- Java基础——序列化
- Java千百问_08JDK详解(015)_JVMTI提供哪些功能
- java.util.concurrent并发包诸类概览
- Java中的内部类
- Timer类--计时器
- [Java并发包学习三]ThreadFactory介绍
- Java超级大火锅