Java基础 - 06 - 变量变量作用域与常量

Posted gotta-this

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础 - 06 - 变量变量作用域与常量相关的知识,希望对你有一定的参考价值。

Java基础 - 06 - 变量、变量作用域与常量

一、变量

  • 变量是什么:就是可以变化的量!
    • 可以通过变量操作内存中的数据,定义了内存中一个空间叫xxx
    • 变量指的是内存中的空间,空间里的东西不是定量,就叫变量
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其元素包括变量名,变量类型和作用域

变量定义方式/公式

   type varName [=value] [{, varName[=value]}] ;
//数据类型 变量名  =  值;  可以使用逗号隔开来声明多个同类型变量,但不建议

例:

//int a,b,c;
//int a = 1, b = 2, c = 3;
//上面两种方式不建议使用,要注重程序的可读性
int a = 1;
int b = 2;
int c = 3;

String name = "guopengfei";
char x = ‘X‘;
double pi = 3.14;

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

二、变量作用域

  • 一个类中不只能定义main方法,还可以定义其他方法
  • 除了定义方法,还可以定义一些属性(可以理解为变量)
public class Variable{
  static int allClicks = 0;			//  类变量
  String str = "hello world";		//  实例变量
  
  public void method(){
    int i = 0;									//  局部变量
  }
}

局部变量(写在方法中的)

//main方法
public static void main(String[] args) {
  //局部变量:main方法大括号结束就失效了
  //        必须声明变量和初始化值
  int i = 10;
  System.out.println(i);
}

//其他方法
public void add(){
  //System.out.println(i);
  //由于i是main中定义的局部变量,在其他方法中不生效
}
  • 局部变量在大括号结束失效,在其他方法中无法使用
  • 局部变量必须声明变量和初始化值

实例变量(写在类中间的)

public class Demo {
    //实例变量:从属于对象
    String name;
    int age;

    //main方法
    public static void main(String[] args) {
				//实例变量
        //变量类型  变量名字 = new Demo08;
        Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);//0
        System.out.println(demo08.name);//null
    }
}
  • 实例变量从属于对象
  • 如果不进行初始化,这个变量的值会被赋予默认值
    • 所有数字的初始化值都为0或0.0
    • 所有字符串变量初始化为十六位的u0000
    • 布尔值默认是false
    • 除了基本类型,其余的默认值都是null
  • 实例化变量需要new自身类,然后用``类名.变量名`调用

类变量(写在类里面的)

public class Demo {
    //类变量   static 类型 变量名 = 值;
    static double salary = 2500;
  
    //main方法
    public static void main(String[] args) {
				//类变量 static
        System.out.println(salary);
    }
}
  • 实例变量类似,不过在使用的时候不需要new
  • 声明变量格式:static 类型 变量名 = 值;例子如上

三、常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值
  • 所谓变量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 数据类型 常量名 = 值;
final double PI = 3.14;
  • 常量名一般使用大写字符
  • 在程序中使用某些常量可以提高某些代码的可读性
    • 比如游戏中要设置宽高(不会改变的值)
  • public, private, static, final......都是修饰词,不存在先后顺序
  • 常量可以被定义为类变量(常用)

public class Demo {

    //final, static......都是修饰符,不存在先后顺序
    final double PI = 3.14;
    static final int width = 600;
    final static int height = 300;
    public final static int i = 1;
    private final static char c = ‘c‘;

    public static void main(String[] args) {
        //System.out.println(PI);//不是类变量无法使用
        System.out.println(width);
        System.out.println(height);
        System.out.println(i);
        System.out.println(c);
    }
}

四、变量的命名规范 ※

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰规则
    • 驼峰规则:monthSalary
    • 除了第一个单词以外,后面的单词首字母大写 lastname -> lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man, GoodMan
  • 方法名:首字母小写和驼峰原则:run(), runRun()

《阿里巴巴Java开发手册》有对标识符命名规则的规定,虽然是阿里巴巴公司编写的,但对于我们有很重要的学习作用,百度云链接:提取码: xcbc

有关我之前写的标识符关键字的笔记

以上是关于Java基础 - 06 - 变量变量作用域与常量的主要内容,如果未能解决你的问题,请参考以下文章

06变量,常量,作用域

JS基础 作用域与闭包

5月25号 JAVA基础语法 变量 常量 作用域

5月25号 JAVA基础语法 变量 常量 作用域

Java基础常量+变量+运算符

Python 5.函数作用域与递归(基础篇)