【发布时间】:2012-03-13 05:42:05
【问题描述】:
如果我有以下 if 语句
if ( (row != -1) && (array[row][col] != 10) ) {
....
}
其中row 是int 值,array 是int[][] 对象。
我的问题是,如果 row = -1 会抛出异常,因为数组没有 -1 字段,那么是否会出现越界异常?或者它会在 if 的第一部分停止, (row!=-1) 并且因为那是错误的,所以它会忽略其余部分? 或者为了确保它不会抛出异常,我应该将上面的 if 语句分成两部分?
(请不要告诉我自己检查一下:)我在这里问是因为我也想问一个后续问题......)
【问题讨论】:
-
如果计算结果为假,它将在第一个条件下停止
-
Java 是一种对逻辑运算符具有短路功能的编程语言,因此它可以按您的预期工作。 VB 和 SQL 是没有此功能的语言,这意味着您必须使用不同的方法来避免越界异常。
-
它将在第一次测试时停止,而不是尝试第二次测试。
标签: java if-statement