1.4. 变量与常量

  • 1.标识符
标识符可以简单地理解为一个名字,用来标识类名、变量名、数组名、文件名的有效字符序列
  • 合法标识符
name
user_age
$page
  • 非法标识符
4word
String
User name

1.4.1. 关键字

Java关键字

image0

1.4.2. 声明变量

int age; //声明int型变量
char char1='r'; //声明char型变量并赋值

1.4.3. 声明常量

//  声明double型常量Pl并赋值
    final double Pl=3.1415026D;
//  声明boolean型常量BOOL并赋值
    final boolean BOOL=true;
package Number;

//新建类Part
public class Part {
//声明常量Pl,如果不对Pl进行赋值,则会出现错误提示
    static final double Pl=3.14;
//  声明int型变量age并进行赋值
    static int age=23;
//  主方法
    public static void main(String[] args) {
//      声明int型常量number
        final int number;
//      对常量进行赋值
        number=1235;
        age=22;
//      将Pl的值输出
        System.out.println("常量Pl的值为:" + Pl);
//      将number的值输出
        System.out.println("赋值后number的值为:" + number);
//      将age的值输出
        System.out.println("int型变量age的值为: " + age);

    }

}

1.4.4. 变量的有效范围

由于变量备定义出来后知识暂存在内存中,等到程序执行到某一个点,该变量会被释放掉,
也就是说变量有它的生命周期,因此,变量的有效范围是指程序代码能够访问该变量的区域。
则在编译时会出现错误。在程序中,一般会根据变量的"有效范围"将变量分为"成员变量"和
"局部变量"
  • 1.成员变量
在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为两种,
即静态变量和实例变量
class var{
//  实例变量
    int x=45
//      静态变量,静态变量可以跨类,可以直接以"类名.静态变量"的方式在其他类内使用
    static int y=90

}
  • 2.局部变量
在类的方法体中定义的变量,方法内部定义{与}之间的代码中声明的变量,称为局部变量。
局部变量只在当前代码块中有效

在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法内有效,
不能用于类的其他方法中。局部变量的声明周期取决于方法,当方法被调用时,java虚拟机为方法中的局部变量
分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会被销毁

局部变量可与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效
package Number;

public class Val {
//  新建类
//  定义成员变量times
    static int times=3;
    public static void main(String[] args) {
//      主方法
//       定义局部变量times
        int times=4;
//      将times的值输出
        System.out.println("times的值为: " + times);

    }

}

# 输出信息:
times的值为: 4

1.4.5. 精准控制格式化的输出

import java.util.Scanner;

public class print_format {
    public static void main(String[] args) {
        // 定义变量
        int x = 100;
        double y = 10.5;
        String s = "Deep";

        // 格式化输出
        System.out.printf("x=/%6d/%n", x);
        System.out.printf("x=/%-6d/%n", x);
        System.out.printf("x=/%6.2f/%n", y);
        System.out.printf("x=/%-6.2f/%n", y);
        System.out.printf("x=/%6s/%n", s);
        System.out.printf("x=/%-6s/%n", s);

        System.out.println("以下是保留位数空间不足的实例");
        System.out.printf("x=/%2d/%n", x);
        System.out.printf("x=/%2.1f/%n", y);
        System.out.printf("x=/%2s/%n", s);

        String input;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入姓名:");
        input = scanner.next();
        System.out.printf("嗨! %s 欢迎使用本系统!",input);


    }

}

/*
        x=/   100/
        x=/100   /
        x=/ 10.50/
        x=/10.50 /
        x=/  Deep/
        x=/Deep  /
        以下是保留位数空间不足的实例
        x=/100/
        x=/10.5/
        x=/Deep/
*/