2016-07-31 6 views

Antwort

5

Es ist nichts über Ganzzahlen, es ist nur, dass Sie keine Erklärung unter einer if Erklärung ohne Klammern haben können. Beachten Sie, dass es völlig sinnlos wäre, da dies bedeuten würde, dass die Deklaration lokal zu der if-Anweisung wäre, die auch eine einzelne Anweisung hätte (es bedeutet keine Klammern), was bedeutet, dass diese Deklaration niemals verwendet würde.

Um es "visual":

if (condition) instruction; 

entsprechen

if (condition) { 
    instruction; 
} 

so in Ihrem Fall

if(a < b) { 
    int c = 10; 
} 

ein sinnloser Code ist seit c nie verwendet werden . Daher macht es keinen Sinn für Java Schreiben zu ermöglichen

if(a < b) int c = 10; 

Eine if Anweisung mit Klammern Sie können Inhalte in dem Block (auch überhaupt keinen Inhalt), aber wenn Sie eine Erklärung withoutusing die deklarierte Variable, die Sie‘ Ich werde immer noch eine Warnung erhalten.

1

Ihre int c = 10; soll eine lokale Blockvariable sein. Sie können nur diese innerhalb, na ja, einen Block (oder einige Kontrollstrukturen wie for) haben, und diese Blöcke werden durch Curlies bezeichnet. Ein nackter int c = 10; ist kein Block.

+0

@Dici: danke für die Bearbeitung. Mein iPad hat keine Backticks und ich konnte meinen Entwicklungscomputer nicht benutzen. Jetzt kann ich es wieder verwenden. –

+0

Haha keine Sorgen – Dici

+0

Backticks auf einem iPad - drücken und halten Sie die einfache Anführungszeichen –

Verwandte Themen