文章目录
Java的数据类型(了解)
在定义常量和变量之前,我们首先了解有哪些数据类型。Java是强类型语言,对于每一种数据都定义了明确的数据类型。
- 基本数据类型:整数、小数、布尔、字符。
- 引用数据类型:class(类)、interface(接口)、数组、Enum(枚举)。
- String:字符串。
- null:为除基本类型以外的类型赋值。
基本类型和其他如下表格:
| 类型 | 关键字 | 说明 |
|---|---|---|
| 整数 | byte | 8位有符号整数,范围:-128 到 127 |
| short | 16位有符号整数,范围:-32,768 到 32,767 | |
| int | 32位有符号整数,范围:-2³¹ 到 2³¹-1 | |
| long | 64位有符号整数,范围:-2⁶³ 到 2⁶³-1 | |
| 小数 | float | 单精度32位浮点数 |
| double | 双精度64位浮点数 | |
| 布尔 | boolean | 逻辑类型,只有 true 和 false 两个值 |
| 字符 | char | 16位Unicode字符,范围:'\u0000' 到 '\uffff' |
| 字符串 | String | 字符序列,是类不是基本数据类型 |
| null | null | 不是数据类型,是引用类型的特殊值,表示不引用任何对象 |
变量
变量是在内存中开辟一块空间,用于存储可变数值。
变量定义语法:[数据类型] [变量名(标识符)] = [变量数值];
VarietyDemo类中定义变量:
java
public class VarietyDemo{
public static void main(String args[]) {
byte byteVal = 2;
short shortVal = 9;
int intVal = 10;
long longVal = 666L;
float floatVal = 3.3F;
double doubleVal = 3.1415926;
boolean blnVal = true;
char charVal = 'a';
String strVal = "hhhhh";
System.out.println(intVal); //输出intVal的值
intVal = 110; //修改intVal的值
System.out.println(intVal); //再次输出intVal的值
}
}
注意:float类型值后面要加 F(不区分大小写),long类型值后面要加 L(不区分大小写),整数默认是Int类型,小数默认是double类型。
编译运行后,结果如下:

常量(final修饰)
常量是用final修饰的变量,且一旦定义不能改变的数值为常量。
定义语法:[final] [数据类型] [常量名(标识符)] = [常量数值];
注:常量命名请遵循Java命名规范,不推荐随便命名,最好见名知意。
根据上面的数据类型,常量也有整数常量、小数常量、布尔常量、字符常量、字符串常量和null。
定义FinalDemo类:
java
public class FinalDemo{
public static void main(String[] args){
final int INT_VALUE = 12;
final double DOUBLE_VALUE = 3.14;
final boolean BLN_VALUE = true;
final char CHAR_VALUE = 'A';
final String STR_VALUE = "我爱Java";
//null不能在基本类型使用
final String NULL_VALUE = null;
System.out.println(INT_VALUE); //输出"12"
System.out.println(DOUBLE_VALUE ); //输出"3.14"
System.out.println(BLN_VALUE ); //输出"true"
System.out.println(CHAR_VALUE ); //输出"A"
System.out.println(STR_VALUE); //输出"我爱Java"
System.out.println(NULL_VALUE); //输出"null"
}
}
编译运行,结果如下:

注:以上定义的常量是局部常量,只能在定义的方法内使用。
如果定义的常量在main方法外,编译运行,提示"无法从静态上下文中引用非静态变量STR_VALUE",因为main方法是static修饰的静态方法(后面会学到这里先不过多阐述),我们可以定义的常量都用static修饰,变成静态常量 ,或者定义成局部常量 (在main方法内定义常量)。

修改FinalDemo常量为静态常量:
java
public class FinalDemo{
static final int INT_VALUE = 12;
static final double DOUBLE_VALUE = 3.14;
static final boolean BLN_VALUE = true;
static final char CHAR_VALUE = 'A';
static final String STR_VALUE = "我爱Java";
//null不能在基本类型使用
public static final String NULL_VALUE = null;
public static void main(String[] args){
System.out.println(INT_VALUE); //输出"12"
System.out.println(DOUBLE_VALUE ); //输出"3.14"
System.out.println(BLN_VALUE ); //输出"true"
System.out.println(CHAR_VALUE ); //输出"A"
System.out.println(STR_VALUE); //输出"我爱Java"
System.out.println(NULL_VALUE); //输出"null"
}
}
说明:public权限修饰符、static静态修饰符、final修饰符三者之间编写上没有先后顺序,只要都在数值类型关键字之前都可以,我习惯public static final这种,更直观。
编译运行,结果如下:
