这里贴上韩老师的视频地址
✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】
布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null
boolean类型占一个字节。
boolean类型适用于逻辑运算,一般用于程序流程控制
/**
* ClassName: Var07
* date: 2022/8/30 19:28
*
* @author DingJiaxiong
*/
public class Var07 {
public static void main(String[] args) {
boolean pass = true;
if (pass){
System.out.println("通过");
}else{
System.out.println("没有通过");
}
}
}
运行结果

当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。
数据类型按精度(容量)大小排序:【韩老师让背】

举个栗子
int a = 'c';
double d = 80;
举个栗子
/**
* ClassName: AutoConvertDetail
* date: 2022/8/30 19:34
*
* @author DingJiaxiong
*/
public class AutoConvertDetail {
public static void main(String[] args) {
int n1 = 10; //正常赋值,ok
// float d1 = n1 + 1.1; //错误,n1 + 1.1 结果类型应该是double
// double d1 = n1 + 1.1; //这样就正确了
float d1 = n1 + 1.1F; //这样也正确,最高转到float
//当把精度大的数据类型赋值给小的数据类型时,就会报错
// int n2 = 1.1; //错误
// (byte,short)和char之间不会相互自动转换
byte b1 = 10; //这样是对的,-127~127
int n2 = 1; //n2 是int
// byte b2 = n2; //这时就会报错,变量赋值就会先判断类型
// char c1 = b1; //这个也会报错,因为byte不能自动转成char
/*
* byte、short、char三者可以计算,在计算时首先转换为int类型
* */
byte b2 = 1;
byte b3 = 2;
short s1 = 1;
//short s2 = b2 + s1; 错误,b2 + s1 → int
int s2 = b2 + s1; //这样就是对的
// byte b4 = b2 + b3; //这个错误,b2 + b3 → int
// boolean不参与转换
boolean pass = true;
// int num100 = pass; //boolean不参与类型的自动转换
//自动提升原则:表达式结果的类型自动提升为 操作数中最大的类型
byte b4 = 1;
short s3 = 100;
int num200 = 1;
float num300 = 1.1f;
double num500 = b4 + s3 + num200 + num300; //自动转成double
}
}
【介绍】
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。
使用时要加上强制转换符 ( ),但可能造成精度降低或溢出,格外要注意。
举个栗子
/**
* ClassName: ForceConvert
* date: 2022/8/30 20:02
*
* @author DingJiaxiong
*/
public class ForceConvert {
public static void main(String[] args) {
int i = (int)1.9;
System.out.println(i);
int j = 100;
byte b1 = (byte) j;
System.out.println(b1);
}
}
运行结果
