Java基本数据类型转换

免责说明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动

1.Java基本数据类型转换

1.1 自动类型转换

当Java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型这个就是自动类型转换

数量类型按精度大小排序为:

char<int<long<float<double

byte<short<int<long<float<double

int a='c';
double d=80

注意:

  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度最大的那种数据类型,然后再进行计算
  • 当我们把精度大的数据类型赋值给精度小的数据类型时,就会报错,反之就会进行自动类型转换
  • (byte,short)和char之间不会相互自动转换
  • byte,short,char 他们三者可以计算,在计算时首先转化为int类型

  •  boolean不参与转换
  • 当把具体数赋值给byte时,先判断该数是否在byte范围内,如果是就可以。如byte b1=10; (-128-127)
  • 如果是变量赋值,需要判断类型。如。int n2=1; byte b2=n2(报错,n2是int类型,不能自动转换为byte)
  • 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型

 1.2 强制类型转换

 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符号(),但可能造成精度降低或溢出,需要格外注意

public class demo {
    public static void main(String[] args) {
        int i=(int)1.9;
        System.out.println(i);

        int j=100;
        byte b1=(byte) j;
        System.out.println(b1);
    }
}

 说明:

  • 当进行数据的大小从大到小转换,就需要使用到强制转换
  • 强转符号()只对最近的操作数有效
  • char类型可以保存int的常量值,但是不能保存int的变量值,需要强转 int n1=2;char c2=(char)n1;
  • byte和short,char类型在进行运算时,当作int类型处理

1.3 基本数据类型和String类型的转换

在程序开发中,我们经常需要将基本数据类型转换成String类型。或者将String类型转换成基本数据类型

基本类型转String类型

语法:将基本数据类型的值+""即可

int  n1=100;
float f=1.1f;
double d=3.4;
boolean b=true;
String str1=n1+"";
String str2=f+"";
String str3=d+"";
String str4=b+"";
System.out.println(str1+" "+str2+" "+str3+" "+str4+" ");

 String类型转基本数据类型

语法:通过基本类型的包装类调用parseXX方法即可

public class demo {
    public static void main(String[] args) {
        Integer.parseInt("128");
        Double.parseDouble("68.85");
        Float.parseFloat("25.65");
        Short.parseShort("12");
        Long.parseLong("12345");
        Boolean.parseBoolean("true");
        Byte.parseByte("12");
    }
}

字符串转换成char

String s="abcd";
char c=s.charAt(0)
posted @ 2023-12-07 17:57  万溪汇海  阅读(108)  评论(0编辑  收藏  举报