65.9K
CodeProject 正在变化。 阅读更多。
Home

Java 基础 - 输入和输出

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.58/5 (19投票s)

2002年9月6日

4分钟阅读

viewsIcon

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) ;

变量名的规则也适用于此处。还要注意,你不能使用相同的名称来命名InputStreamReaderBufferedReader。我只是为了演示目的才这样做。此外,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日:初始发布
© . All rights reserved.