public class Text {
public static void main(String []args) {
String a = "a";
int i = Integer.parseInt(a);
System.out.println(i);
}
}
回答问题前请看我的文字,我是有地方不懂,不是让你们把概念再打一遍OK?
为什么会出现异常.字符串a不能转换成int类型? a不是可用ASCII码表示吗?转成工ACSII码变int变量里就得了呗.
public static void main(String []args) {
String a = "a";
int i = Integer.parseInt(a);
System.out.println(i);
}
}
回答问题前请看我的文字,我是有地方不懂,不是让你们把概念再打一遍OK?
为什么会出现异常.字符串a不能转换成int类型? a不是可用ASCII码表示吗?转成工ACSII码变int变量里就得了呗.
//弄懂这两个的区别
String a = "a"; //String 不可以强制为转换为int
char ch = 'a'; //可以强制为转换为int
//但这些其实和Integer.parseInt(a)要抛出异常关系不大
//你可以去看下Integer.parseInt源代码就知道 他要求传入的参数是我们认识上的数,
//是它自己硬性规定的,就好比你自己写的为啥要抛异常一样,是你觉得你程序的需要。
public static int parseInt(String s)
throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。 参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。
public static int parseInt(String s)
throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。
除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。
返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。 参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。
java.lang 包下
Integer类的.parseInt()