Java 基础 - 输入和输出






4.58/5 (19投票s)
2002年9月6日
4分钟阅读

613350
本教程将为任何初学者提供开始Java编程所需的基本技能。
引言
在本教程结束时,您应该能够创建一个基本的Java程序,该程序可以请求用户的输入,对信息进行处理并显示结果。
在本教程中,我们将编写一个程序,该程序将请求用户的姓名、出生年份和当前年份。然后,它将显示用户的姓名和年龄。
Java程序的基本结构如下所示
class ClassName {
}
类名必须与文件名相同,例如。
对于我们的程序,我们将将其命名为Tut1
。我们将文件名命名为Tut1.java,因此结构将是
class Tut1{
}
在一个类中,你会发现方法。它们的结构如下所示
methodName( ){
}
你会注意到方法名后面有括号。你可以在这些括号内放置变量名,这些变量名将接收传递给方法的值。我稍后会详细讲解。
你将使用最常见的方法是“main
”方法。实际执行的类必须在类中包含此方法。但是,并非每个类都必须具有“main
”方法。main
方法的结构如下所示
public static void main(String args[])
{
}
请注意String
的大写“S”。这很重要,否则你会收到错误。
我相信有很多不同的方法可以输出文本。我将使用一种使用标准java
包的方法。
System.out.println("Welcome To My First Java Program ");
同样在这个例子中,请注意System
的大写“S”。
这段代码基本上打印一行包含在引号内的文本。像 Java 中的大多数行一样,该行以分号结尾。
如果我们将所有这些代码放在一起,它将如下所示
class Tut1 {
public static void main(String args[])
{
System.out.println("Welcome To My First Java Program");
}
}
此程序将在屏幕上输出以下内容
Welcome To My First Java Program
这是你可以编写的最基本的程序,它提供任何功能。
接下来,我们将扩展此程序以通过键盘请求用户数据。
要从键盘读取输入,我们将使用标准java
类。我们需要使用位于java.io
包中的IOException
类。
要使用此类,我们必须将java.io
包导入此类。这可以通过以下方式完成
import java.io.* ;
您可以以类似的方式导入许多其他包。
第一步是创建InputStreamReader
。格式如下
InputStreamReader varName = new InputStreamReader(System.in) ;
这将创建读取器并将其分配给变量varName
。您可以将varName
更改为您想要的任何名称,前提是您遵循变量的命名规则。
这段代码实际上是从键盘读取并将其转换为 Unicode 字符。这对我们来说不是很有用,因为我们希望信息以string
形式存在。这就是BufferedReader
的用武之地
BufferedReader varName = new BufferedReader(varName) ;
变量名的规则也适用于此处。还要注意,你不能使用相同的名称来命名InputStreamReader
和BufferedReader
。我只是为了演示目的才这样做。此外,BufferedReader
括号中的varName
必须是你的InputStreamReader
的变量名。
以下是我们将用于项目的实际代码示例
InputStreamReader istream = new InputStreamReader(System.in) ;
BufferedReader bufRead = new BufferedReader(istream) ;
注意字符的大小写和分号。
对于此示例,我们希望读取一行。你可以通过以下方式做到这一点
String firstName = bufRead.readLine();
*注意大写 L。
要从键盘读取,你还必须创建一个try catch
块
try {
}
catch (IOException err) {
}
要使用try catch
块,将读取值的代码放在try
部分中,并在catch
块中放置任何错误消息,或者在发生错误时要执行的操作。
这是我们项目的代码
try {
String firstName = bufRead.readLine();
}
catch (IOException err) {
System.out.println("Error reading line");
}
这将尝试读取输入。然后它将捕获任何IOException
错误,并在发生错误时打印出用户友好的错误。在这种情况下,错误是“Error reading line
”。
在try
块中,我们还将要求用户输入他们的名字,否则用户将不知道应该输入什么。
try {
System.out.println("Please Enter In Your First Name: ");
string firstName = bufRead.readLine();
}
catch (IOException err) {
System.out.println("Error reading line");
}
现在让我们把到目前为止的代码放在一起。
import java.io.* ;
class Tut1 {
public static void main(String args[])
{
InputStreamReader istream = new InputStreamReader(System.in) ;
BufferedReader bufRead = new BufferedReader(istream) ;
System.out.println("Welcome To My First Java Program");
try {
System.out.println("Please Enter In Your First Name: ");
String firstName = bufRead.readLine();
}
catch (IOException err) {
System.out.println("Error reading line");
}
}
}
恭喜!你现在已经编写了一个相当无用的程序。它请求信息,但什么也不做。
我们现在将在此基础代码上进行扩展。
我们还想询问用户的出生年份和当前年份
System.out.println("Please Enter In The Year You Were Born: ");
String bornYear = bufRead.readLine();
System.out.println("Please Enter In The Current Year: ");
String thisYear = bufRead.readLine();
根据这些信息,我们想计算该人的年龄。但有一个问题——你如何从另一个string
中获取一个string
。你不能,所以我们必须将string
值更改为数值。我们将使用parseInt
函数将string
值转换为Integer
值
int bYear = Integer.parseInt(bornYear);
int tYear = Integer.parseInt(thisYear);
这段代码必须放在try catch
块中。然后你可以捕获转换错误
catch(NumberFormatException err) {
System.out.println("Error Converting Number");
}
下一步是计算该人的年龄并输出所有数据
int age = tYear – bYear ;
System.out.println(“Hello “ + firstName + ". You are " + age + " years old");
最后一步是组合所有代码
import java.io.* ;
class Tut1 {
public static void main(String args[])
{
InputStreamReader istream = new InputStreamReader(System.in) ;
BufferedReader bufRead = new BufferedReader(istream) ;
System.out.println("Welcome To My First Java Program");
try {
System.out.println("Please Enter In Your First Name: ");
String firstName = bufRead.readLine();
System.out.println("Please Enter In The Year You Were Born: ");
String bornYear = bufRead.readLine();
System.out.println("Please Enter In The Current Year: ");
String thisYear = bufRead.readLine();
int bYear = Integer.parseInt(bornYear);
int tYear = Integer.parseInt(thisYear);
int age = tYear – bYear ;
System.out.println("Hello " + firstName + ".
You are " + age + " years old");
}
catch (IOException err) {
System.out.println("Error reading line");
}
catch(NumberFormatException err) {
System.out.println("Error Converting Number");
}
}
}
好了,这就是你的第一个基本的Java程序,也是我的第一个教程的结束。
如果你有兴趣学习更多我的教程,请访问我的网站www.jcroucher.com。
历史
- 2002年9月5日:初始发布