Java 如果(true)做什么?
如果(true)在这种情况下做什么? 我正在学习一个构建国际象棋引擎的教程。下面这行代码把我弄糊涂了,我不确定它到底做了什么Java 如果(true)做什么?,java,Java,如果(true)在这种情况下做什么? 我正在学习一个构建国际象棋引擎的教程。下面这行代码把我弄糊涂了,我不确定它到底做了什么 public class Knight extends Piece { private final static int[] CANDIDATE_MOVE_COORDINATES = {-17, -15, -10 , -6, 6, 10, 15, 17}; Knight(final int piecePosition, final Alliance pi
public class Knight extends Piece
{
private final static int[] CANDIDATE_MOVE_COORDINATES = {-17, -15, -10 , -6, 6, 10, 15, 17};
Knight(final int piecePosition, final Alliance pieceAlliance)
{
super(piecePosition, pieceAlliance);
}
@Override
public List<Move> calculateLegalMoves(Board board)
{
int candidateDestinationCoordinate;
final List<Move> legalMoves = new ArrayList<>();
for (final int currentCandidate : CANDIDATE_MOVE_COORDINATES)
{
candidateDestinationCoordinate = this.piecePosition + currentCandidate;
if (true)
{
final Tile candidateDestinationTile = board.getTile(candidateDestinationCoordinate);
if (!candidateDestinationTile.isTileOccupied())
{
legalMoves.add(new Move());
}
else
{
final Piece pieceAtDestination = candidateDestinationTile.getPiece();
final Alliance pieceAlliance = pieceAtDestination.getPieceAlliance();
if (this.pieceAlliance != pieceAlliance)
{
legalMoves.add(new Move());
}
}
}
}
return ImmutableList.copyOf(legalMoves);
}
}
公共类
{
私有最终静态int[]候选移动坐标={-17,-15,-10,-6,6,10,15,17};
骑士(最终整块位置,最终联盟整块联盟)
{
超级(分段位置、分段联盟);
}
@凌驾
公共列表计算器(董事会)
{
int候选测试坐标;
最终列表legalMoves=新ArrayList();
对于(最终int currentCandidate:CANDIDATE\u MOVE\u坐标)
{
candidateDestinationCoordinate=this.piecePosition+currentCandidate;
如果(真)
{
最终Tile candidateDestinationTile=board.getTile(candidateDestinationCoordinate);
如果(!CandidateDestinationFile.IstileAccounted())
{
添加(新移动());
}
其他的
{
最终工件pieceAtDestination=CandidateDestinationFile.getPiece();
最终联盟pieceAlliance=pieceAtDestination.getPieceAlliance();
if(this.pieceAlliance!=pieceAlliance)
{
添加(新移动());
}
}
}
}
返回ImmutableList.copyOf(legalMoves);
}
}
if(true)
只执行代码
你可以移除它,那不会有任何效果
if(true)可以用于在编译时停止代码执行的简单方法,只需将其更改为if(false)`。我认为这段代码if(true)
不起任何作用-它始终是“true”,因此内部的代码将始终被执行,就像if(true)
构造不存在一样。如果我错了,请纠正我,向您致以最诚挚的问候绝对没有什么。有时,在调试中使用这种方法,通过将true
切换到false
来关闭部分代码,类似于注释掉部分代码,这是唯一想到的事情。