04、Java 中的变量
3.4.1、字面量
开发软件是为了解决现实生活中的问题,而现实生活中很多问题都会使用数据进行描述,所以软件集成过程中最主要的就是对数据的处理,在Java代码中是怎么处理数据的?Java中有这样一个概念:字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、记录和对象等复合类型的值也支持字面量表示法。
字面量可以分为很多种类型:
- 整数字面量:12、2、3、4、5、....
 - 浮点型字面量:1.2、1.2、1.22、3.14...
 - 布尔型字面量:true、false,只有这两个没有其他值。true表示真,false表示假。
 - 字符型字面量:'A'、'b'、'国'....
 - 字符串型字面量:"abc"、"a"、"国家"….
 
System.out.println(100);	// 整数。
System.out.println(3.14);	// 浮点数。
System.out.println(true);	// 布尔型,真
System.out.println(false);	// 布尔型,假
System.out.println'中');		// 字符型
System.out.println('zhong');	// 字符型
System.out.println("中国");	// 字符串型
System.out.println("广东");	// 字符串型
// 在语法当中如何区分字符型和字符串型?
// 主要看单引号还是双引号:单引号括起来的是字符型,双引号括起来的是字符串型。
3.4.2、什么是变量
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。
一个可以变化的量,是内存中存储数据的最基本的单元。
3.4.3、变量的声明
命名规则:首字母小写,后面每个单词的首字母大写,遵循驼峰命名方式,见名知意。
语法格式:
DataType identifier; 或者	DataType identifier = value;
- DataType:变量类型,如 
intStringboolean等 - identifier:标识符,也叫变量名称
 - value:声明变量时的值
 
String username;	// 声明一个叫username的String变量
int age;			// 声明一个叫age的int变量
3.4.4、变量赋值
- 先声明、后赋值
 
String username;
username = "张三";
- 声明时直接赋值
 
String username = "Tom";
- 在同一行同时声明多个同一类型的变量
 
String username, code, phone;
或者
String username = "Tom", code = "10001", phone = "13800000000";
注意:
- 变量必须先声明、再赋值、才能访问。
 - 在同一作用域中,变量名不可以重复声明。
 
3.4.5、变量的作用域
根据作用域的不同,一般将变量分为成员变量和局部变量。
3.4.5.1、成员变量
在方法体之外,类体之中声明的变量为成员变量,而成员变量又分为实例变量和类变量,作用域在整个类中。
| 名称 | 修饰 | 访问 | 
|---|---|---|
| 全局变量(实例变量) | 无 static 修饰 | 对象名.变量名 | 
| 静态变量(类变量) | 用 static 修饰 | 类名.变量名或对象名.变量名 | 
public class HelloWorld {    
    int sex;	
    // 成员变量、实例变量    
    String code;	
    // 成员变量、实例变量        
    static String username = "Tom";	
    // 成员变量、静态变量(类变量)    
    static int age = 18;	
    // 成员变量、静态变量(类变量)        
    public static void main(String[] args) {        
        System.out.ptintln(sex);        
        System.out.ptintln(code);        
        System.out.ptintln(username);        
        System.out.ptintln(age);    
    }
}
3.4.5.2、局部变量
在方法体当中声明的变量为局部变量,作用域只在当前代码块中。。
- 方法参数变量(形参):在整个方法内有效。
 - 方法局部变量(方法内定义): 从定义这个变量开始到方法结束这一段时间内有效。
 - 代码块局部变量(代码块内定义):从定义这个变量开始到代码块结束这一段时间内有效。
 
public class HelloWorld {
    public static void main(String[] args) {
        // 第一种:方法内的局部变量
        int age = 88;	// 声明一个 int 类型的局部变量
        
        for (int index = 0; index < 10; index++) {
            // 声明一个 String 类型的局部变量
            String username = "username";
        }
        // 在for循环中声明的变量这里不可以访问
        
        // 第二种:方法参数变量(形参)
        sum(100, 200);
        // 在sum()方法中声明的变量这里不可以访问
        
        // 第三种:代码块中的局部变量
        try {
            String name = "Jack";
        } catch (Exception e) {
            // 
        }
        
        // 在try ... catch..中声明的变量这里不可以访问
    }
    
    public static void sum(int a, int b) {
        System.out.println(a + b);
    }
}
记住一句话:出了大括号 {} 就都不可以访问(出了这个门,你是谁啊?)。
原创博主:Little Tomcat
博主原文链接:https://mp.weixin.qq.com/s/5Ove0Ed6hQySsrowgxHPrg
                    
                
                
            
        
浙公网安备 33010602011771号