Java 变量定义与例子

一、什么是变量

变量是在执行Java程序时保存值的容器,变量分配有数据类型,变量是内存位置的名称。

Java中存在三种类型的变量:局部变量,实例变量和静态变量

Java中有两种类型的数据类型:基本数据类型和引用数据类型


二、变量的类型

Java中有三种类型的变量:

  • 局部变量
  • 实例变量
  • 静态变量

2.1、局部变量

在方法主体内部声明的变量称为局部变量。您只能在该方法中使用该变量,并且类中的其他方法甚至都不知道该变量的存在。

局部变量不能用“ static”关键字定义。

//在方法中的变量,是局部变量
public void test(){
  int row = 1; ///局部变量
  String name = "kame";  //字符串局部变量
}

2.2、 实例变量

在类内部但在方法主体外部声明的变量称为实例变量。它没有声明为static。

之所以称为实例变量,是因为它的值是针对实例的,并且不会在实例之间共享。

//在类主体中声明的变量,就是实例变量,发下面Person中声明的变量

public class Person{
  private Integer id; //人的唯一id
  private String name; 
  ...
}

2.3、 静态变量

声明为静态的变量称为静态变量。它不能是局部的。您可以创建静态变量的单个副本,并在该类的所有实例之间共享。当类加载到内存中时,静态变量的内存分配仅发生一次。

//例如:
public class Person{
  //采用static声明的变量,就是静态变量
  public static final int MAX_AGE = 120;
  
  public static final String CLASS_NAME = "Person";

  ....
}

2.4、Java变量类型的示例

class Person{  
    int age=50;//实例变量
    static int m=100;//静态变量
    void method(){  
       int n=90;//局部变量
    }  
}

2.5、 Java变量示例:将两个数字相加

Simple:

class Simple{  
    public static void main(String[] args){  
      int a=10;  
      int b=10;  
      int c=a+b;  
      System.out.println(c);  
    }
}  

输出结果为:

20

2.6、 Java变量示例:扩容

Simple:

class Simple{  
      public static void main(String[] args){  
        int a=10;  
        float f=a;  
        System.out.println(a);  
        System.out.println(f);  
      }
}  

输出结果为:

10
10.0

2.7 Java变量示例:缩容

Simple:

class Simple{  
       public static void main(String[] args){  
          float f=10.5f;  
          //int a=f;//编译错误
          int a=(int)f;//类型转换  
          System.out.println(f);  
          System.out.println(a);  
       }
}  

输出结果为:

10.5
10

2.8、 Java变量示例:数据溢出

Simple:

class Simple{  
      public static void main(String[] args){  
         //数据溢出
         int a=130;  
         byte b=(byte)a;  
         System.out.println(a);  
         System.out.println(b);  
      }
}  

输出结果为:

130
-126

2.9、 Java变量示例:添加低类型

Simple:

class Simple{  
        public static void main(String[] args){  
            byte a=10;  
            byte b=10;  
            //byte c=a+b;//编译错误: 因为 a+b=20 的结果是int类型  
            byte c=(byte)(a+b);  
            System.out.println(c);  
        }
}  

输出结果为:

20
腾讯云推出云产品限时特惠抢购活动:2C2G云服务器7.9元/月起
本文链接:https://www.jhelp.net/p/O5WNL4yYSj90xYhG (转载请保留)。
关注下面的标签,发现更多相似文章