强哥说Java--Java 变量

简介: 强哥说Java--Java 变量

Java 变量


1. 什么是变量


在程序设计中,变量是指一个包含值的存储地址以及对应的符号名称

从定义上来看,变量大概可分为两部分:变量的名字和变量的值可通过变量名来访问变量值

简单来说,变量就是存储数据的载体。


//String是变量类型,$Ahello是变量名,右侧”caq1“是字符串
String $Ahello = "caq1";
String _Ahello = "caq2";
String ahello = "caq3";
String Ahello = "caq3";


2. 创建变量


Java语言中,我们需要做两件事才能创建一个变量:

  1. 给变量起一个名字
  2. 定义变量的数据类型
  3. 创建变量的过程也叫声明变量
    声明变量的语法如下:


String 王者荣耀 = "倔强青铜";

当然你也可以不赋予变量值

int a;

3. 变量命名规范


  • 变量命名区分大小写
  • 变量命名应采用小驼峰命名法。前面提到过,简单来说就是首字母小写,之后每个单词首字母大写
  • 如果变量存储了一个常量值,要将每个字母大写并用下划线字符分隔每个单词


static final int MAX_NUM = 100;

4. 常量


所谓常量,就是恒常不变的量。

与变量不同的是,一旦它被赋值后,在程序的运行过程中不允许被改变。常量使用final关键字修饰:


final int 常量名 = 1;

常量的命名规范与普通变量有所不同,要将每个字母大写并用下划线字符分隔每个单词。

你要是更改常量的值,并允许哪肯定是会报错的


5.变量的种类


学习种类之前要对Java的类和面向对象有所了解!我们先学着喽,回头再来看!

  • 实例变量(见代码中instance Variable
  • 类变量(见代码中class Variable
  • 局部变量(见代码中local Variable
  • 参数(见代码中parameterargs


//类变量 类的关键词static
//正常变量格式:类型 变量名 = 值;
//类变量 static 类型 变量名 = 值;
package com.caq.base;
public class Demo07 {
    static double salary = 3000; //类变量,就的带个关键字static的
    //实例变量
    //实例变量:从属于对象;如果不自行初始化,默认值是0,0.0
    //布尔值默认是false
    //除了基本类型,其余默认值都是null
    int age;
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);
        //使用实例变量
        //先生成一个对象,然后使用对象里的变量
        Demo07 jack = new Demo07();
        System.out.println(jack.age);
    }
}

5.1 实例变量


实例变量在类范围内声明。声明时不使用static关键字修饰,因此也称为非静态字段

实例变量和实例对象相关,因此需要通过new关键字实例化出对象,通过对象才能访问其实例变量(也称实例属性)。 上述代码中,nameage就是用于存储其对象的属性,我们实例化了两个学生对象,其实例变量nameage,在每个对象实例中是唯一的。

在类范围内声明

在IDEA中我们通过alt+Insert键,可以一键生成image.png


package com.caq.base;
public class Test1 {
    //两个实例变量
    int age;
    String name;
    //构造方法
    public Test1(int age, String name) {
        this.age = age;
        this.name = name;
    }
    //打印年龄和姓名的方法
    public void print(){
        System.out.println(age);
        System.out.println(name);
    }
    //程序入口
    public static void main(String[] args) {
        //定义对象,也就是生成一个实例。
        //用实例的变量,格式:对象名.实例变量
        //用方法也是一样,格式:对象名.实例变量
      Test1 student = new Test1(3,"Jack");
        Test1 student1 = new Test1(4,"Rose");
        student.print();
        student1.print();
    }
}
E:\Environment\Java\jdk1.8\bin\java.exe
3
Jack
4
Rose

出学阶段可能看不懂,没关系啊,先敲敲代码学到面向对象就明白了

实例变量和实例对象相关,因此需要通过new关键字实例化出对象,通过对象才能访问其实例变量(也称实例属性)。 上述代码中,nameage就是用于存储其对象的属性,我们实例化了两个学生对象,其实例变量nameage,在每个对象实例中是唯一的。


5.2 类变量


类变量在类范围内使用static关键字修饰,因此类变量又被称为静态字段、静态变量

有关键字static的变量

public class Test1 {
public static int b;
public static void main(String[] args) {
  System.out.println(Test1.b);
  }
}

类变量和类相关,因此不需要使用new关键字实例化对象后再调用,可以直接通过类名 + .点运算符 + 类变量名的方式调用。


5.3 局部变量


局部变量是在方法范围内被声明和使用的。它们没有任何关键字修饰,可以根据变量声明的位置来认定局部变量(即方法的左花括号和右花括号之间),因此,局部变量只可以对声明它们的方法可见。方法返回后,它们将被销毁。

局部变量:没有默认初始化值。 意味着,我们在调用局部变量之前,一定要 显式赋值。 特别地:形参在调用时,我们赋值即可。

在方法内部的变量!

package com.caq.base;
public class Test2 {
    public static void main(String[] args) {
        // 局部变量 name
        String name = "ccc";
        // 局部变量 age
        int age = 20;
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
    }
}

5.4 参数


// Student 类构造方法
public Student(String name, int age) {  // name 和 age 就是传递给Student构造方法的参数
    this.name = name;
    this.age = age;
}

方法体中的this.namethis.age指代的是实例变量,而 nameage是参数,它们被用于赋值给实例变量。

看不懂没关系,学到后面就知道了!

Java有一个名为this的关键字。它是对类的当前实例的引用。

它只能在实例的上下文中使用。

package com.caq.base;
//this.属性名
public class Test2 {
    //name,salary,age作用域都是private,在类外部无法对它们的值进行设置
    private String name;    // 教师名称
    private double salary;    // 工资
    private int age;    // 年龄
    //可以为 Teacher 类添加一个构造方法,然后在构造方法中传递参数进行修改。代码如下:
    //提示:当一个类的属性(成员变量)名与访问该属性的方法参数名相同时,则需要使用 this 关键字来访问类中的属性,以区分类的属性和方法中的参数。
    public Test2(String name, double salary, int age) {
        this.name = name;    // 设置教师名称
        this.salary = salary;    // 设置教师工资
        this.age = age;    // 设置教师年龄
    }
    public static void main(String[] args) {
        Test2 teacher = new Test2("王刚", 5000.0, 45);
        System.out.println("教师信息如下:");
        System.out.println("教师名称:" + teacher.name + "\n教师工资:" + teacher.salary + "\n教师年龄:" + teacher.age);
    }
//在 Teacher 类的构造方法中使用了 this 关键字对属性 name、salary 和 age 赋值,this 表示当前对象。this.name=name语句表示一个赋值语句,等号左边的 this.name 是指当前对象具有的变量 name,等号右边的 name 表示参数传递过来的数值。```

相关文章
|
11天前
|
Java
Java 变量命名规则
4月更文挑战第6天
|
11天前
|
存储 Java 编译器
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
【Java开发指南 | 第八篇】Java变量、构造方法、创建对象
22 3
|
5天前
|
存储 Java 数据处理
Java变量:基础与应用
Java变量:基础与应用
|
11天前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
17 4
|
11天前
|
存储 缓存 Java
【Java开发指南 | 第六篇】Java成员变量(实例变量)、 类变量(静态变量)
【Java开发指南 | 第六篇】Java成员变量(实例变量)、 类变量(静态变量)
13 2
|
11天前
|
Java 编译器 C语言
【Java开发指南 | 第五篇】Java变量类型、参数变量及局部变量
【Java开发指南 | 第五篇】Java变量类型、参数变量及局部变量
19 3
|
11天前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
14 0
|
11天前
|
Java
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
深入浅出Java基础语法:标识符、关键字、变量、数据类型、运算符与控制语句
12 0
|
11天前
|
存储 Java 定位技术
轻松理解Java中的数据类型和变量
轻松理解Java中的数据类型和变量
13 0
|
11天前
|
存储 Java
一文搞懂Java中所有变量概念!
一文搞懂Java中所有变量概念!
22 2
一文搞懂Java中所有变量概念!