import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { // System.out.println(convertToBinary(1828759744)); // //String[] A={"1","1"}; ///3 这是string数组 String A = "11000000"; // System.out.println(A.charAt(3)); ////4 返回A[2] // System.out.println(A.indexOf('5'));//3 A[3]=5,返回5的下标 // System.out.println(A.indexOf(7)); ///// 无数字7 返回-1 Test test = new Test(); System.out.println(test.convertToDecimal(A)); // System.out.println(Integer.valueOf("11000000",2));////192 // System.out.print((int)Math.pow(2, 3));////8 } private static String convertToBinary(int m) { List<Integer> list = new ArrayList<Integer>(); StringBuffer sb = new StringBuffer(); while (m / 2 != 0) { list.add(m % 2); m = m / 2; } list.add(m % 2); for (int i = list.size() - 1; i >= 0; i--) { sb.append(list.get(i)); } return sb.toString(); }// //// // char charAt(int index) // 返回指定索引处的 char 值。 // static int parseInt(String s) // 将字符串参数作为有符号的十进制整数进行解析。 //static int parseInt(String s, int radix) // 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。 // static Integer valueOf(int i) // 返回一个表示指定的 int 值的 Integer 实例。 // static Integer valueOf(String s) // 返回保存指定的 String 的值的 Integer 对象。 private int convertToDecimal(String B) { double sum = 0; for (int i = 0; i < B.length(); i++) { sum=sum+Integer.valueOf(B.charAt(i)+"")*Math.pow(2, B.length()-i-1);///valueOf(String s) 1 1 System.out.println(Integer.valueOf(B.charAt(i)+""));////valueOf(String s) // 192 // sum=sum+Integer.valueOf(B.charAt(i))*Math.pow(2, B.length()-i-1); // valueOf(int i) 49 49 // System.out.println(Integer.valueOf(B.charAt(i))); /// valueOf(int i) //12432 // sum = sum + Integer.parseInt(B.charAt(i) + "")* Math.pow(2, B.length() - i - 1);///parseInt(String s) 1 1 // System.out.println(Integer.parseInt(B.charAt(i) + ""));/// 192 // sum = sum + Integer.parseInt(B.charAt(i))* Math.pow(2, B.length() - i - 1);//Integer.parseInt(B.charAt(i))错误 } return (int) sum; } }
1 1 0 0 0 0 0 0 192-----------------------------------------------------------------------------------
private int convertToDecimal(String B) { double sum = 0; for (int i = 0; i < B.length(); i++) { // sum=sum+Integer.valueOf(B.charAt(i)+"")*Math.pow(2, B.length()-i-1);///valueOf(String s) 1 1 // System.out.println(Integer.valueOf(B.charAt(i)+""));////valueOf(String s) // 192 sum=sum+Integer.valueOf(B.charAt(i))*Math.pow(2, B.length()-i-1); // valueOf(int i) 49 49 System.out.println(Integer.valueOf(B.charAt(i))); /// valueOf(int i) //12432 // sum = sum + Integer.parseInt(B.charAt(i) + "")* Math.pow(2, B.length() - i - 1);///parseInt(String s) 1 1 // System.out.println(Integer.parseInt(B.charAt(i) + ""));/// 192 // sum = sum + Integer.parseInt(B.charAt(i))* Math.pow(2, B.length() - i - 1);//Integer.parseInt(B.charAt(i))错误 } return (int) sum; }
49 49 48 48 48 48 48 48 12432------------------------------------------------------------------------------
private int convertToDecimal(String B) { double sum = 0; for (int i = 0; i < B.length(); i++) { // sum=sum+Integer.valueOf(B.charAt(i)+"")*Math.pow(2, B.length()-i-1);///valueOf(String s) 1 1 // System.out.println(Integer.valueOf(B.charAt(i)+""));////valueOf(String s) // 192 // sum=sum+Integer.valueOf(B.charAt(i))*Math.pow(2, B.length()-i-1); // valueOf(int i) 49 49 // System.out.println(Integer.valueOf(B.charAt(i))); /// valueOf(int i) //12432 sum = sum + Integer.parseInt(B.charAt(i) + "")* Math.pow(2, B.length() - i - 1);///parseInt(String s) 1 1 System.out.println(Integer.parseInt(B.charAt(i) + ""));/// 192 // sum = sum + Integer.parseInt(B.charAt(i))* Math.pow(2, B.length() - i - 1);//Integer.parseInt(B.charAt(i))错误 } return (int) sum; }
1 1 0 0 0 0 0 0 192
可见 valueOf(....+"")构成valueOf(string),返回字符串的该位字符
valueOf(int)返回该位字符的ASCII
parseInt(....+"")构成parseInt(String)以十进制返回该位字符
</pre><p style="color:rgb(54,46,43); font-family:Arial; font-size:13.63636302947998px; line-height:25.99431800842285px"><span style="color:rgb(0,0,0)"></span></p><pre code_snippet_id="1624414" snippet_file_name="blog_20160326_8_6994607" name="code" class="java">public class Test { public static void main(String[] args) { String str = "111"; int one = Integer.parseInt(str); int two = Integer.valueOf(str); ////处理这个字符串时没有区别 int one_1 = Integer.parseInt(str+""); ///// 本身已经是sring类型,再加""也是string,且null的ascii为0,不起作用 int two_1 = Integer.valueOf(str+""); // static Integer valueOf(int i) // 返回一个表示指定的 int 值的 Integer 实例。 // static Integer valueOf(String s) // 返回保存指定的 String 的值的 Integer 对象。 for (int i = 0; i < str.length(); i++) { System.out.println(Integer.valueOf(str.charAt(i) + "")); System.out.println(Integer.valueOf(str.charAt(i))); } int three = Integer.valueOf(str.charAt(0) + "");// /1 int four = Integer.valueOf(str.charAt(0));// /49 System.out.println(one); System.out.println(two); System.out.println(one_1); System.out.println(two_1); System.out.println(three); System.out.println(four); } } //1 //49 //1 //49 //1 //49 //111 //111 //111 //111 //1 //49
int p = Integer.valueOf(2); System.out.println(p); ///2 int q = Integer.valueOf(2+""); System.out.println(q); ///2 int k = Integer.valueOf('2'); ///char -> int ,向上转型,按照Ascii输出, System.out.println(k); ////50 int r = Integer.valueOf('2'+""); System.out.println(r); ////2 int m = Integer.valueOf('2'-'0'); System.out.println(m);///2 int n = Integer.valueOf("1"); ////String原样输出 System.out.print(n);////1
设有下面两个赋值语句:
a = Integer.parseInt(“123”);
b = Integer.valueOf(“123”).intValue();
下述说法正确的是( d )。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
详细解析:
parseInt(String s )方法是类Integer的静态方法,它的作用就是将形参 s 转化为整数,比如:
Interger.parseInt("1")=1;
Integer.parseInt("20")=20;
Integer.parseInt("324")=324;
当然,s 表示的整数必须合法,不然是会抛异常的。
int |
intValue() 以 int 类型返回该 Integer 的值。 |