在Java中斷言(assert)是一種用于測試和調試程序的機制。它允許程序員在代碼中插入一些斷言語句,用來檢查程序的狀態是否符合預期。
斷言語句的語法是:
assert expression;
當斷言條件(expression)為true時,程序會繼續執行下去,什么也不發生。當斷言條件為false時,程序會拋出一個AssertionError異常,并終止執行。
斷言可以用于以下幾個方面:
public void doSomething(int value) {
assert value > 0 : "Value must be positive";
// 繼續執行其他代碼
}
public int divide(int dividend, int divisor) {
assert divisor != 0 : "Divisor cannot be zero";
// 執行除法運算并返回結果
}
public class Circle {
private double radius;
public Circle(double radius) {
assert radius > 0 : "Radius must be positive";
this.radius = radius;
}
public double getArea() {
assert radius > 0 : "Radius must be positive";
return Math.PI * radius * radius;
}
}
注意:在默認情況下,Java解釋器會禁用斷言。要啟用斷言,可以使用"-ea"參數運行Java程序,例如:
java -ea MyProgram
可以使用"-da"參數禁用斷言:
java -da MyProgram