Java基础05:类型转换

类型转换

package com.kuang.base;

public class 类型转换04 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//内存溢出
        //强制类型转换   (类型)变量名
        //优先级byte,int,char->int->long->float->double

        //高-低   需要强制类型转换
        //低-高   自动类型转换
        System.out.println(i);
        System.out.println(b);
    /*
    1,不能对布尔值进行转换
    2,不能把对象类型转换为不相干的类型
    3,在把高容量转换为低容量的时候,强制转换
    4,转换的时候可能存在内存溢出,或者精度问题!
    */
        System.out.println("------------------------------");
        System.out.println((int)23.7);//double型
        System.out.println((int)-45.89f);//float型
        System.out.println("------------------------------");
        char c = 'a';
        int d = c+1;
        System.out.println(d);
        System.out.println((char)d);



    }
}

小结:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 在把高容量转换为低容量的时候,强制转换
  4. 转换的时候可能存在内存溢出,或者精度问题!

数据溢出

public class 数据溢出问题05 {
    public static void main(String[] args) {
        //操作比较大的时候注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int year = 20;
        int total = money*year;//-1474836480,计算的时候溢出了
        long total2 = money*year;//转换前int类型,数据已经溢出
        System.out.println(total2);

        long total3 = money*(long)year;//计算前把数据转换为long
        System.out.println(total3);
    }
}

导入包

import com.kuang.base.Demo07;//导入Demo07这个类
import com.kuang.base.*;//通配符,导入这个文件下所有的包

public class 导入自身写好的包 {

}
posted @   夜月明  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示