java基础学习(一)

来源:互联网 发布:mac在线阅读ceb 编辑:程序博客网 时间:2024/06/01 10:02

1.JVM内存分区:

栈区,由JVM自动分配,用于存放变量名。

堆区,用户分配,用于存储数据。

静态区,用于存放静态变量,全局变量,字符常量,程序部执行完不释放空间。

代码区,用于存放程序中方法的二进制代码,多个对象共享一个空间。


2. int a = 3;  int a 声明了一个变量,该变量名被储存在栈空间中,3 被存放在堆空间中。a 中实际存放的是 3对应的空间地址。

3.基本数据类型的包装类,提供了针对于基本变量的很多扩展方法,如  Integer.toBinaryString()等,方便用于数据转换。

4.二进制补码:计算机中,使用二进制补码表示数字,最高位为符号位,1为-,0为+。  负数的表示是正数的二进制补码按位取反,再加1.

例如。 0001  表示1  ,按位取反,1110,再加1,   1111就是-1.

由来:正数+负数=模(科学家规定),模是指所能表示的个数。4位二进制数,最多能表示 2^4=16.





5 float类型,最高位是符号位,2-9 是指数位,剩下的23位是数值位。double类型,最高位是符号位,2-12是指数位,剩下的52位是数值位。

6 小类型向大类型转换时,需要注意int到float 和 long 到 double 类型的转换,因为数值位不一致,造成数据丢失。

7.大类型向小类型转换,因为一般大类型的字节数要大于小类型,所以在转换时,需要强制类型转换,需要注意大类型的数据位变成小类型的符号位等问题。

原创粉丝点击