欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基本数据类型转换(详解)

程序员文章站 2024-01-13 12:00:34
【1】什么是类型转换:在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。【2】类型转换的种类:自动转换,强制转换【3】内存演示:【4】代码:public class TestVar10{ public static void main(String[] args){ //类型转换的两种形式: double d = 6;//int-->double 自动类型转换...

JAVA中,什么时候该强制类型转换?

java基本类型有8种:

  • byte,short,int ,float,char,double,boolean,long

当精度大的类型转成精度小的时,需要强制转换!

  • 比如>>>>> double d=33.33; int a=(int)d;
  • 因为d=33.33属于double类型,int类型比double类型精度小,所以精度大的类型转成精度小的时直接在可以强转如:int a=(int)d;在前面加上括号里面写上要强转的类型 如:int

(右边精度大于左边精度)
像类似这样的 double d=33.33; int a=(int)d;就需要强制转换!

【1】什么是类型转换:
在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。

【2】类型转换的种类:
自动转换,强制转换

【3】内存演示:
Java基本数据类型转换(详解)

【4】代码:

public class TestVar10{
        public static void main(String[] args){
                //类型转换的两种形式:
                double d = 6;//int-->double  自动类型转换
                System.out.println(d);
                int i = (int)6.5;//double--->int  强制类型转换 (强转)
                System.out.println(i);
                
                //在同一个表达式中,有多个数据类型的时候,应该如何处理:
                //多种数据类型参与运算的时候,整数类型,浮点类型,字符类型都可以参与运算,唯独布尔类型不可以参与运算。
                //double d2 = 12+1294L+8.5F+3.81+'a'+true;
                double d2 = 12+1294L+8.5F+3.81+'a';
                System.out.println(d2);
                /*
                类型级别:(从低到高的)
                byte,short,char-->int--->long--->float--->double
                级别用来做什么?当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后
                其余的类型都转换为当前表达式中级别最高的类型进行计算。
                double d2 = 12+1294L+8.5F+3.81+'a';
                          = 12.0+1294.0+8.5+3.81+97.0
                */
                int i2 = (int)(12+1294L+8.5F+3.81+'a');
                System.out.println(i2);
                /*
                在进行运算的时候:
                左=右  : 直接赋值
                左<右  :强转
                左>右  :直接自动转换
                */
                
                //以下情况属于特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行
                //强转了直接赋值即可。
                byte b = 12;
                System.out.println(b);
                byte b2 = (byte)270;
                System.out.println(b2);
                
                
                
        }
}

本文地址:https://blog.csdn.net/qq_31762741/article/details/109820659

相关标签: Java javase