Java中的进制转化和控制台输入

2014-11-24 10:16:43 · 作者: · 浏览: 4

控制台输入的方法有多种,常用的一种是使用Scanner。


[java]
import java.util.Scanner;

public class TestScanner {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int s = sc.nextInt();
System.out.println(s);
}

}

import java.util.Scanner;

public class TestScanner {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int s = sc.nextInt();
System.out.println(s);
}

}
java 底层byte,short按照32位计算(注意int类型范围也是32位)。注意: 输出byte, short的二 制形式时候, Java会自动类型转换, 字符扩展符号位. 也就是说,当你的输出


[java]
short s3=-1;
System.out.println(Integer.toBinaryString(s3));

short s3=-1;
System.out.println(Integer.toBinaryString(s3));[java] view plaincopyprint ,将输出32个1,而丌是16个1。

,将输出32个1,而丌是16个1。
实际上相当于如下代码,


[java]
short s3=-1;
int i=s3;
System.out.println(Integer.toBinaryString(s3));

short s3=-1;
int i=s3;
System.out.println(Integer.toBinaryString(s3));


效果相同,注意体会。


java中的进制转化:


[java]
public class BinDemo {
public static void main(String[] args) {
int i = 192;
System.out.println(Integer.toBinaryString(i));// 输出二进制
System.out.println(Integer.toHexString(i));// 输出16进制
i = 0xf4;// 以0X,0x开头的16进制
System.out.println(i);// 输出时默认转化为10进制
System.out.println(Integer.toHexString(i));// 输出16进制
i = 072;// 以0开头的8进制
System.out.println(i);
char ch = 'a';
char x = (char) (ch + 2);
System.out.println(x);
}

}