Java语言基础7

变量类型

在java中,所有的变量在使用前必须声明。例如:

int a=0,b=0,c=0;
float m=6.66;
double pi=3.14159;
String s="hello world";

java变量类型可分类变量、实例变量、局部变量。

1、局部变量

 1. 局部变量声明在方法、构造方法或语句块中。
 2. 局部变量在方法、构造方法或语句块中被执行的时候创建,当它们执行完后将会被销毁。
 3. 访问修饰符不能用于局部变量。
 4. 局部变量在栈上分配。
 5. 局部变量没有默认值,被声明后要经过初始化才能使用。

先来看一个简单例子

package bao01;

public class Test07 {
    public static void main(String[] args) {
        TestClass07 s = new TestClass07();
        s.method01();
    }
}

class TestClass07{
    public void method01() {
        int age=0;
        age=age+20;
        System.out.println("输出结果为:"+age);;
    }
}

输出结果如下:
在这里插入图片描述
局部变量age我们只在方法里面使用,输出结果正常。若在另一个方法里使用该局部变量:
如下:

package bao01;

public class Test07 {
    public static void main(String[] args) {
        TestClass07 s = new TestClass07();
        s.method01();
    }
}

class TestClass07{
    public void method01() {
        int age=0;   //定义局部变量
        age=age+20;
        System.out.println("输出结果为:"+age);;
    }
    
    public void method02() {//这里我们再创建一个方法来测试
        int a=0;
        a=a+age;
        System.out.println("输出结果为:"+a);
    }
}

输出结果如下:
在这里插入图片描述
可以看到,我们在方法2中使用了方法1 ,结果报错,因为age变量只存在于其所声明的方法中。

2、实例变量

 1. 实例变量声明在一个类中,在方法、构造方法和语句块之外。
 2. 当一个对象被实例化后,每个实例变量就已确定。
 3. 实例变量在对象创建时创建,在对象销毁时被销毁。
 4. 实例变量至少被一个方法、构造方法或语句块引用,使得外部可获得变量信息。
 5. 实例变量可声明在使用前或使用后。
 6. 实例变量可被访问修饰符修饰。
 7. 实例变量对于类中的方法、构造方法和语句块是可见的,一般实例变量设为私有。
 8. 实例变量可通过变量名访问。
public class Test07 {
    public static void main(String[] args) {
        //实例化对象
        String str="hello world";   
       TeatClass07 s = new TestClass07();
    }
}
class TestClass07{
    public void method01() {
        int age=0;
        age=age+20;
        System.out.println("输出结果为:"+age);;
    }
}

在以上代码中,str和s都是实例变量。

3、类变量


 1. 类变量也称静态变量,在类中用static关键字声明,但必须在方法之外。
 2. 类变量一般被声明为常量,一般也用public修饰,为了对类中的使用者可见。
 3. 类变量可通过:类名.变量名的方式访问。
 4. 类变量在第一次访问时创建,在程序结束时销毁。

以下代码中创建类变量

public class Test07 {
    
    public static int age = 20;    //定义类变量
    
    public static void main(String[] args) {
                
        System.out.println("年龄为;"+age);   //直接使用类变量
    }
}

以下是三种变量的区分
package bao01;

public class Test07 {
    public static int age = 20;    // 类变量
    public static void main(String[] args) {
        String name = "Tom";  // 实例变量
        System.out.println(name + "的年龄为:" + age);
        eat();
    }
    public static void eat() {
        String food = "fish";  // 局部变量
        System.out.println("eat fish");
    }
}

输出结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值