我是靠谱客的博主 文静秋天,这篇文章主要介绍Java的输入输出,现在分享给大家,希望可以做个参考。

Java的输出

在前面的代码中,使用了很多次 System.out.println() 来向屏幕输出一些内容。

println 是 print line 的缩写,表示输出并换行。因此,如果输出后不想换行,可以用 print()

复制代码
1
2
3
4
5
6
7
8
9
10
public class Main { 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"); } }

格式化输出

Java还提供了格式化输出的功能。为什么要格式化输出?因为计算机表示的数据不一定适合人来阅读:

复制代码
1
2
3
4
5
6
7
public class Main { public static void main(String[] args) { double d = 12900000; System.out.println(d); // 1.29E7 } }

如果要把数据显示成期望的格式,就需要使用格式化输出的功能。格式化输出使用 System.out.printf(),通过使用占位符 %printf() 可以把后面的参数格式化成指定格式:

复制代码
1
2
3
4
5
6
7
8
public class Main { public static void main(String[] args) { double d = 3.1415926; System.out.printf("%.2fn", d); // 显示两位小数3.14 System.out.printf("%.4fn", d); // 显示4位小数3.1416 } }

Java的格式化功能提供了多种占位符,可以把各种数据类型“格式化”成指定的字符串:

占位符说明
%d格式化输出整数
%x格式化输出十六进制整数
%f格式化输出浮点数
%e格式化输出科学计数法表示的浮点数
%s格式化字符串
注意,由于 % 表示占位符,因此,连续两个 %% 表示一个 % 字符本身。

占位符本身还可以有更详细的格式化参数。下面的例子把一个整数格式化成十六进制,并用0补足8位:

复制代码
1
2
3
4
5
6
7
public class Main { public static void main(String[] args) { int n = 12345000; System.out.printf("n=%d, hex=%08x", n, n); // 两个%占位符必须传入两个数 } }

Java的输入

和输出相比,Java的输入就要复杂得多。

我们先看一个从控制台读取一个字符串和一个整数的例子:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 创建Scanner对象 System.out.print("Input your name: "); // 打印提示 String name = scanner.nextLine(); // 读取一行输入并获取字符串 System.out.print("Input your age: "); // 打印提示 int age = scanner.nextInt(); // 读取一行输入并获取整数 System.out.printf("Hi, %s, you are %dn", name, age); // 格式化输出 } }

首先,需要通过 import 语句导入 java.util.Scannerimport 是导入某个类的语句,必须放到Java源代码的开头,后面我们在Java的package中会详细讲解如何使用 import

然后,创建 Scanner 对象并传入 System.inSystem.out 代表标准输出流,而 System.in 代表标准输入流。直接使用 System.in 读取用户输入虽然是可以的,但需要更复杂的代码,而通过 Scanner 就可以简化后续的代码。

有了 Scanner 对象后,要读取用户输入的字符串,使用 scanner.nextLine(),要读取用户输入的整数,使用 scanner.nextInt()Scanner 会自动转换数据类型,因此不必手动转换。

要测试输入,我们不能在线运行它,因为输入必须从命令行读取,因此,需要走编译、执行的流程:

复制代码
1
2
javac Main.java

这个程序编译时如果有警告,可以暂时忽略它,在后面学习IO的时候再详细解释。编译成功后,执行:

复制代码
1
2
3
4
5
java Main Input your name: Bob Input your age: 12 Hi, Bob, you are 12

根据提示分别输入一个字符串和整数后,我们得到了格式化的输出。

Java输入对话框

我们还可以使用Java的输入对话框 showInputDialog() 来进行输入,它是包含在:javax.swing.JOptionPane 包内的,在使用前必须进行引入。

复制代码
1
2
import javax.swing.JOptionPane;

该方法的其中一种用法如下:

JOptionPane.showInputDialog(message, initialSelectionValue)
message 表示在输入框中的提示内容
initialSelectionValue 表示默认值

Alt

复制代码
1
2
3
4
5
6
7
8
9
import javax.swing.JOptionPane; public class InputDialog { public static void main(String[] args) { String s_name; s_name = JOptionPane.showInputDialog("请输入姓名:","people"); System.out.println("欢迎" + s_name + "登录系统"); } }

值得注意,showInputDialog() 输入的数据类型为String,可以用 Integer.parseInt() 转换成 int 类型 ,Double.parseDouble() 转换为 double 类型。

最后

以上就是文静秋天最近收集整理的关于Java的输入输出的全部内容,更多相关Java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(88)

评论列表共有 0 条评论

立即
投稿
返回
顶部