while1. 使用循环对数字求和

让我们编写一个程序,从键盘读取数字(只要用户输入看起来像数字的东西),然后在屏幕上显示它们的总和。下面是此类程序的代码(我们只显示方法内部的代码main)。

代码 解释
Scanner console = new Scanner(System.in);
int sum = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   sum = sum + x;
}
System.out.println(sum); 
创建一个Scanner对象以从控制台读取数据。
我们将把数字的总和存储在sum变量中。
只要从控制台输入数字,

就将下一个数字读入x变量。
添加x到数字总和(sum变量)。

在屏幕上显示计算的总和。

while2. 使用循环查找最大数

我们的第二个程序也会从键盘读取数字(只要用户输入类似数字的东西),但现在我们要显示输入的数字中的最大值。下面是此类程序的代码(我们只显示方法内部的代码main)。

代码 解释
Scanner console = new Scanner(System.in);
int max = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   if (x > max)
     max = x;
}
System.out.println(max); 
创建一个Scanner对象以从控制台读取数据。
max变量将存储数字的最大值。
只要从控制台输入数字,

就将下一个数字读入x变量。
比较xmax。如果x大于max
则更新最大值。

在屏幕上显示最大数量。

这里有一个有趣的点:如果从键盘输入的所有数字都是负数,那么程序会显示0. 这是不正确的。

因此,max 变量的初始值应尽可能小。

选项1:

您可以将其设置为等于-2,000,000,000(负二十亿)。这不是一个糟糕的开始。

选项 2:

分配尽可能小的int值。为此有一个特殊的常量Integer.MIN_VALUE

选项 3:

更好的是,max使用输入的第一个数字进行初始化。这是最好的选择。但这只有在任务条件要求用户至少输入一个数字时才有效。