Java变量

变量

1 字面量

字面量就是数据/数值,例如:2345,false,“abc”,‘好’。在现实生活中实实在在存在的数据,

在编程语言中每个数据都是有数据类型的,不同的数据类型会分配不同的内存空间去存储它,数据类型通常被分为:整数型、浮点型、字符型、布尔型、字符串型等。

整数型(数字):1、2、2345

浮点型(数字,带小数):1.0、3.14

字符型(文字,单个字符):‘a’、‘好’

布尔型(真假):true、false

字符串型(文字,多个字符):“hello world"、“你好”

Java中字符型必须用英文单引号括起来,字符串型必须使用英文双引号括起来。

public class Test1{
    public static void main(String[] args){
        System.out.println(1,2,2345); //整数型
        System.out.println(1.0,3.14,5.21); //浮点型
        System.out.println('a','A','好'); //字符型
        System.out.println(true);
        System.out.println(false); //布尔型
        System.out.println("hello world") //字符串型
    }
}

2 变量概述

public class Test2{
    String name = "小明";
    int age = 18;
    char a = '好';
    boolean sex = true;
}

上段代码中name、age、a、sex是4个变量的名字,”小明“、18、‘好’、true是4个变量中分别存储的数据(字面量),String、int、char、boolean是4个变量分别对应的数据类型。

变量要求”变量的数据类型“和变量中存储的“数据(字面量)”必须类型一致。例如:int类型就只能存下4个字节大小的整数,再长一点的就放不下了,而long类型的整数有8个字节,这样的数据肯定是无法放到int类型的变量中的。

变量,顾名思义就是可变化的量。变量中存储的数据是可以被改变的。

3 使用变量

public class Demo {
    public static void main(String[] args) {
        int age; //年龄
        System.out.println(age);
    }
}

定义一个int类型的变量,运行的时候报错了:

image-20210728192631886

报错信息为:可能尚未初始化变量age,这句话的意思是age变量还没有有赋值,也就是说变量age中还没有数据,空间还没有开辟出来,由此可见,Java语言的变量必须先声明,再赋值才能访问。

赋值语法格式:变量名 = 字面量(就是值)

字面量必须和变量的数据类型一致。

public class Demo {
    public static void main(String[] args) {
        int age; //年龄
        age = 18;  //赋值语句
        System.out.println(age);
    }
}
// 控制台输出为 18

变量在赋值之后还可以重新赋值:

public class Demo {
    public static void main(String[] args) {
        int age; //年龄
        age = 18;  //赋值语句
        System.out.println(age);
        age = 22;  //赋值语句
        System.out.println(age);
    }
}  // 此时控制台输出为 22

变量的声明和赋值可以在一行代码上完成:

public class Demo {
    public static void main(String[] args) {
        int age = 18;  //赋值语句         
        System.out.println(age);
    }
}   // 输出为 18

4 变量分类

方法体外类体内声明的变量称为成员变量,成员变量声明时如果使用static关键字修饰的称为静态成员变量(静态变量),如果没有使用static关键字修饰的称为实例成员变量(成员变量)。

方法体中声明的变量以及方法的每一个参数变量都是局部变量

public class Demo {
    int a = 20; //实例变量(成员变量)
    static int b = 30; //静态变量(成员变量)

    //方法;int num,int c,int d都是局部变量
    public static void testNum(int c,int d) {
        int num = 22; //局部变量
    }

局部变量只在方法体当中有效,方法开始执行的时候局部变量的内存才会被分配,当方法执行结束之后,局部变量的内存就释放了。所以局部变量的生命周期非常短暂。

5 变量作用域

  • 首先要知道在方法体中代码的执行顺序是自上而下逐行执行。

  • 所以说变量要先声明再赋值,再访问。

  • 在main方法中声明的变量有效范围是main方法,只能在main方法中使用。

  • 在类体中声明的变量作用域是整个类体,在类体中的方法体内可以访问。

    public class Demo {
        int a = 20; //实例变量(成员变量)
        static int b = 30; //静态变量(成员变量)
    
        public static void main(String[] args) {
            System.out.println(x);    //error1
            System.out.println(a);  //error2
            System.out.println(b); //可以访问成员变量b
            int x = 99;
            System.out.println(x); //可以访问局部变量x
        }
    
        public static void testNum() {
            System.out.println(b); //可以访问成员变量b
            System.out.println(x);//error3
        }
    }
    

error1:
image-20210728201025057 变量X没有提前声明所以找不到

error2:
image-20210728201103683 变量a不是static修饰的静态变量

error3:
image-20210728201954866 变量x只在main方法中有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值