java学习(二)——控制台输入输出

import java.util.Scanner;
public class InOutDemo
{
	public static void main(String[] args)
	{
		//通过控制台进行输入,首先要构造一个Scanner对象,并与“标准输入流”System.in关联
		Scanner input=new Scanner(System.in);

		System.out.println("***********输入**************");
		String str1=input.nextLine();		//读取输入的下一行内容
		int a=input.nextInt();				//读取下一个表示整数的字符序列
		Double b=input.nextDouble();		//读取下一个表示浮点数的字符序列
		String str2=input.next();			//读取下一个单词,以空格结束

		System.out.println("***********输出**************");
		System.out.println(input.hasNext());		//boolean hasNext()	:检测输入中是否还有其他单词
		System.out.println(input.hasNextInt());		//boolean hasNextInt()	:检测输入中是否还有表示整数的下一个字符序列。
		System.out.println(input.hasNextDouble());		//boolean hasNextDouble()	:检测输入中是否还有表示浮点数的下一个字符序列。
		
		System.out.println("str1="+str1);
		System.out.println("str2="+str2);
		System.out.println("a="+a);
		System.out.println("b="+b);

		/*格式化输出:类似C的printf()函数
			格式:%[[参数索引值$][标志]][宽度][.精度]转换字符
		*/
		/*1.转换字符:	b	布尔值
						h	散列码
						tx或Tx	时间日期
		*/
		System.out.println("***********输出**************");
		boolean b1=true;
		System.out.printf("b1=%b\n",b1);
		/*2.标志	
			(		如果是负数,将负数括在括号内,正数不变
			 ,		添加分组分隔符		
			 $		给定被格式化的参数索引,即把第几个数按什么格式输出
			 <		格式化前面说明的数值,如%d%<%x  以十六进制打印前面以%d打印的数值
		*/
		long a1=200_000_000_888_888_888L;
		System.out.printf("负数:%(f,正数:%(f\n",-345.45,345.45);
		System.out.printf("%,d\n",a1);
		System.out.printf("%2$d,%2$#x\n",109,34);
		System.out.printf("十进制:%d    十六进制:%<#x\n",34);
	}
}

运行结果
java学习(二)——控制台输入输出
其他的输出格式和C语言的printf大致相同:参考C语言-printf()函数

返回目录