字符转数值、数值转字符、字符串转数值以及数值转字符串

文章目录

    • 一、字符类型转换为Int类型(即字符值转化为其对应的ASCII值)
    • 二、数值转字符(即ASCII值转化为对应的字符)
    • 三、字符串转数值 (**字符必须为数值型字符**)
    • 四、数值转字符串
      • (1)data+""
      • (2) String.valueOf(value)
      • (3)Object.toString()
      • (4)(String)要转化的对象

一、字符类型转换为Int类型(即字符值转化为其对应的ASCII值)

// 将字符类型(Char)转化为Int类型(即字符值转化为其对应的ASCII值)
int aAsciiValue = 'a';
int qAsciiValue = 'q';

System.out.println(aAsciiValue);
System.out.println(qAsciiValue);

二、数值转字符(即ASCII值转化为对应的字符)

int aAsciiValue = 97;
int bAsciiValue = 98;
//将数值转化为字符(即ASCII值转化为字符)
char aChar = (char) aAsciiValue;
char bChar = (char) bAsciiValue;

System.out.println(aChar);
System.out.println(bChar);

三、字符串转数值 (字符必须为数值型字符

String str = "123";//注意:必须为数值型字符串
int str2Data = Integer.parseInt(str);

如果不是数值型字符串,则会报一个异常,例如:

String str = "hello";//非数值型字符串
int str2Data = Integer.parseInt(str);//非数值型字符串转化的时候会报异常

会报如下异常:

Exception in thread "main" java.lang.NumberFormatException: For input string: "hello"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
    ...

四、数值转字符串

数值转化为字符串的方法比较多,具体如下:

(1)data+""

data可以是任意数值类型

int intData = 199;
String intData2Str = intData + "";
System.out.println(intData2Str);

double douData = 199.99;
String douData2Str = douData + "";
System.out.println(douData2Str);

(2) String.valueOf(value)

其中 value 为任意一种数值类型。

int iData = 106;
String iData2Str = String.valueOf(iData);
System.out.println(iData2Str);

double dData = 10.02;
String dData2Str = String.valueOf(dData);
System.out.println(dData2Str);

当对象为空时,会报异常:

String str = String.valueOf(null);//报空指针异常

报如下异常:

Exception in thread "main" java.lang.NullPointerException
	at java.lang.String.(Unknown Source)
	at java.lang.String.valueOf(Unknown Source)
    ...

(3)Object.toString()

int iData = 106;
double dData = 10.02;

String iData2Str1 = Integer.valueOf(iData).toString();
String dData2Str1 = Double.valueOf(dData).toString();

注意:
(1)先要将基本类型,转换为其对应的包装类
即上述的:Integer.valueOf(iData) 和 Double.valueOf(dData)
(2)在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。

(4)(String)要转化的对象

  • 需要注意的是类型必须能转成String类型

因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。

  • 此外,需特别小心的是因定义为Object类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。
  • 此外,因null值可以强制转换为任何java类类型(String)null也是合法的

参考:
java如何将char类型的数字转换成int型的数字
Java字符串和数字间的转换

你可能感兴趣的:(Java)