因为JAVA的输入比输出要复杂,所以现在先来了解输出。
一、输出
我们在之前的练习中都是使用printIn,那你们知道时什么意思吗? println是print line的缩写,表示输出并换行。如果输出后不想换行,可以直接使用print()。 因为java输出的结果有时并不是我们想要的,所以我们要格式化输出。可以试用printf()可以把后面的参数格式化成指定格式。
注意书写方法:
public class Hello {
public static void main(String[] args) {
System.out.print("A,");
System.out.print("B,");
System.out.print("C.");
System.out.println(); // 换行
System.out.println("END");
// A,B,C.
// END
double d = 3.1415926;
int a = 2323;
// %是占位符, \n是换行
System.out.printf("%.2f\n", d); // 显示两位小数3.14
System.out.printf("%.4f\n", d); // 显示4位小数3.1416
System.out.printf("%.3f\n", d); // 3.142
System.out.printf("%s\n", d); // 格式化输出字符串
System.out.printf("%d", a); //
}
}
【占位符】
你已经注意到了格式话的特殊字符【%】,对的,占位符,它是干什么的呢,顾名思义就是先霸占一个位置,在执行时,再让后面跟着的参数代替该位置。如果有两个%%,后面就要跟两个参数。 上面我发现了一个问题,就是double不能直接以int形式输出,要进行类型转换,类型装换这个到后面学到讨论,不急不急。
除此之外,java还提供了很多格式化占位符:
- %d 格式化输出整数
- %x 格式化输出十六进制整数
- %f 格式化输出浮点数
- %e 格式化输出科学计数法表示的浮点数
- %s 格式化字符串
二、输入
因为输入是比较复杂的,所以这里我们需要引入一个类,试用【import】引入。 更多具体的解析都在注释中。
import java.util.Scanner;
// 引入类
public class Hello {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 读入流
System.out.println("you name?");
// 读出流
String name = scanner.nextLine();
System.out.println("you age?");
int age = scanner.nextInt();
// 打印
System.out.printf("你的名字是:%s你的年龄是:%d", name, age);
}
}
//you name?
//muimui
//you age?
//18
//你的名字是:muimui你的年龄是:18