输出
- System.out.println()
println是print line的缩写,会自动将括号中的内容转换成字符串输出,如果括号中是一个对象的话,就会自动调用toString()方法。
输出结束会换行。
调用系统类System 中的标准输出对象out 中的方法println()
print() 函数用于在屏幕上逐个字符显示文本。当屏幕上某一行没有足够空间时,文本开始在下一行显示。
使用 println() 函数停止在当前行上显示文本,即使该行还有显示空间。随后的文本将显示在下一行。
- System.out.print()
输出不换行
格式化输出:System.out.printf()
printf
和format
能够达到一模一样的效果。
事实上,在printf中直接调用了format。
String name ="盖伦";
int kill = 8;
String title = "超神";
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
System.out.printf(sentenceFormat, name, kill, title); //利用printf输出
System.out.format(sentenceFormat, name, kill, title); //利用format输出
int num = 20200;
System.out.format("%d%n", num); //直接打印数字
System.out.format("%8d%n", num); //总长度是8,默认右对齐
System.out.format("%-8d%n", num); //总长度是8,左对齐
System.out.format("%08d%n", num); //总长度是8,不够补0
System.out.format("%,8d%n", num); //千位分隔符','
System.out.format("%.2f%n", Math.PI); //小数点位数
//不同国家的千位分隔符
System.out.format(Locale.FRANCE, "%,.2f%n", Math.PI * 10000);
System.out.format(Locale.US, "%,.2f%n", Math.PI * 10000);
System.out.format(Locale.UK, "%,.2f%n", Math.PI * 10000);
输入
首先,我们通过import
语句导入java.util.Scanner
import java.util.Scanner;
然后,创建Scanner
类的对象并传入System.in
Scanner scanner = new Scanner(System.in);
System.out代表标准输出流,而System.in代表标准输入流。
直接使用System.in读取用户输入虽然是可以的,但需要更复杂的代码,而通过Scanner就可以简化后续的代码。
有了Scanner对象后,要输入字符串,使用scanner.nextLine()
;要输入整数,使用scanner.nextInt()
;要输入浮点数,使用scanner.nextFloat()
或scanner.nextDouble()
(scanner只是一个对象名,可以任起。)
String name = scanner.nextLine();
int age = scanner.nextInt();
注意:如果在通过nextInt()
读取了整数后,再接着读取字符串,读出来的是换行符,因为nextInt仅仅读取数字信息,而不会读取换行符。
所以,如果需要读取了整数后,接着读取字符串,那么就应该连续执行两次nextLine(),第一次是取走回车换行,第二次才是读取真正的字符串。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
String s = scanner.nextLine();
System.out.println("The number is:" + a);
System.out.println("The string is:" + s);
}