Java 变量

2 篇文章 0 订阅

Java 变量

变量基础,大佬请绕行,我们来谈谈变量是什么如何创建变量如何操作变量变量的命名规范

1.什么是变量

在程序设计中,变量是指一个包含值的存储地址以及对应的符号名称
从定义来看,变量大概可分为两部分:变量的名字和变量的值,可通过变量名来访问变量值。
简单的来说,变量就是存储数据的载体。

对于java语言来讲,Java是一种强类型的语言,因此变量都必须有一个类型。在Java代码中,变量是长这个样子的:

// =左侧的age是变量名,右侧的66是变量的值
int age = 66;

2.创建变量

我们已经在上面看到了变量在代码中的样子,现在我们来手动创建变量。

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

1.给变量起一个名字
2.定义变量的数据类型

创建变量的过程也叫声明变量,声明变量的语法如下:

DataType 变量名;

声明一个变量,实例如下:

String str;

上述代码,声明了一个名字为str,类型为字符串的变量。

3.给变量赋值

变量声明操作已经告诉了编译器变量的数据类型。数据类型决定了变量中可以存放什么,不能存放什么,上述的变量strString类型(字符串),因此只能存放字符串。
一旦声明了一个变量,我们就可以使用赋值语句为其赋值,实例如下:

//变量声明语句
String str;
//赋值语句
str = "你好哇";

为变量分配的语句,就称为赋值语句。需要特别提醒的是,语句中=的意义不同于数学中等号,在Java中,=是赋值符号。

对于变量的声明和赋值操作,我们也可以将这两条语句合并成一条语句,实例如下:

String str = "family";

如果要创建多个类型相同的变量,我们可以在一条语句中将多个变量的声明进行分组:

String str1,str2;
str1 = "张三";
str2 = "李四";

为了精简语法,还可以将变量的声明和赋值同时分组:

String str1 = "张三",str2 = "李四";

在作用域范围内,变量的值能够随时访问或重新赋值,

public static void main(String[] args) {
	String str = "张三";
	System.out.println("修改前变量的值:" + str);
	//将变量重新赋值
	str = "李四";
	System.out.println("修改后变量的值:" + str);
}

运行结果

修改前变量的值:张三
修改后变量的值:李四

在上述代码中,声明了一个字符串str,初始化值为张三,可以使用str="李四";这种赋值语句,对变量str重新赋值。

注意,在java中,对变量进行重新赋值,这样的写法是错误的:

String str = "张三";
String str = "李四";

编译时,将会抛出异常;

Test.java:5: 错误: 已在方法 main(String[])中定义了变量 str
	String str = "张三";
	    ^
1 个错误

编译报错的原因很简单,第二行代码再次定义了变量str,而变量str已经在内存中存在了,不能再重复定义。这与对变量重新赋值不同。

4.变量命名规范

对于变量的命名,每种编程语言都有自己的规则和约定,Java语言也不例外。命名变量的规则和约定如下:

  • 变量的名称可以是任何合法的标识符,以字母,美元符号$或下划线_开头,但是,按照约定俗成,变量应始终以字母开头,不推荐使用美元符号和下划线开头
  • 开头后续的字符可以是字母、数字、美元符号或下划线。 为变量选择名称时,推荐使用完整的英文单词,不推荐使用单词缩写,更不要使用中文拼音。这样做有利于代码的阅读和理解。另外请牢记,选择的名称不能是关键字保留字
  • 变量命名区分大小写;
  • 变量命名应采用小驼峰命名法。 所谓小驼峰命名法,就是如果你选择的名称只包含一个单词,那么用全部小写字母拼写该单词;如果名称包含多个单词,请将第二个单词起的每个单词的第一个字母都大写;
  • 如果变量存储了一个常量值,要将每个字母大写并用下划线字符分隔每个单词。 比如static final int STR_NAME = "张三"。按照约定俗成,除了常量命名的情况,下划线字符永远不会再其他地方使用。

下面我们对照上述规则和约定来看几个实例。

实例1:

String $a;
String _b;
String age;

上面3个变量的声明都是合法的,但是根据约定俗成,不推荐使用$a这种以美元符号开头、_b这种以下划线开头的命名方式。

实例2:

public static void main(String[] args){
	String Name = "张三";
	String name = "李四";
	System.out.println("Name:"+Name);
	System.out.println("name:"+name);
}

变量名区分大小写,因此上面的 Name 和 name 是两个不同的变量。由于只有一个单词组成,应将单词使用全部小写拼写,不推荐第 1 行 Name 这种命名方式。

实例3:

// 声明姓和名变量
String firstName;
String lastname;

上面声明了两个变量 firstName 和 lastname,由于它们都是由两个单词组成,按照小驼峰命名法的约定俗成:第 2 行 lastname 变量名由两个英文单词组成,因此推荐改为 lastName。

5.常量

所谓常量,就是恒常不变的量。我们可以将常量理解成一种特殊的变量。

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

final DataType 常量名 = 常量值;

6.变量的种类

学习变量的种类,需要你对 Java 的类和对象有一定的了解。目前不要求完全理解,等到后面学完面向对象相关知识后再回过头来回味。
Java 语言定义了以下 4 种变量

  • 实例变量
  • 类变量
  • 局部变量
  • 参数
public class KindsOfVariables {
    // 1.实例变量
    public int instanceVariable = 1;
    // 2.类变量
    public static int classVariable;
    
    public void demoMethod(int parameter) { // 3.参数	    
        // 4.局部变量
        int localVariable;
    }
    
    public static void main(String[] args) {
        // 入口方法
    }
}

6.1实例变量

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

实例变量用于存储对象的状态,它的值对于类的每个实例都是唯一的,每个对象都拥有自己的变量副本,只要相应的对象存在于内存中,它就占用着存储空间。

public class Student {
    // 实例变量 name
    public String name;
    // 实例变量 age
    public int age;

    // 构造方法
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 打印学生基本信息的方法
    public void printInfo() {
        System.out.println("学生姓名为:" + name);
        System.out.println("学生年龄为:" + age);
    }

    public static void  main(String[] args) {
        // 实例化两个学生对象
        Student student1 = new Student("小慕", 20);
        Student student2 = new Student("小李", 18);
        // 分别调用打印学生基本信息方法,打印两个对象下的两个实例变量
        student1.printInfo();
        System.out.println("--------分割线--------");
        student2.printInfo();
    }
}

运行结果

学生姓名为:小慕
学生年龄为:20
--------分割线--------
学生姓名为:小李
学生年龄为:18

6.2类变量

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

static修饰符告诉编译器,无论类被实例化多少次,类变量始终只有一个变量副本。只要类被加载到内存中,它就会存在。

另外,类变量可以被声明为常量,通常使用final关键字以表示变量永远不会改变。例如;public static final NAME_CODE = "23123E";这里的NAME_CODE
就是不会改变的常量。再次提醒,在常量的命名规范中,要将字母全部大写。

public class Course {
  
  	// 类变量 courseType
  	public static courseType = "文字课程";
  	// 常量 COURSE_NAME
  	public static final COURSE_NAME = "Java 基础教程";
  	
		public static void main(String[] args) {
      	// 分别打印类变量和常量
      	System.out.println(Course.courseType);
      	System.out.println(Course.COURSE_NAME);
    }
}

运行结果:

文字课程
Java 基础教程

类变量和类相关,因此不需要使用new关键字实例化对象后在调用,可以直接通过类名+点运算符+类 变量名的方式调用。
上述代码中,courseTypeCOURSE_NAME都使用static关键字修饰,它们都可以直接通过

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值