[英]Error while declaring a variable inside for-loop along with print statement
我試圖學習for循環的工作原理,所以我編寫了這樣的代碼。
for(System.out.println("hi"),int i=0;i<5;System.out.println("yo"),i++)
{
System.out.println("teapot");
}
通過這種方式,我可以了解何時執行for循環的哪一部分。 但是我在第一行指出“ .class期望”時出現錯誤。 也許這只是意味着,我無法在第一行中聲明變量。 因此,我對其進行了重新設計,現在它可以完美運行了。
int i;
for(System.out.println("hi"),i=0;i<5;System.out.println("yo"),i++)
{
System.out.println("teapot");
}
但是我不明白為什么我不能在第一行中聲明一個變量。
基本的for循環的語法為:
BasicForStatement:
for ( [ForInit] ; [Expression] ; [ForUpdate] ) Statement
BasicForStatementNoShortIf:
for ( [ForInit] ; [Expression] ; [ForUpdate] ) StatementNoShortIf
ForInit:
StatementExpressionList
LocalVariableDeclaration
換句話說: for
的第一位可以包含語句表達式列表或局部變量聲明,但不能同時包含兩者。
System.out.println("hi")
是一個語句表達式(因為它是一個方法調用表達式); int i=0
不是語句表達式(因為它不是表達式); i=0
是一個語句表達式,因為它是一個賦值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.