类型转换

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

    低------------------------------------------------------------------------->高

    byte,short,char-> int-->long--->float----->double//小数优先级大于整数

    • 运算中,不同类型的数据先转化为同一类型,然后进行运算。

 

 

  • 强制类型转换

  • 自动类型转换

public class mod2 {
   public static void main(String[] args) {
       int i =128;
       byte b = (byte) i;//内存溢出(byte最大127)
       //强制转换 (类型)变量名 高》低
       //自动转换             低》高
       System.out.println(i);
       System.out.println(b);
       /*
       注意点
       1.不能对布尔值进行转换
       2.不能把对象类型转换为不相干的类型。
       3.在把高容量转换到低容量的时候,强制转换
       4.转换的时候可能存在内存溢出,或者精度问题!
        */
       System.out.println("=======================================================================");
       System.out.println((int)23.7);//23
       System.out.println((int)-45.89F);//-45

       System.out.println("=======================================================================");
       char c ='a';
       int d =c+1;
       System.out.println(d);//98
       System.out.println((char) d);//b
       //操作比较大的数的时候,注意溢出问题
       //JDK7的新特性,数字之间可以用下划线分割 下划线不会输出
       int money =10_0000_0000;
       int years =20;
       int total =money*years;//-1474836480,计算的时候溢出了
       long total2 =money*years;//默认是int,转换之前已经存在问题了
       long total3 =money*((long)years);//先把一个数转换为long
       System.out.println(total3);//20000000000


  }
}
 
posted @   黑白灰世界  阅读(211)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示