java的数据类型的转换

Posted AWTGHD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的数据类型的转换相关的知识,希望对你有一定的参考价值。

一:java的数据类型转换除布尔类型boolean(不能转换)有两种:<一> 自动转换; <二> 强制转换

<一>、自动转换:就是将小的数据类型自动转换成大的数据类型。如:int与byte计算时,byte(-128~127)自动的转换成int(-2147483648~2147483647)的类型。

  0.1、基本数据类型自动转换:
              byte->short,char -> int -> long      
              float -> double
              int -> float
            long -> double
 
             记住小可转大,大转小会失去精度!!!
 
   <1> byte的转换:
       
        byte   a=120;
        byte   b=a+80;  //提示:从int类型(指:80)转换成byte的类型可能会损失精度
        System.out.println(b);
 
  <2> char 字符转换
       char id=‘a‘;  a=97
       int i=id+3;  
      System.out.println(i);  //100
  
   <3>记住int:  int 一旦达到最大值,它不会提升其类型,而是直接损失精度。
      int  id=2147483647;
      int g=id+1;
       System.out.println(g);  //-2147483648
 
     为什么会是负的-2147483648的呢?
       原因是:2147483647的二进制是:0111  1111     1111  1111     1111  1111     1111  1111
                    如果+1之后它的二进制是:1000  0000     0000  0000     0000  0000     0000  0000  转换成十进制之后:-2147483648

以上是关于java的数据类型的转换的主要内容,如果未能解决你的问题,请参考以下文章

Java数据类型自动转换的优先顺序

Java中几种常用数据类型之间转换的方法

Java中的强制类型转换是如何转换的?

java 中各种数据类型转换byte[]的方法

Java 7 (数据类型转换)

java中如何进行字符串和数据类型的转换?