JAVA基础--变量和常量

简介: JAVA基础--变量和常量

JAVA语法--变量作用域


变量的分类(作用域从高到低)


  1. 类变量
  2. 实例变量
  3. 局部变量


public class HelloWorld {
    static double salary = 0;   // 类变量 //注意要放在模块外定义
    String str="hello world";   //实例变量 //也是定义在模块外
    public static void main(String[] args) {       //--->表示一个模块范围
        int i=0;    //局部变量
    }
}

局部变量


局部变量:必须声明 和 初始化值 并且只作用在定义的小范围内


public static void main(String[] args) {       //--->表示一个模块范围
        int i=0;    //局部变量
    }

实例变量


实例变量: 从属于对象 如果不自行初始化,这个类型的默认值


实例变量未初始化的类型默认值


| 数据类型 | 初始值 |

| ---- | ---- | ---- |

| byte | 0 |

|short|0|

|int|0|

|long|0L|

|char|'u0000'|

|float|0.0f|

|double|0|

|boolean|false|

|其他引用类型|null|

在模块外定义 int age;;String namae


实例变量应用实例


public class HelloWorld {
    int age=10;
    public static void main(String[] args) {
        HelloWorld text = new HelloWorld(); //注意加括号
        System.out.println(text.age);   //输出结果为10
        //类似于定义一个结构体变量
        //结构体--->HelloWorld
        //定义结构体变量 --->text;
        //new 一个大小等于结构体的变量给结构体变量--注意new的结构体加括号
    }
}

实例变量应用问题解析


未指代报错误地址

正解


public class HelloWorld {
   String name = "Chinese";
    public static void main(String[] args) {
        HelloWorld Name = new HelloWorld();
        System.out.println(Name.name);   //输出结果为Chinese--与之对应
    }
}
public class HelloWorld {
  int a =100;
  String name = "chinese";
    public static void main(String[] args) {
        HelloWorld Name = new HelloWorld();
        Name.name = "USA";
        System.out.println(Name.name);
    }
}
报错


public class HelloWorld {
   String name = "Chinese";
    public static void main(String[] args) {
        HelloWorld Name = new HelloWorld();
        System.out.println(Name);   //错误输出-HelloWorld@1b6d3586
        //原因提示找HelloWorld内的结构体变量 Name要加.具体指向
    }
}

类变量


public class HelloWorld {
  static int  salary = 2500;    //类变量   salary
    public static void main(String[] args) {
        salary = 3000;
        System.out.println(salary);     //类变量放在小模块内起具体作用
        //2500只是初始化变量,实际输出3000
    }
}

常量--关键字 final


定义后值不能改变的量


public class HelloWorld {
    //final 常量名 = 值 定义后不能随意改变
    final double PI =3.1415926;
    //等同于 double final PI = 3.1415926;
    //常量一般使用大写字符
}

变量的命名规范


  1. 所有变量、方法、类名:要求见名知意--写中文太LOW
  2. 类成员变量:首字母小写和驼峰原则:例 monthSalary lastName
  3. 局部变量: 首字母小写和驼峰原则
  4. 常量:全部大写加下划线配合 MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man, GoodMan
  6. 方法名:首字母小写和驼峰原则 run();runRun();
相关文章
|
6天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
13天前
|
存储 Java 开发者
【Java新纪元启航】JDK 22:解锁未命名变量与模式,让代码更简洁,思维更自由!
【9月更文挑战第7天】JDK 22带来的未命名变量与模式匹配的结合,是Java编程语言发展历程中的一个重要里程碑。它不仅简化了代码,提高了开发效率,更重要的是,它激发了我们对Java编程的新思考,让我们有机会以更加自由、更加创造性的方式解决问题。随着Java生态系统的不断演进,我们有理由相信,未来的Java将更加灵活、更加强大,为开发者们提供更加广阔的舞台。让我们携手并进,共同迎接Java新纪元的到来!
41 11
|
1月前
|
Java
【Java基础面试七】、请介绍一下实例变量的默认值
这篇文章介绍了Java中实例变量的默认值:引用数据类型的默认值是null,而基本数据类型的默认值根据其类型分别是0、0L、0.0F、0.0、'\u0000'和false。
【Java基础面试七】、请介绍一下实例变量的默认值
|
16天前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
29天前
|
存储 安全 Java
Java 中的 ThreadLocal 变量
【8月更文挑战第22天】
33 4
|
29天前
|
安全 Java 编译器
Java 中的 volatile 变量
【8月更文挑战第22天】
21 4
|
7天前
|
JavaScript 前端开发 Java
通过JUnit5访问Java静态、私有、保护变量和方法
在《通过Gtest访问C++静态、私有、保护变量和方法》一文中介绍了如何通过Gtest访问C++静态、私有、保护变量和方法,本文介绍如何通过Junit5访问Java静态、私有、保护变量和方法。
13 0
|
1月前
|
算法 Java 测试技术
Java零基础教学(15):Java常量详解
【8月更文挑战第15天】Java零基础教学篇,手把手实践教学!
50 5
|
1月前
|
存储 Java 测试技术
Java零基础(16) - Java常量
【8月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 4
|
1月前
|
存储 Java 测试技术
Java零基础(15) - Java变量
【8月更文挑战第15天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
25 3