编程语言
首页 > 编程语言> > 类型转换(关于JAVA)

类型转换(关于JAVA)

作者:互联网

前言

写了一下算法题,我发现有些类型转换的地方经常出错,为了更加熟悉的掌握这些练习,我总结嘞一下一些类型转换的方法,巩固一下自己的一些知识,同时方便后面的复习。

数据类型

数据类型分类

分为基本数据类型和引用数据类型,基本数据类型有数值类型(整数类型和浮点类型,整数类型即:byte,short,int,long,浮点类型即:float,double)字符型(char)布尔类型(boolean)引用数据类型有类、接口,枚举(enum)注解(Annotation)

1Byte=8bit(位)  0或1占1bit,英文字母占1bit,一个中文汉字占2bit

类型名

占用空间(bit)

取值范围

byte

8

-2E7~2E7 -1

short

16

int

32

long

64

float

32

1.4E-45~3.4E+38,-1.4E-45~-3.4E+38

double

64

转换顺序

说明:一般情况下,不同的字符之间转换是有一定的顺序的,如果你要从float转换到long,那么你必须就要进行强制转换了,但是进行强制转换会掉精度,结果会有误差

long num=(long)a; //a是一个浮点数

二进制,八进制,十六进制

二进制以0b开头,八进制是以0开头,后面没有字母,十六进制是以0X开头

数据类型转换

1.小数点保留

import java.util.*;
public class Main {
    public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       int a=sc.nextInt();
       double b=sc.nextInt();
//     保留两位小数
       System.out.println(a+"/"+String.format("%.1f",a/b)+"="+(int)b);
    }
}

2.整型转化为字符型

3.字符转化为整型(ASCCI码和数字)

4.字符串与字符数组的相互转化

 String str="Eliauk_Duobling";
//        将字符串转化为字符数组
        char[] arr1=str.toCharArray();
        System.out.println(Arrays.toString(arr1));
//      将字符数组转化为字符数串,转化为部分字符()左闭右开
        System.out.println(new String(arr1));
        System.out.println(new String(arr1,0,3));
//        字符串转化为字节数组
        byte[] arr2=str.getBytes();
        System.out.println(Arrays.toString(arr2));
//        字节数组转化为字符串
        System.out.println(new String(arr2));

5.不同进制的数字进行转换

//            十进制转化为二进制
           String a=Integer.toBinaryString(7);
//           十进制转化为八进制
           String c=Integer.toOctalString(9);
//           十进制转化为16进制
            String d=Integer.toHexString(18);

6.字符串数字(不同进制)转化为数字(十进制)

 String str="1111";
//        parseInt默认情况是转化为十进制为十进制的数
        int number=Integer.parseInt(str);
        System.out.println(number);
//        radix表示的是数字字符串当前代表的进制,下面的str当前的进制为2进制
        int number1=Integer.parseInt(str,2);
        String a=Integer.valueOf(str,2).toString();
        System.out.println(number1);
//        转化为double类型
        double number2=Double.parseDouble(str);

使用parseInt要注意带点:

str为空串、空,如:parseInt("")
str中包括空格,如:parseInt("23 ")
10进制时,s中包括字符串,如:parseInt(“a32”)
str不以-、+、数字开头、或包含字符串
str超出int允许的范围**[-2147483648,2147483647]**
其他转换基数radix时,超出表示范围

标签:类型转换,JAVA,String,System,转化,关于,str,println,out
来源: https://blog.csdn.net/Eliauk_Doubling/article/details/123467503