1.2 基础变量声明
/* 例1.2-1: 变量声明 */
public class demo01 {
    public static void main(String[] args) {
        // 声明类型 标识符 = 类型量;
        // 声明整数型
        int integers = 1;    // 声明一个int(整数)类型
        long longIntegers = 1L;      // 声明一个long(长整数)类型
        byte bytes = 2;     // 声明一个byte(字节)类型
        short shortIntegers = 15;   // 声明一个short(短整数)类型
        // 声明浮点型
        float floats = 1.0F;        // 声明一个float(单精度浮点)类型
        double doubles = 1.0D;      // 声明一个double(双精度浮点)类型
        // 声明字符
        char character = 'A';   // 声明一个字符类型
        // 声明布尔值
        boolean flags = true;   // 声明一个布尔值
        // 声明字符串
        String str = "1111";    // 声明一个字符串
    }
}
1.2.1 常用类型
| 基础类型(整数型) | 类型量 | 说明 | 
|---|---|---|
int | 
数字 | 默认整数类型 | 
long | 
数字L | 长整数类型, 可取范围比int类型大, 必须在整数后面加L标记 | 
short | 
数字 | 短整数类型, 可取范围比int类型小 | 
byte | 
数字 | 字节类型, 可取范围为 [-128~128] | 
char | 
'单个字符' | 字符类型, 本质是Unicode码点渲染, 所以只能存在一个字符 必须包括在半角单引号 ' ' 内 | 
| 基础类型(浮点型) | 类型量 | 说明 | 
float | 
小数F | 必须在小数后面加F标记 | 
double | 
小数 / 小数D | 
默认浮点数类型, 可以在小数后面使用D标记 | 
| 基础类型(布尔值) | 类型量 | 说明 | 
boolean | 
true / false | 判断值 | 
| 引用类型(字符串) | 类型量 | 说明 | 
String | 
"多个字符" | 字符串类型, 用于输入字符串, 必须包括在半角双引号 " " 内 | 
1.2.2 类型转换
整数型和浮点型之间可以互相转换, 分为强制类型转换和自动类型转换.
1.2.2.1 自动类型转换
byte类型相加会自动转化成int型:
/* 例1.2-2: 类型返回值 */
byte a = 1;
byte b = 2;
byte c = a + b;		// 会报错, 因为 a+b 返回的是int型
int c = a + b; 		// 正确的语法
浮点数与整数型进行计算, 自动转化为浮点型:
/* 例1.2-3: 简单的自动类型转换 */
double a = 10.4;
int b = 2;
double c = a / b;			// 输出double类型变量c
System.out.println(c);		// 输出5.2
自动类型转换
当参与运算中有的值属于高位类型时, 所有值都会被升位运算.
优先级: byte, short < int, char < long < float < double
1.2.2.2 强制类型转换
int类型加减乘除只能输出int类型:
/* 例1.2-4: 整数类型运算返回值 */
int a = 1;
int b = 2;
System.out.println(a/b);
// 会输出0, 而不是0.5, 强制舍去小数位(可以视为自动向下取整)
使用强制类型将int转换为double输出浮点数:
/* 例1.2-5: 混合类型运算返回值 */
int a = 1;
int b = 2;
System.out.println((double)a/b);
// 会输出0.5, 因为a(int)被强制转换成了a(double)
实质:
/* 例1.2-6: 类型转换 */
System.out.println(1/2);			// 例1.2-4的运算实质
System.out.println(1.0/2);		// 例1.2-5的运算实质(同例1.2-3)
也就是说, 如果想要输出浮点类型结果, 就需要参与运算中的其中一个值是浮点值. 当一个值是浮点值时, 其他值也会自动转化为浮点值运算.
强制类型转换语法
转换类型 变量 = (转换类型)变量
/* 例1.2-7: 强制类型转换 */
int a = 1; 
System.out.println(a);					// 输出1
System.out.println((double)a);	// 输出1.0