zoukankan      html  css  js  c++  java
  • interger.parseint(x)和(int)浅析

    看如下代码。

    class test02
    {
    public static void main(String[] args)
    {
    char  s2='a';
    String s1="12";
    double x=Double.parseDouble(s1);
    int y=(int)s2;//Integer.parseInt(s2);
    System.out.println(x+y);
    }
    }

    结果是109.0
    如果使用Integer.parseInt(s2);
    却会报错

    但是下面的代码
    class test02
    {
    public static void main(String[] args)
    {
    String s1="0.5",s2="12";
    double x=Double.parseDouble(s1);
    int y=Integer.parseInt(s2);//(int)s2;
    System.out.println(x+y);
    }
    }
    输出结果是12.5 使用(int)就会报错这是为什么呢


    首先我们来看看parseint()的参数是怎么定义的

    static int parseInt(String s) 
              将字符串参数作为有符号的十进制整数进行分析。 
    static int parseInt(String s, int radix) 
              使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

    所以chars是字符型不能够用parseint()方法。

    然而大家不是问(int)x怎么可以把一个不是本身就不是Int的数据强制转为Int呢,在java中char是可以强制转为int的,转过来是ASCII   比如a就是97

    而第二个本来就是string所以直接interger.parseint成int就好了

  • 相关阅读:
    python基础4
    python的基础数据类型和编码
    python的if语句和while循环
    java特殊运算符
    深入理解java集合
    python常用模块
    python函数的参数问题
    集合关系之间的运算
    集合
    可变类型与不可变类型
  • 原文地址:https://www.cnblogs.com/zhuzihan/p/8993768.html
Copyright © 2011-2022 走看看