一、变量概述
变量是内存中的一块存储区域,用于存储值。Java中所有的变量都必须先声明后再使用,声明变量的格式为:数据类型 变量名;可以在一行中声明多个同类型的变量。变量名必须是有意义的,遵循标识符的规则,即首字母必须是字母、下划线或美元符号,其他部分可以是字母、下划线、美元符号、数字等。Java变量的命名规范建议采用驼峰命名法。
二、Java变量类型
1. 基本数据类型
Java中有八种基本数据类型,分别是:
/* * byte类型占用1个字节,取值范围为-128~127 */ byte byteVar = 127; /* * short类型占用2个字节,取值范围为-32768~32767 */ short shortVar = 32767; /* * int类型占用4个字节,取值范围为-2147483648~2147483647 */ int intVar = 2147483647; /* * long类型占用8个字节,取值范围为-9223372036854775808~9223372036854775807 */ long longVar = 9223372036854775807L; /* * float类型占用4个字节,单精度浮点数,一般情况下都使用double */ float floatVar = 3.1415926f; /* * double类型占用8个字节,双精度浮点数 */ double doubleVar = 3.141592653589793; /* * boolean类型占用1个字节,取值为true或false */ boolean booleanVar = true; /* * char类型占用2个字节,表示一个Unicode字符 */ char charVar = 'A';
2. 引用数据类型
引用数据类型也称为对象数据类型,指的是引用了一个对象而不是直接保存数据的变量类型。Java中的引用类型包括数组、类、接口、Lambda表达式等。
/* * 声明一个数组类型变量,数组中的元素类型都是int */ int[] arr = new int[3]; /* * 声明一个类类型变量,Student是一个类名 */ Student stu = new Student(); /* * 声明一个接口类型变量,Interface1是一个接口名 */ Interface1 inf1 = new Interface1() { @Override public void method1() { System.out.println("Interface1.method1()"); } }; /* * 声明一个Lambda表达式类型变量,FunctionalInterface1是一个函数式接口名 */ FunctionalInterface1 fun1 = () -> System.out.println("FunctionalInterface1.method1()");
三、变量的赋值和初始化
变量的赋值是将一个值存储到变量中,变量的初始化是在声明变量时给变量赋初始值。Java变量的初始化分为自动初始化和手动初始化。
1. 自动初始化
如果一个变量没有被初始化,则会自动赋初始值。如下表所示:
数据类型 | 初始值 |
---|---|
byte, short, int, long | 0 |
float, double | 0.0 |
boolean | false |
char | '\u0000' |
对象类型 | null |
2. 手动初始化
手动初始化就是在声明变量时给变量赋初始值,如下所示:
int intVar = 10; String strVar = "Hello, World!";
四、变量的作用域
Java中变量的作用域为声明变量后到最近一级大括号结束。在作用域内可以访问变量,在作用域外则不能访问,如下所示:
public static void main(String[] args) { // 声明变量a int a = 10; // a只在if语句中有效 if (a == 10) { // 声明变量b,作用域的范围是if语句中 int b = 20; System.out.println("a = " + a + ", b = " + b); } // 此处无法访问变量b,因为b的作用域只在if语句中 System.out.println("a = " + a); }
五、常量
常量是一种特殊的变量,一旦被赋值以后就无法修改。Java中常量使用final关键字声明,常量名一般使用全大写字母并用下划线分割单词。
// 声明一个常量PI,并初始化赋值为3.141592653589793 final double PI = 3.141592653589793;
六、总结
本文介绍了Java中的变量类型,包括基本数据类型和引用数据类型。同时还介绍了变量的赋值和初始化、变量的作用域以及常量的定义。