Java类型转换

Posted 哈呼呼haha

tags:

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

类型转换

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

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

    byte,short,char-> int -> long-> float -> double

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

  • 强制转换 (类项)变量名 高 --> 低

  • 自动转换 低-->高

注意:

  1. 不能对布尔值进行转换

  1. 不能把对象类型转换为不相干的类型

  1. 在把高容量转换到低容量的时候,强制转换

  1. 转换的时候可能存在内存溢出,或者精度问题!

public class Demo1 {
  public static void main(String[] args) {
    int money = 10_0000_0000; //JDK7新特性,数字可以用下划线分割
    int years = 20;
    int total = money*years;
    long total2 = money*years;
     
    long total3 = money*(long)years;
    System.out.println(total);//-1474836480 , 溢出
    System.out.println(total2);//-1474836480 , 默认是int,计算完成后转换为long
     
    System.out.println(total3);//20000000000 , 先把一个数转换为long
  }
}

 

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

对象不能从 DBNull 转换为其他类型。

java中把json怎么转换成数组?

(转) Java中的负数及基本类型的转型详解

无法将 java.lang.String 类型的属性值转换为所需的 java.time.LocalDateTime 类型

片段无法转换为 java.util.concurrent.Executor 错误

java 片段分割共享元素转换