Java---变量和基本数据类型

变量

在Java中,变量分为两种:基本类型的变量和引用类型的变量。

在Java中变量必须先定义后使用,在定义变量的时候可以给它一个初始值.如果不写初始值,默认为0或空.

变量的一个重要特点是可以重新赋值,还可以赋值给其他变量.

public class Main {
	public static void main(String[] args) {
		int x = 100; // 定义int类型变量x,并赋值100
		System.out.println("x=" + x); // 打印x变量的值
		
		x = 200; // 重新赋值为200
		System.out.println("x=" + x); // 打印变量的值
		
		int n = x; // 变量x的值赋值给变量n
		System.out.println("n=" + n); // 打印n的值 200
		
		n = n + 56; // 重新赋值n
		System.out.println("n=" + n); // 打印n的值 256
		System.out.println("x=" + x); // 打印x的值 200		
	}
}

基本数据类型

基本数据类型是CPU可以直接进行运算的类型, Java定义了以下几种基本数据类型:

  • 整数类型: int, short, long, byte
  • 浮点类型: float, double
  • 字符类型: char
  • 布尔类型: boolean

计算机内存最小的存储单元是字节byte, 一个字节就是一个8位二进制整数, 即8bit, 0-255. 每个内存单元可以看做是一间房间, 内存地址就是门牌号.

基本数据类型 占用字节数
int 4
short 2
long 8
byte 1
float 4
double 8
char 2

整型

Java只定义了带符号的整型, 且同一个数的不同进制的表示时完全相同的.

int i = 21456;
int i2 = -89656;
int i3 = 2_000_000; // 加下划线更容易识别
int i4 = 0x11; // 0x十六进制
int i5 = 0b1111; // 0b八进制
long l = 932565400000L; // long 结尾要加L

浮点型

float f1 = 3.14f; // float类型要加上f后缀
float f2 = 3.4e38f;
double d1 = 1.79e308;
double d2 = 4.9e-324;

布尔型

true和false两个值, 是关系运算的计算结果

boolean b1 = true;
boolean b2 = false;
boolean isGreater = 5 > 3; // 结果为true

java对布尔类型的存储没有做规定, 通常JVM会把boolean表示为4字节整数.

字符型

char类型使用单引号', 且仅由一个字符, 要和双引号"的字符串类型区分.

public class Main {
    public static void main(String[] args) {
        char v = 'v';
        char hi = '嗨';
        System.out.println(v);
        System.out.println(hi);
    }
}

常量

定义变量的时候, 加上修饰符final, 变量就变成了常量, 根据习惯常量名通常全部大写.

final double PI = 3.14;
double r = 4;
double area = PI * r * r;
PI = 3; // 编译错误

常量在定义时初始化之后就不可以再次复制, 否则会导致编译错误.

常量的作用是用有意义的变量名来避免魔术数字, 比如定义一个常量来表示3.14, 如果需要提高计算精度, 只需在常量定义处修改,不必在所有地方替换.

var关键字

当类型的名字太长, 想省略变量类型时, 可以使用var关键字.

StringBuilder sb = new StringBuilder(); // 类型的名字较长

var sb = new StringBuilder(); 

编译器会根据赋值语句自动推断出变量的类型.

变量的作用范围

在java中, 多行语句用{ }括起来,控制语句都以{ }作为他们自身的范围.

if ( ) { // if开始
    while ( ) { // while开始
        
        if ( ) { // if开始
            
        } // if结束
    } // while结束
} // if结束

定义变量时, 要遵循作用域最小化原则, 尽量将变量定义在尽可能小的作用域,并且不要重复使用变量名.

作者:凯旋.Lau
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KX-Lau/p/12427884.html