您的位置:

Java变量类型

一、变量概述

变量是内存中的一块存储区域,用于存储值。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中的变量类型,包括基本数据类型和引用数据类型。同时还介绍了变量的赋值和初始化、变量的作用域以及常量的定义。