没有 对象 怎么办 ?
” new “一个哇!
在JAVA中万物皆 对象 !
用引用操纵对象
- Java中的数据类型分为:基本数据类型和引用数据类型
- 在Java中,一切都被视为对象,尽管一切都是对象,但是操纵的标识符其实一个对象的”引用”
对象存储的地方
- 寄存器
最快的存储区,位于处理器的内部,但是寄存器的数量极其有限,所以一般情况下,我们不能够直接控制只能根据需求进行分配
- 堆栈
位于RAM(随机访问存储器)中,通过堆栈指针可以从处理器那里获取直接支持,堆栈指针向上移动,则释放内存,若向下移动,则分配新的内存。
- 堆
用于存放所有的Java对象,编译器不需要知道存储的数据在堆里存活多长时间,所以在堆里分配存储有很大的灵活性,但是用堆进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间。
- 常量存储
常量值通常直接存放在程序代码内部
- 非RAM存储
数据完全存活于程序之外,可以不受程序的任何控制,在程序没有运行时也可以存在,其中最基本的两个例子: 流对象和持久化对象
基本数据类型
- byte short int long float double char boolean
- 默认值分别为:0 0 0 0 0.0 0.0 空字符 false
- 浮点数默认为double类型,要想表示float类型,需要加后缀f或F
- 浮点数还是存在一定的误差,所以如果在数值计算中不允许有误差,则可以使用BigDecimal类
- 整型值和布尔值之间不能进行相互转换
- 在Java中1和0并不能代替true和false
- Java确定了每种基本类型所占的存储空间的大小,所以Java更具可移植性
- BigInteger(整数)和BigDecimal(浮点数)必须以方法调用的方式取代运算符的方式实现
- 在java中不能再嵌套的两个块中声明同名的变量(在c++中可以,内层定义的变量会覆盖外层变量)
public static void main(String []args)
{
int n;
…
{
int n; //编译报错
}
}
- 整数被0除将会出现一个异常,而浮点数将0除将会得到无穷大或NaN结果,不会报错
- 文档注释:JDK中包含了一个很有用的工具,叫做javadoc,它可以由源文件生成一个HTML文档
格式:
/*
*
*/