簡體   English   中英

在Java <= 0中是什么意思?0:1;

[英]what does mean in java <=0?0:1;

我試圖用Java理解這個程序,但是我是這種語言的新手。

你能告訴我什么嗎

<=0?0:1;

手段?

是從以下代碼中遞減的矩陣元素(tabu)

 public void decrementTabu(){
        for(int i = 0; i<tabuList.length; i++){
           for(int j = 0; j<tabuList.length; j++){
            tabuList[i][j]-=tabuList[i][j]<=0?0:1;
         } 
        }
    }

您沒有正確看操作員。

這是條件運算符?: ,它是JavaScript或Java(以及其他語言,例如C#)中唯一的三元運算符。 三元表示它具有三個參數。

本質上這是什么意思:

(condition)?(true branch):(false branch)
  param1        param2        param3

在您的代碼示例中,條件(param1)為:

tabuList[i][j]<=0

如果為true,則返回0(參數2)。 如果為false,則返回1(參數3)。

然后,通過-=運算符從tabuList[i][j]減小返回值。

整個語句:

tabuList[i][j]-=tabuList[i][j]<=0?0:1;

可以寫成:

if (tabuList[i][j] > 0)
   tabuList[i][j]--;
tabuList[i][j]-=tabuList[i][j]<=0?0:1;

可以寫成:

int tabuListEntry = tabuList[i][j];
tabuListEntry -=tabuListEntry <=0?0:1;

可以寫成:

int tabuListEntry = tabuList[i][j];
tabuListEntry = tabuListEntry - (tabuListEntry <=0?0:1);

可以寫成:

int tabuListEntry = tabuList[i][j];
int decrementAmount = tabuListEntry <=0?0:1;
tabuListEntry = tabuListEntry - decrementAmount ;

可以寫成:

int tabuListEntry = tabuList[i][j];
int decrementAmount = 0; 
if(tabuListEntry  <= 0) {
    decrementAmount = 0;
} else {
    decrementAmount = 1;
}
tabuListEntry = tabuListEntry - decrementAmount ;

可以寫成:

int tabuListEntry = tabuList[i][j];
int decrementAmount = 0; 
if(tabuListEntry  > 0) {
    decrementAmount = 1;
}
tabuListEntry = tabuListEntry - decrementAmount ;

可以寫成:

int tabuListEntry = tabuList[i][j];
if(tabuListEntry  > 0) {
    tabuListEntry = tabuListEntry - 1;
}

這就像條件一樣工作,將取“ c <= 0?0:1;”。

這意味着如果c小於或等於零,則答案為0,否則為1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM