![](https://i-blog.csdnimg.cn/blog_migrate/5550ffd9a3b5ce8b55a1c7d967a5c99c.jpeg)
一、预备知识
1、比特(位) bit
计算机存储数据的最小单位,二进制数中的一位(0或1)
2、字节 Byte
计算机存储容量的最小单位,1个字节由8位二进制位组成,即 1Byte = 8bit(1B = 1b)
一个数字或英文字母占一个字节,一个汉字占两个或四个字节
【在计算机中,可通过右键点击文件 “属性”,查看文件的字节大小】
3、换算
![](https://i-blog.csdnimg.cn/blog_migrate/a91fc63067abaa5ca3b023127eaf4548.png)
二、数据类型
Java是强类型语言,每种数据都定义了具体明确的数据类型,在内存中分配了不同大小的内存空间。
1、基本数据类型(8种)
![](https://i-blog.csdnimg.cn/blog_migrate/3397964e2b4bd4c3d9f97ef3cd8a7fff.png)
注意点
① 整型 默认 int 类型,long类型变量的声明,必须在数字后加上L或l(建议使用大写 L)
package javaBasis;
/* 思考???
* 以下代码能否编译通过?
* 若不能,报错原因是什么?
*/
public class LongTest {
public static void main(String[] args) {
long a = 2147483648;
System.out.println(a);
}
}
/* 编译报错
* Exception in thread "main" java.lang.Error: Unresolved compilation problem:
* The literal 2147483648 of type int is out of range
* 2147483648超出int类型的范围
* 错误原因: 整型默认int类型, 因此2147483648会被当做int类型处理,
* 但int类型取值范围[-2147483648~2147483647], 2147483648超出int的取值范围, 故编译报错
*/
// 正确代码
public class LongTest {
public static void main(String[] args) {
// 没有类型转换
long a = 2147483648L; // 在2147483648加上L
System.out.println(a);
}
}
② 浮点型 默认 double 类型,float类型变量的声明,必须在数字后加上F或f,否则报错。
(浮点型只是近似值,并非精准值。)
"栗子 " 👇
![]()
③ 整数型常量有四种表示方法
十进制 | 缺省默认 |
---|---|
八进制 | 以 0 开头,如013 |
十六进制 | 以 0x 开头,如0x23 |
二进制 | 以 0b 开头,如0b10(JDK8新特性,低版本不支持) |
④ 除了 boolean所占长度与平台有关外,其他数据类型长度都与平台无关,例如,int类型永远占4个字节。
⑤ java中的char类型占2个字节, 使用Unicode编码。
【C语言中的char类型占1个字节,使用ASCII编码。】
⑥ 常用转义字符
⑦ 字符串String不是基本数据类型,而是引用数据类型。
⑧ 基本数据类型的 默认值 仅在 类体内方法外 的属性中 有效; 方法体内部声明变量后必须 赋值 才能使用,(方法体内的变量必须先声明,再赋值,才能访问。)否则报错。
"栗子 " 👇
![]()
正确 代码
package javabasis;
public class ValueTest {
// 成员变量【类体内,方法体外】
// 默认值仅在类中属性生效
static int a; // 默认初始值0
static char b; // 默认初始值\u0000(空值)
public static void main(String[] args) {
// 局部变量【方法体内】
// 声明变量后必须赋值才能使用,否则报错
double c = 12.2;
boolean d = false;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
}
}
🍅🍅🍅 以往文章 👇
001_Java语言发展历程
002_Java语言的八大特性
003_浅析JDK、JRE、JVM的区别和联系
004_JDK的下载安装与环境变量的配置
005_常用DOS命令
006_Java关键字、标识符、注释
008_Java类型转换
009_Java运算符
010_Java流程控制语句