我正在尝试使用for循环跳过值。就像是
for (int i = 32; i <= 255 /* - but skip 128 to 159 */; i++)
{
char ascii = (char) i;
System.out.println(ascii);
}
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
if(i >= 128 && i <= 159){
// Will skip all these values.
continue;
}
Run Code Online (Sandbox Code Playgroud)
您可以continue在Java的任何循环中使用关键字,这将导致控制流跳回到直接父循环。因此,对于您而言,对于介于128和159之间的所有i值,将永远不会执行下面的代码块。或者,如果您不喜欢此解决方案,则可以编写两个for循环并排除它们之间的范围,但是,如果您希望跳过多个范围或在其上施加更具体的条件,则可以说这更易于阅读,并且具有更大的灵活性。何时跳过的值i。
如果您不想将循环分为两个循环(每个循环都有自己的范围),则可以使用Streams:
IntStream.rangeClosed(32,255)
.filter(i -> i < 128 || i > 159)
.forEach(i -> System.out.println((char) i));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |