Java 计算循环和if语句的结果

Java 计算循环和if语句的结果,java,Java,我有一个数字数组,我通过循环找到等于90或大于90的数字。我当前的代码打印每个与条件匹配的数字(它们是91、93、93、96、97),但我想计算与条件匹配的数字数量,然后打印(在本例中是5)。我将如何实现这一目标 我的代码如下: for (int i = 0; i < scores.length; i++) { if (scores[i] == 90 | scores[i] > 90) { System.out.println(scores[i]);

我有一个数字数组,我通过循环找到等于90或大于90的数字。我当前的代码打印每个与条件匹配的数字(它们是91、93、93、96、97),但我想计算与条件匹配的数字数量,然后打印(在本例中是5)。我将如何实现这一目标

我的代码如下:

for (int i = 0; i < scores.length; i++) {
    if (scores[i] == 90 | scores[i] > 90) {
        System.out.println(scores[i]);
    }
}
for(int i=0;i90){
System.out.println(分数[i]);
}
}

在循环之前,声明

int countOfScores = 0;
然后在
if
块中写入

countOfScores++;

然后可以在末尾打印出来。

声明count变量以跟踪满足给定条件的数字数量

int cnt=0;
for (int i = 0; i < scores.length; i++) {
    if (scores[i] == 90 | scores[i] > 90) {

        cnt++;
    }
 System.out.println("Count : "+cnt);
}
int cnt=0;
for(int i=0;i90){
cnt++;
}
System.out.println(“计数:+cnt”);
}
int count=0;
for(int i=0;i90){
System.out.println(分数[i]);
计数++
}
}
系统输出打印项次(计数);

试试这个

您可以将
scores[i]==90 | scores[i]>90
改写为
scores[i]>=90
谢谢!我没想到那个速记法,对。您可能也不知道布尔表达式的
|
|
之间的区别。如果使用
| |
,则如果左侧返回true,则不会计算右侧。在大多数情况下,这比使用
|
更好,后者总是对两侧进行求值。@DavidWallace,因此当我们使用
|
时,只有当左侧和右侧的求值为true时,控件才会进入内部。它是?另外,中的
|
运算符的名称是什么java@prash不,你误解我了。如果使用
|
,则如果条件的一半为真,则条件仍然为真。只是这两个都会被评估。所以
|
|
给出了相同的结果-只是
|
有时会采取只计算左侧的捷径。
int count = 0;
for (int i = 0; i < scores.length; i++) {
    if (scores[i] == 90 | scores[i] > 90) {
        System.out.println(scores[i]);
        count++
    }
}
System.out.println(count);