——》基本数据类型
Java语言是一种严格的“类型化”语言,这意味着每个变量都必须有一个已经声明的类型。Java语言提供了8种基本数据类型,其中6种为数字类型(4个整型,2个浮点型)一种字符类型,还有一种是布尔类型。Java另外还提供大数字对象,但它不是Java的基本数据类型。
1.整数
i. 定义:没有小数部分的数字,负数是允许的。
ii. 分类:Java提供4种整数类型
1. byte 1个节节 -128----127
2. short 2个字节 -32768----32767
3. int 4个字节 -2147483648----2147483647
4. long 8个字节 -9223372036854775807L----9223372036854775806L
2.浮点数
i. 定义:含有小数部分的数字
ii. 分类:Java提供两种浮点数
1. float 4个字节 ±3.40282347+38F(6~7个有效的十进制数位)
2. duble 8个字节 ±1.7976313486231570E+308(15个有效数位)
iii. 当这些数字遇到取值范围错误时,会发生上溢,而在遇到像被零除时,会发 生下溢。
TIP:上溢是当一个超长的数据进入到缓冲区时,超出部分被写入上级缓冲区,上级 缓冲区存放的可能是数据、上一条指令的指针,或者是其他程序的输出内容, 这些内容都被覆盖或者破坏掉。可见一小部分数据或者一套指令的溢出就 可能导致一个程序或者操作系统崩溃。
与之对应的就是下溢,下溢是当一个超长的数据进入到缓冲区时,超出部分被 写入下级缓冲区,下级缓冲区存放的是下一条指令的指针,或者是其他程序的 输出内容。
此处不甚明确,但针对其所说的下溢,发现如下的现象
float i=0/1.0f;
double d=0/1.0;
可发现规律: 被0除的小数其运算结果的数据类型取决于除数类型。
3.字符类型
char 类型用于表示单个字符。且一对单引号界定的单个字符表示 char 常量。
TIP:双引号表示一个字符串,并不是基本数据类型
TIP:char类型表示UNICODE编码方案中的字符,UNICOE可同时包含65536个字符。ASCII,ANCI只包含255个字符,其实际上是UNICODE的一个子集。UNCODE字符串通常用十六进制编码方案表示,在范围\u0000到\uFFFF之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个UNICODE值。
TIP:Java中除了用这个\u形式来表示字符外,还可以用换码序列(即转义字符)来表示特殊字符。
\b 退格 \u0008 \t TAB制表符 \u0009
\n 换行 \u00a \r 硬回车 \u000d
\” 双引号 \u0022 \’ 单引号 \u0027
\\ 反斜杠 \u005c
TIP:理论上Java应用程序和小应用程序中使用UNICODE字符,但至于他们是否能显示出来,却要取决于浏览器和操作系统,其中操作系统是最根本的。
——》引用数据类型
1.类引用类型
2.接口引用类型
3.数组引用类型
——》引用类型和基本类型的区别:
1.基本类型代表简单的数据类型,如整数、字符;引用类型所引用的实例表示任意一 种复杂数据结构。
2.基本类型仅表示数据类型,而引用类型所引用的实例除了表示复杂的数据类型外, 还包括操纵这种类型的行为。
3.Java虚拟机处理引用类型变量和基本类型变量的方式是不一样的,对于基本类型的 变量,Java虚拟机会为其分配数据类型实际战胜的内存空间;而引用类型的变量仅 仅是作为一个指向堆区中某个实例的指针。
——》new关键字作用
1.为对象分配内存空间,将对象的实例变量初始化,成为其变量的默认值。
2.如果实例变量被显式初始化,那么就把初始化值赋给实例变量。
3.调用构造方法
4.返回对象的引用
——》类加载顺序规律(包含父子类)
1.静态》动态》构造
2.静态和动态中的代码块和变量的加载顺序取决于其在类中的位置
以上,是众所周知的。