注意:本文,并不是给中高级的人员查看。如果您觉得自己的水平非初级,请直接关闭该文,谢谢~。
在编写本文的时候,Java 的 JDK 已经出到了 20.0.1:

本文将在 JDoodle 上进行验证,使用的 JDK 的版本是:17.0.1:

Java该系列文,将是系统学习Java的资料。
在编程语言中,语句就是简单的命令行,它让计算机执行某种操作。Java 语句都是以分号 ; 结尾。一行可以有多条语句:
int a = 10; string name = 'Jimmy';Java 提供了 8 种基本数据类型,用于存储整数、浮点数、字符串和布尔值。
整数、浮点数、字符串和布尔值被称为简单类型(primitive type),因为它们是Java内置的而不是对象。
整数有 4 中类型:
类型 | 长度(位) | 取值范围 |
|---|---|---|
byte | 8 | -128 ~ 127 |
short | 16 | -32768 ~ 32767 |
int | 32 | -2147483648 ~ 2147483647 |
long | 64 | -9223372036854775808 ~ 9223372036854775807 |
取值范围的计算,以
byte为例,则有2^8 = 256,即有-(256 / 2) ~ (256 / 2 - 1),其中0占了一个数值。1 字节为 8 位
还有浮点数,浮点数是带小数的数字,分为:
类型 | 说明 |
|---|---|
float | 4 字节 |
double | 8 字节,比 float 精度更高 |
还有两种基本类型如下:
类型 | 说明 |
|---|---|
char | 2 字节,用于存储单个字符,如字母、数字、标点符号或者其他符号 |
boolean | 1 字节,布尔值,值为 true 或者 false |
扩展:
Java语言采用Unicode编码的一个分支UCS-2编码,每个字符用2字节(16个二进制位)来编码。
类型强制转换
byte b = (byte)130;
// 结果为 -126我们先来了解原码、反码和补码:
原码:一个数的二进制
反码:正数,原码本身;负数,符号位不变,原码按位取反
补码:正数,原码本身;负数,反码 + 1那么则有 int 类型的 130 的 32 位表示法:
0000 0000 0000 0000 0000 0000 1000 0010而强制转为 byte 类型时候,系统会截取 32 位的最后 8 位,即:
1000 0010则,该数表示一个负数。
符号位:第一位不表示具体的值,而是表示正负。
1 表示负,0 表示正。
Java 中负值用补码表示,那么则有:
// 原码
1000 0010
// 得反码(符号位不变)
1111 1101
// 得补码
1111 1110
// 则有 -(2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1) = -126除了基本数据类型之外,变量的类型还可以是类 - 引用类型,比如:
String name = 'Jimmy';
Person jimmy = new Person('Jimmy');引用类型的变量用于引用特定的对象,程序通过引用类型的变量来访问特定对象的属性和方法。
在程序运行时可以修改的信息,用变量存储。但是,在程序中始终不变的值,可使用常量进行存储。在 Java 中,可创建各种常量:实例常量,类常量和局部常量。声明常量,在变量前加上 final 关键字,并指定初始值就行:
final double PI = 3.1415;
final String NAME = 'Jimmy';常量名称,一般采用全大写。
本文,主要记录了以下几点:
Java 中的八种基本数据类型 byte, short, int, long, float, double,char 和 boolean。以及引用类型。final 关键字修饰