【Java开发指南 | 第五篇】Java变量类型、参数变量及局部变量

读者可订阅专栏:Java开发指南 |【优快云@秋说】

在这里插入图片描述

变量类型

Java中对变量的声明格式基本与C语言一致。

int a, b, c;         // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 22;         // 声明并初始化 z
String s = "runoob";  // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x';        // 声明变量 x 的值是字符 'x'。

变量类型有以下几种。

1、局部变量(Local Variables): 局部变量是在方法、构造函数或块内部声明的变量,它们在声明的方法、构造函数或块执行结束后被销毁,局部变量在声明时需要初始化,否则使用该变量时会导致编译错误。(局部变量在稍后会细讲)

public class ice {
    public static void main(String[] args) {
        int a;//没有进行初始化
        System.out.println(a);
    }
}

在这里插入图片描述

2、实例变量(Instance Variables): 实例变量是在类中声明,但在方法、构造函数或块之外,它们属于类的实例。如果不明确初始化,实例变量会被赋予默认值(数值类型为0,boolean类型为false,对象引用类型为null)。

public class ice {
    int a;
    public static void main(String[] args) {
        ice b = new ice();
        System.out.println(b.a);
    }
}

在这里插入图片描述

3、静态变量或类变量(Class Variables): 类变量是在类中用 static 关键字声明的变量,它们属于类而不是实例,所有该类的实例共享同一个类变量的值,类变量在类加载时被初始化,而且只初始化一次。

public class ice {
    static int a=1;
    public static void main(String[] args) {
        ice b = new ice();
        System.out.println(b.a);
    }
}

在这里插入图片描述

4、参数变量(Parameters): 参数是方法或构造函数声明中的变量,用于接收调用该方法或构造函数时传递的值,参数变量的作用域只限于方法内部。(参数变量在稍后会细讲)

public void ice(int parameter) {
    // 参数变量
    // ...
}

5、对成员变量、静态变量、局部变量举个例子:

public class ice {
    // 成员变量
    private int instanceVar;
    // 静态变量
    private static int staticVar;

    public void Test1(int paramVar) {
        // 局部变量
        int localVar = 10;

        // 使用变量
        instanceVar = localVar;
        staticVar = paramVar;

        System.out.println("成员变量: " + instanceVar);
        System.out.println("静态变量: " + staticVar);
        System.out.println("参数变量: " + paramVar);
        System.out.println("局部变量: " + localVar);
    }

    public static void main(String[] args) {
        ice v = new ice();
        v.Test1(20);
    }
}

在这里插入图片描述

Java 参数变量

Java 中的参数变量是指在方法或构造函数中声明的变量,用于接收传递给方法或构造函数的值。参数变量与局部变量类似,但它们只在方法或构造函数被调用时存在,并且只能在方法或构造函数内部使用。

这句话可以近似用C语言中的函数理解,在带参函数运行时,该参数只能在函数内部使用。

在调用方法时,我们必须为参数变量传递值,这些值可以是常量、变量或表达式。

方法参数变量的值传递方式有两种:值传递引用传递

值传递: 在方法调用时,传递的是实际参数的值的副本。当参数变量被赋予新的值时,只会修改副本的值,不会影响原始值。Java 中的基本数据类型都采用值传递方式传递参数变量的值。

public class ice {
    public static void main(String[] args) {
        int a = 10, b = 20;
        swap(a, b); // 调用swap方法
        System.out.println("a = " + a + ", b = " + b); // 输出a和b的值
    }

    public static void swap(int x, int y) {
        int temp = x;
        x = y;
        y = temp;
    }
}

在这里插入图片描述

引用传递: 在方法调用时,传递的是实际参数的引用(即内存地址)。当参数变量被赋予新的值时,会修改原始值的内容。Java 中的对象类型采用引用传递方式传递参数变量的值。

Java 局部变量

局部变量规则:

  • 局部变量声明在方法、构造方法或者语句块中。
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁。
  • 局部变量必须在使用前声明,并且不能被访问修饰符修饰,因为它们的作用域已经被限制在了声明它们的方法、代码块或构造函数中。
  • 局部变量只在声明它的方法、构造方法或者语句块中可见,不能被其他方法或代码块访问。
  • 局部变量是在栈上分配的。
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。初始化可以在声明时或后面的代码中进行。

局部变量的声明语法为:

type variableName;
  • type – 表示变量的类型。
  • variableName – 表示变量的名称。

在这里插入图片描述

如果在使用之前不声明局部变量,编译器会报错:

在这里插入图片描述

局部变量必须在使用之前进行初始化,否则编译器会报错:

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值