Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果(true)做什么?_Java - Fatal编程技术网

Java 如果(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

如果(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 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
来关闭部分代码,类似于注释掉部分代码,这是唯一想到的事情。