类型转换(关于JAVA)

目录

前言

一、数据类型基础

数据类型分类

转换顺序

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

ASCCI表

二、数据类型转换


前言

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

一、数据类型基础

数据类型分类

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

 

转换顺序

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

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

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

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

ASCCI表

二、数据类型转换

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.整型转化为字符型

 int a=134;
//        整数类型转化为字符串类型
        String str= Integer.toString(a);
        System.out.println(str);

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

//        字符转为整型
        int b=Integer.parseInt(str);
        System.out.println(b);
//        字符直接打印为数字
        char c='2',d='m';
        System.out.println(c+" "+d);

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时,超出表示范围

7.字符转化为字符串

//        方法一:字符转为字符串
        char a='2';
        String str=Character.toString(a);
        System.out.println(str);
//        方法二:字符转为字符串
        String str1=new String(new char[]{'3'});
        System.out.println(str1);
//        方法三:字符转为字符串
        String str2=String.valueOf(a);
        System.out.println(str2);

8.String雨StringBuffer之间的转化

//        String转StringBuffer
        StringBuffer sb=new StringBuffer(new String("123"));
        sb=sb.reverse();
        System.out.println(sb);
//        StringBuffer转String
        String str=sb.toString();
        System.out.println(str+"12");

9.整型进制的相互转换

        int n=18;
//        十进制装换成二进制
        String s = Integer.toBinaryString(n);
//        十进制转换成八进制
        String s1 = Integer.toOctalString(n);
//        十进制装换成十六进制
        String s2 = Integer.toHexString(n);
//        二进制装换成十进制
        String s3 = Integer.valueOf(s, 2).toString();
//        八进制装换为十进制
        String s4 = Integer.valueOf(s1, 8).toString();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值