变量

1. 名词解释

  1. 变量:变量是程序的基本组成单位,是用来存储数据的。变量有三个基本要素(类型+名称+值)

2. 变量的数据类型及其范围

2.1 变量的数据类型

java Boolean类型重新赋值 java中boolean变量可以取哪些值_java

2.2 变量的范围

2.2.1 整型

java Boolean类型重新赋值 java中boolean变量可以取哪些值_后端_02

2.2.2 浮点型

java Boolean类型重新赋值 java中boolean变量可以取哪些值_数据类型_03

//浮点型的使用细节
    double num1 = 2.7;
    double num2 = 8.1 / 3;
    //如果要比较的话,这应该这样写,因为8.1/3得到的值是一个无限接近于2.7的数(近似值),但是不等于2.7
    if(Math.abs(num1 - num2) < 0.00001){
      System.out.println("相等");
    }
2.2.3 布尔型
  1. 布尔类型也叫boolean类型,boolean类型数据只允许取值true和false,无null。
  2. boolean类型占一个字节。
  3. boolean类型适用于逻辑运算,一般用于程序流程控制:
    if条件控制语句;
    while循环控制语句;
    do-while循环控制语句;
    for循环控制语句;
2.2.4 char类型

在Java中 ,char的本质是一个整数,在默认输出时,是unicode码对应的字符。也就是说,char是占两个直接

3. 字符编码表

java Boolean类型重新赋值 java中boolean变量可以取哪些值_java_04

4. 基本数据类型的自动转换

当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。

java Boolean类型重新赋值 java中boolean变量可以取哪些值_后端_05

  1. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
  2. 当我们把精度大的数据类型赋值给精度小的数据类型的时候,就会报错,反之就会进行自动类型转换。
  3. (byte,short)和char之间不会相互自动转换。
  4. byte,short,char 他们三者可以计算,在计算时首先转换为int类型。
  5. boolean不参与转换。
  6. 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。

5. 强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成 精度降低或溢出,格外要注意。

细节说明:

  1. 强制符号只针对最近的操作数有效,往往会使用小括号提升优先级。
int y = (int)(18 * 3.5 + 6 * 1.5);
  1. char类型可以保存int的常量值,但不能保存int的变量值,需要强转。
char a = 97;//正确
char b = a; //正确
char c = a + b;//错误,char类型不能保存int的变量值
char d = 48 + 1;//正确,char类型可以保存int的常量值
char e = a + 1; //错误,char类型不能保存int的变量值
char e2 = (char)(a+1);//正确
char f = 'a' + 1;//正确,因为字符类型本质上还是一个整型

6. 基本数据类型和String类型的转换

int a = Integer.parseInt("123");
	double b = Double.parseDouble("123.4");//这儿也可以写123,因为int类型可以自动转换为double类型
	float c = Float.parseFloat("123.4f");
	short d = Short.parseShort("12");
	long e = Long.parseLong("12345");
	boolean f = Boolean.parseBoolean("true");
	byte g = Byte.parseByte("12");