亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

代碼&&和||的區別到底是什么,下面的代碼為什么不能正確篩選0-100的成績?

代碼&&和||的區別到底是什么,下面的代碼為什么不能正確篩選0-100的成績?

惡化石頭 2016-07-02 09:06:11
package imoocjava8_1;import java.util.Arrays;public class helloWorld {public static void main(String[] args){ int[] scores ={89,-23,64,119,52,73};//成績數組 helloWorld big3 = new helloWorld();//創建新的對象并命名為big3? ? big3.showtop(scores);//調用方法“showtop3”,并導入成績數組? ? }/*?* 功能:輸出考試成績的前三名,定義一個整型參數數組的方法,用來傳入成績數組?*/ public void showtop(int[] scores){ Arrays.sort(scores);//使用Arrays.sort()方法實現數組的排序 int num=0;//保存有效成績的數量 for(int i=scores.length-1;i>=0;i--){//倒序遍歷數組中的每一個分數 if(scores[i]<=0&&scores[i]>=100){//判斷成績的有效性 continue;//如果成績無效,則跳出本次循環,忽略此成績 } num++;//有效成績數+1 if(num>3){//判斷有效成績的數量 break;//如果成績大于3,則結束循環,準備輸出成績的前三名 } System.out.println("成績排名前三的是:"+scores[i]);} }}運行結果如下:成績排名前三的是:119成績排名前三的是:89成績排名前三的是:73
查看完整描述

5 回答

?
明漠君

TA貢獻16條經驗 獲得超6個贊

所以

if(scores[i]<=0&&scores[i]>=100){//判斷成績的有效性

是不對的,一個數字不可能既小于零又大于一百,應該用或。

查看完整回答
1 反對 回復 2016-07-02
?
漠然的笑

TA貢獻26條經驗 獲得超9個贊

你的這句 if(scores[i]<=0&&scores[i]>=100){//判斷成績的有效性 ? 這個判斷條件有問題,永遠不會走到,而且所有數都滿足正常需求,哪里有數字同時<0并且又>100的啊,這里邏輯錯了應該用|| ? 。 ? &&:表示邏輯與,表示前后2個條件必須同時滿足才可以執行判斷中的語句,||表示邏輯或,只要有一個判斷條件滿足就可以執行。同時注意&&的短路現象,就是第一個條件不滿足,后面不用看了,肯定走不到這塊判斷邏輯。還要學會 ?& 與 | 的位運算。

查看完整回答
反對 回復 2016-07-05
?
明漠君

TA貢獻16條經驗 獲得超6個贊


&&是與,||是或。

可以理解為

?(小張是學生)&&(小張是女孩)→→→→小張是女學生;

(小張是學生)||(小李是學生)→→→→小張和小李中至少有一個滿足“是學生”。

查看完整回答
反對 回復 2016-07-02
  • 5 回答
  • 0 關注
  • 2127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號