Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #38020
| From | Robert Spanjaard <spamtrap@arumes.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Can't use block of statements as 'incrementer' in for loop? |
| Date | 2018-02-14 17:01 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <p61mgq$10r6$1@gioia.aioe.org> (permalink) |
When you create a for loop, you provide an initialisation statement, a
condition, and a continue statement. Usually this continue statement is an
incrementer or decrementer, but basically it can be any statement.
For instance, if you change Oracle's own tutorial example (*1)...
class ForDemo {
public static void main(String[] args){
for(int i=1; i<11; i++){
System.out.println("Count is: " + i);
}
}
}
...with this...
class ForDemo {
public static void main(String[] args){
for(int i=1; i<11; System.out.println("haha")){
System.out.println("Count is: " + i);
i++;
}
}
}
... it still works.
Now, the same tutorial says "A block is a group of zero or more statements
between balanced braces and can be used anywhere a single statement is
allowed." (*2)
But when I replace the single haha-printing statement with any kind of
block, the compiler produces an error message:
ForDemo.java:3: error: illegal start of expression
for (int i=1; i<11; { i++; i++; }) {
^
I must say I tried this construction purely out of curiosity, remembering
Oracle's statement about blocks being allowed anywhere instead of a single
statement, so I don't have a practical use case for it. But still I'd like
to know why it doesn't work. So, can anyone of you shed some light on this
issue? Google search doesn't really help in this case.
*1
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
*2
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html
--
Robert Spanjaard
Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread
Can't use block of statements as 'incrementer' in for loop? Robert Spanjaard <spamtrap@arumes.com> - 2018-02-14 17:01 +0100
Re: Can't use block of statements as 'incrementer' in for loop? Arne Vajhøj <arne@vajhoej.dk> - 2018-02-14 11:13 -0500
Re: Can't use block of statements as 'incrementer' in for loop? Eric Sosman <esosman@comcast-dot-net.invalid> - 2018-02-14 11:34 -0500
Re: Can't use block of statements as 'incrementer' in for loop? Eric Douglas <e.d.programmer@gmail.com> - 2018-02-14 10:57 -0800
Re: Can't use block of statements as 'incrementer' in for loop? Robert Spanjaard <spamtrap@arumes.com> - 2018-02-15 12:05 +0100
Re: Can't use block of statements as 'incrementer' in for loop? Eric Douglas <e.d.programmer@gmail.com> - 2018-02-15 04:49 -0800
csiph-web