Java 类型输入输出与转化方式
1.Java中八种数据类型输入输出方式(1)输入方式 创建Scanner对象(2)输出的不同格式* 格式化输出方式:System.out.printf("%?",变量名)* 不换行输出方式:System.out.print(变量名)* 自动换行输出方式:System.out.println(变量名)2.在线编程用到的输入结束的判断 hasnext-()3.整数与浮点数(强制类型转化)4.字符、整型、字符串类型转化方式(1)int 转化为 char 类型(2)char 转化为 int 类型(3)int 转化为 String 类型(4)String 转化为 int 类型(5)String 转化为 char 类型(6)char 转化为 String 类型
======================================================================================
1.Java中八种数据类型输入输出方式
(1)输入方式 创建Scanner对象
Scanner:一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。借助此类,可以允许用户从System.in读取一个数据传给创建的该数据类型;
Scanner分隔符模式将输入传给令牌,默认情况下匹配空格。
然后可以使用各种next()方法将得到的令牌转换成不同类型的值。public class CinPrint {
public static void main(String[] args
) {
Scanner sc
=new Scanner(System.in
);
byte b
=sc
.nextByte();
short s
=sc
.nextShort();
int i
=sc
.nextInt();
long l
=sc
.nextLong();
float f
=sc
.nextFloat();
double d
=sc
.nextDouble();
char c
=sc
.next().charAt(0);
boolean n
=sc
.nextBoolean();
String s1
=sc
.next(); //读取输入一个字符串(不含空格)
String s2
=sc
.nextLine(); //读取输入一行字符串(可以含空字符)
sc
.close(); //结束读取,关闭扫描
System.out
.println(b
);
System.out
.println(s
);
System.out
.println(i
);
System.out
.println(f
);
System.out
.println(d
);
System.out
.println(c
);
System.out
.println(n
);
System.out
.println(s1
);
System.out
.println(s2
);
}
}
//
一次可从键盘多个输入,并正确输出,因为扫描一旦开始,截至close()关闭扫描,可以一直读取多个数据,默认以空格分隔;
// 对于s1、s2的区别 ,如果输入的字符串中含有空字符,最终读取的只有空字符前的字符串给s1;而s2 的nextLine()方法可以读取包括空字符的字符串;


//扫描仪也可以从自定义内容输入,以别的分隔符分割,通过不同的next()方法读取,并输出:public class CinPrint {
public static void main(String[] args
) {
String input
= "1 fish 2 fish red fish blue fish";
Scanner s
= new Scanner(input
).useDelimiter("\\s*fish\\s*");
System.out
.println(s
.nextInt());
System.out
.println(s
.nextInt());
System.out
.println(s
.next());
System.out
.println(s
.next());
s
.close();
}
}
// 上述代码 以空格finsh空格作为分隔符,输出结果如下:

详细信息、更多方法可在Java帮助文档中查看

(2)输出的不同格式
* 格式化输出方式:System.out.printf("%?",变量名)
标识符含义%c输出单个字符%d十进制整数%f十进制浮点数%s字符串%bboolean类型%o八进制%x十六进制%%仅输出百分号%另外,在格式化输出时,可以借助转义字符进行限制,比如 制表符’\t’,换行符’\n’Java中的转义字符与c语言中用法相同 转义字符表查看链接
int a
=12;
double d
=2.12324;
System.out
.printf("%x\n",a
);
System.out
.printf("%f\t",(float)a
);
System.out
.printf("%.02f",d
); //对浮点型数据 使其保留两位小数输出

* 不换行输出方式:System.out.print(变量名)
// 虽然该输出方式不会自动换行,但可以通过 +"\n" 进行换行;//也可以通过 +“字符/字符串” 混合输出结果;

* 自动换行输出方式:System.out.println(变量名)
// 该输出方法同样可以混合输出,可以实现数据加法+(参与运算,注意整形提升、强制类型转化);还可以连接多个字符串或字符或数字;

2.在线编程用到的输入结束的判断 hasnext-()
Java帮助文档中有很多针对不同类型的方法判断输入的结束;

例:
Scanner sc
=new Scanner(System.in
);
while(sc
.hasNextInt()){
//如果没有扫描到下一个输入的int值 返回false;
int num
=sc
.nextInt();
String ss
=String.valueOf(num
);
System.out
.println(ss
);
}
while(sc
.hasNextLine()){
String str
=sc
.nextLine();
int n
=Integer.parseInt(str
);
System.out
.println(n
);
}

3.整数与浮点数(强制类型转化)
** // 直接赋值:取值范围小的数据类型数据 可以赋值给 取值范围更大的数据类型数据;
** // 强制类型转化:取值范围大的数据类型数据(数值需