• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Java学痴
博客园    首页    新随笔    联系   管理    订阅  订阅

java基础(类型转化)

类型转换

类型的强制转换

 public static void main(String[] args) {
        int l=128;
        byte a=(byte)l;
        //高——>低强制类型转换
        //低——>高自动类型转换     
        System.out.println(a);
        System.out.println(l);
        /*
        -128 这里的-128是内存溢出 最高只能到127
        128
         */
     /*
     注意点
     不能对布尔类型进行转换
     不能把对象类型转化为不相干的类型
     在把高容量转化为低容量时,强制转换
     转化时可能存在内存溢出,或者精度问题(小数可能四舍五入到整数)
     */
       System.out.println((int)12.8);
            System.out.println((int)-13.5f);
​
            //自动转化类型
            char c='a';
            int d=c+1;
            System.out.println(d);
            //强制转化类型
            System.out.println((char)d);
​
            /*输出结果
            98
            b
             */
     //操作比较大数时,注意溢出问题
            //JDK7新特性,数字之间可以用下划线分割
            int money=10_0000_0000;
            int years=20;
            int total=money*years;
            long total2=money*years;
            System.out.println(total);//计算时候溢出
            System.out.println(total2);//计算乘除时类型没有转换 ,先把一个数转化为long
    System.out.println(money*(long)years);//计算乘除时需要转换一下类型 (低——>高 或者 高——>低)
​
            /*输出结果
            -1474836480
           -1474836480
           20000000000
             */
     
    }

 

 

 

posted on 2021-09-24 18:56  Java学痴  阅读(47)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3