• 非零基础自学Java (老师:韩顺平) 第3章 变量 3.14 布尔类型:boolean && 3.15 基本数据类型转换


    非零基础自学Java (老师:韩顺平)

    这里贴上韩老师的视频地址

    ✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】

    第3章 变量

    3.14 布尔类型:boolean
    3.14.1 基本介绍

    布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null

    boolean类型占一个字节。

    boolean类型适用于逻辑运算,一般用于程序流程控制

    • if条件控制语句
    • while循环控制语句
    • do-while循环控制语句
    • for循环控制
    3.14.2 举个栗子
    /**
     * 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("没有通过");
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    运行结果

    在这里插入图片描述

    3.15 基本数据类型转换
    3.15.1 自动类型转换

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

    数据类型按精度(容量)大小排序:【韩老师让背】

    在这里插入图片描述

    举个栗子

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

    举个栗子

    /**
     * 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
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    3.15.3 强制类型转换

    【介绍】

    自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。

    使用时要加上强制转换符 ( ),但可能造成精度降低或溢出,格外要注意。

    举个栗子

    /**
     * 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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    运行结果

    在这里插入图片描述

    3.15.4 强制类型转换细节说明
    • 当进行数据的大小从大——>小,就需要使用到强制转换
    • 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
    • char类型可以保存int的常量值,但不能保存int的变量值,需要强转
    • byte和short, char类型在进行运算时,当做int类型处理。
  • 相关阅读:
    智慧城市/雪亮工程中网页低延迟多屏播放海康威视大华华为等监控视频解决方案
    Java基础 | 如何用Javadoc Tool写规范正确的java注释
    Java:如何加速Java中的大型集合处理
    110. 平衡二叉树
    WIFI版本云音响设置教程腾讯云平台版本
    Java面向对象
    上传 iOS App ipa安装包 【推荐使用mac】
    遍历map的4种方法
    leetcode 502. IPO
    Docker安装、卸载
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126802166