类型转换(关于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