Java变量类型

简介:

Java的变量在使用前必须声明,声明变量的格式如下:
Java数据类型 变量名1,变量名2......

int a,b,c;//声明了a,b,c三个int类型的变量
a=10;//初始化int变量a
chart d = 20;//声明类型为char的变量d,并且初始化.

Java中变量分为三类:
类变量、实例变量、局部变量
如下所示:

class Phone{
    //类变量
    static String TYPR = "iPhone";
    //实例变量
    String name;
    void age(){
        //局部变量
        Integer age = 10;
    }
}

局部变量的定义及使用:
1、局部变声明早方法、构造器、或者语句块中;
2、局部变量在其声明的方法、构造器、语句块被执行的时候创建,在执行完成后被销毁;
3、局部变量没有修饰符;
4、局部变量只在他声明的结构内可见,出了该结构则变成非法的变量;
5、局部变量实在栈上分配的;
6、局部变量没有初始值,必须初始化才可以使用。

class LocalVariable {
    public static void main(String[] args) {
        method();
    }

    static void  method() {
        String type;
        String name = "Riven";
        System.out.println(name);
        //编译错误:Variable 'type' might not have been initialize;
        //System.out.println(type);
    }
    //没有办法在离开局部变量生命的构造之外访问到局部变量;
//    name ="Catlinot";
}

实例变量(成员变量)的定义及使用
1、实例变量声明在一个类中,但是在方法、构造器、语句块之外;
2、实例变量的值在在对象初始化的时候就确定了.(实例变量相当于你的名字,出生就有,如果你父母来不及取,默认是宝宝)
3、实例变量在对象创建的时候创建,在对象销毁的时候被销毁;
4、实例变量可以被一个方法、构造器、语句块引用,以获得其内容;
5、实例变量可以声明在使用前或者使用后;
6、实例变量可以使用访问修饰符,一般为privte;
7、实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null;
8、实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名;

class MemberVariable{
    //成员变量
   private String name;
    public String type;

    public MemberVariable(String name) {
        //在实例化这个对象的时候实例化name
        this.name = name;
    }

    /**
     * 返回成员的值
     * @return
     */
    public String getName(){
        return this.name;
    }

    /**
     * 为type赋值
     * @param type 赋值内容
     */
    public void setType(String type){
        this.type = type;
    }

    /**
     * 返回type的值
     * @return
     */
    public String getType(){
        return this.type;
    }

    /**
     * 使用成员变量
     */
    void method(){
         //使用成员变量
         System.out.println(name);
    }

    public static void main(String[] args) {
        MemberVariable riven = new MemberVariable("Riven");
        riven.setType("战士");
        String typr = riven.getType();
        System.out.println(typr);
        riven.method();
    }

}

类变量(静态变量)的定义及使用:
1、类变量就是在实例变量前面加一个static的修饰符形成的变量;
2、无论类创建多少个对象,类变量都只有一份,类对象拥有的是该唯一一份类对象的拷贝;
3、类变量除了被声明为常量外很少使用。
4、产量格式范文修饰符 static final java类型 常量名 = 常量值

常量初始化后就不可改变,常量名建议全部大写,单词间隔使用“-”分割;

5、类变量在程序就开始时创建,在程序结束时是销毁;
6、默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化;
7、类变量可以直接通过类名.类变量名来访问;


class ClassVariable {
    //常量
    public static final String TYPE = "法师";
    //类变量
    static String name;

    static {
        //类变量可以在静态代码块里面进行初始化
        name = "Fize";
    }

    void method() {
        String type = ClassVariable.TYPE;
        System.out.println(type);
        //可用通过类名.变量名的方式访问
        String name = ClassVariable.name;
        System.out.println(name);
    }

    public static void main(String[] args) {
        ClassVariable cv = new ClassVariable();
        cv.method();
    }

}```  
目录
相关文章
|
2月前
|
存储 缓存 安全
除了变量,final还能修饰哪些Java元素
在Java中,final关键字不仅可以修饰变量,还可以用于修饰类、方法和参数。修饰类时,该类不能被继承;修饰方法时,方法不能被重写;修饰参数时,参数在方法体内不能被修改。
40 2
|
3月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
327 2
|
4天前
|
Java Linux iOS开发
如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH
本文详细介绍如何在Windows和Linux/macOS系统上配置Java环境变量。
127 12
|
2月前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
2月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
2月前
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
|
2月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
99 2
|
2月前
|
存储 Java 编译器
Java泛型类型擦除以及类型擦除带来的问题
泛型擦除是指Java编译器在编译期间会移除所有泛型信息,使所有泛型类型在运行时都变为原始类型。例如,`List<String>` 和 `List<Integer>` 在JVM中都视为 `List`。因此,通过 `getClass()` 比较两个不同泛型类型的 `ArrayList` 实例会返回 `true`。此外,通过反射调用 `add` 方法可以向 `ArrayList<Integer>` 中添加字符串,进一步证明了泛型信息在运行时被擦除。
62 2
|
3月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
3月前
|
Java 编译器
Java“返回类型为 void 的方法不能返回一个值”解决
在 Java 中,如果一个方法的返回类型被声明为 void,那么该方法不应该包含返回值的语句。如果尝试从这样的方法中返回一个值,编译器将报错。解决办法是移除返回值语句或更改方法的返回类型。
304 5

热门文章

最新文章