【问题标题】:What would be the value of variable after executing the following statement执行以下语句后变量的值是多少
【发布时间】:2015-07-03 02:10:17
【问题描述】:

我在做 1 个 vasic java 测验时发现的这个问题有点困惑

问题是: 执行后变量c的值是多少

int c = Integer.parseInt("a");

我认为答案是 97,这是“a”的 ASCII 值

我说的对吗?

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为运行代码的简单尝试就会产生结果。
  • 但是您可以自己尝试,观察结果,然后提出一个问题如果结果不同 - 此时您的问题可以包括实际结果,以及推理你的期望。提示:首先尝试阅读Integer.parseInt(String) 的文档。
  • @JonSkeet 您不是在暗示文档实际上可能包含解释,是吗?如果它们是由互联网陌生人在 Stack Overflow 上编写的,解释不是更好吗?比创建语言的人提供的语言文档中的要好?
  • @DavidWallace 完全同意你的观点,这就是我首先接近这里的原因,因为这里的专家解释比“官方文档”更容易理解。
  • @JigarPatel 一句警告。如果你打算成为一名专业的程序员,你将不得不学习查找文档。如果您想知道运行程序时会发生什么,还可以运行程序。你的母亲并不总是会在你身边用勺子喂你早餐。

标签: java


【解决方案1】:

它会抛出一个NumberFormatException。来自Javadoc on Integer.parseInt(String s)

投掷:
NumberFormatException - 如果 String 不包含可解析的 int。

检索字符的 ASCII 值是这样完成的:

char ch='a';
System.out.println((int)ch);

【讨论】:

【解决方案2】:

当你将执行语句时-

int c = Integer.parseInt("a");
System.out.println("a="+a);

结果将在第 1 行出现异常

java.lang.NumberFormatException: For input string: "a"

要打印 ASCII 值,您只需这样做-

int c = 'a';
System.out.println("ASCII value for a: "+c);

结果是-

ASCII value for a: 97

【讨论】:

    【解决方案3】:

    int a=Integer.parseInt(String object) 将字符串参数解析为一个整数,这意味着无论传递什么字符串,都将其转换为等效的整数,比如一个实例

    int a=Integer.parseInt("123");
    

    a 保存值 123,但如果您将除整数以外的任何内容作为字符串传递,它会抛出异常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多