在下面的代码中,break
语句是否仅在if
语句中或在for
循环之外?
我也需要它来摆脱循环。
for (int i = 0; i < 5; i++) {
if (i == temp)
// do something
else {
temp = i;
break;
}
}
答案 0 :(得分:20)
这会打破for循环。实际上break
只在谈论loops
时才有意义,因为它们完全与loop
分开,而continue
只会转到下一个iteration
。
答案 1 :(得分:15)
未标记的break
仅突出封闭的switch
,for
,while
或do-while
构造。它不会考虑if
个语句。
有关详细信息,请参阅http://download.oracle.com/javase/tutorial/java/nutsandbolts/branch.html。
答案 2 :(得分:7)
它也不在循环中。
您还可以使用可以突破外部循环(和任意代码块)的带标签的中断。
looplbl: for(int i=;i<;i++){
if (i == temp)
// do something
else {
temp = i;
break looplbl;
}
}
答案 3 :(得分:4)
它打破了循环,但为什么不明确地将条件放在for?中呢?它更具可读性,你不必在所有
中编写if语句(如果我= = temp然后temp = i完全没有意义)
答案 4 :(得分:2)
break
将打破任何循环。
答案 5 :(得分:2)
它总会突破循环。
答案 6 :(得分:2)
Break永远不会引用if / else语句。它仅指循环(if / while)和switch语句。
答案 7 :(得分:1)
通常App
语句会突然出现循环(export default class App extends React.Component {
constructor(props) {
super(props);
//this.handleChange = this.handleChange.bind(this)
this.handleClick = this.handleClick.bind(this);
this.state = {
rows: {}
};
}
handleClick(rowId) {
const { rows } = this.state;
this.setState({
rows: {
...rows,
[rowId]: true
}
});
}
render() {
const { rows } = this.state;
return data.map((row, index) => {
const isEditable = rows[index];
return (
<Row
row={row}
handleClick={this.handleClick}
rowId={index}
isEditable={isEditable}
/>
);
});
}
}
,break
和for
)和while
语句。
在Java中,有do...while
的两种变体。
switch
它打破了你放置标签的外环。
break
Labeled break
这是您在问题中使用的陈述。
它打破了写入循环。一般是内循环。
答案 8 :(得分:0)
它将使您脱离for循环。通常, break 语句用于优化程序的运行时间。意味着在满足给定条件时,请使用 break 语句,以便将您带出循环并忽略其余的迭代。