写在前面:本人是借助两本参考书自学的,其中部分例子和语句均是来自参考书。第一本:《Java 编程指南》,[美] Budi Kurniawan 著,闫斌 贺莲 译。第二本:《第一行代码 Java 视频讲解版》,李兴华 马云涛 著
与 if 有关的语句块有三种
第一种
if语句块:
if (booleanExpression) {
statement(s);
}
若booleanExpression表达式的返回值为true,则执行statement(s),若为false,执行if语句块后的代码。
例子(来自个人文件firstestseven.java):
public class firstestseven {
public static void main(String[] args) {
boolean judge = false;
if (!judge) {
System.out.print( true );
}
}
}
输出结果为
true
在这段代码中,booleanExpression为 “ !judge ”,statement(s)为 “ System.out.print( true ) ”。变量judge赋值false,则 !judge = true,故此时booleanExpression返回值true,执行statement(s),即在屏幕上输出true。
第二种
if……else语句块:
if (booleanExpression) {
statement1(s);
} else {
statement2(s);
}
若booleanExpression表达式的返回值为true,则执行statement1(s),若为false,则执行statement2(s)。
例子(来自个人文件firstesteight.java):
public class firstesteight {
public static void main(String[] args) {
boolean determine = false;
if (determine) {
System.out.println( '对' );
} else {
System.out.println('错');
}
}
}
输出结果为:
错
这段代码里,boolean型变量determine值为false,故执行System.out.print(‘错’)。
第三种
if……elseif……else语句块:
if (booleanExpression1) {
statement1(s)
} else if (booleanExpressiong2) {
statement2(s)
} else {
statement3(s)
}
若booleanExpression1表达式的返回值为true,则执行statement1(s),若为false,则继续判断boolean表达式的返回值,若为true,则执行statement2(s),若为false,则执行statement3(s)。
例子(代码来自个人文件 firstestnine.java):
public class firstestnine {
public static void main(String[] args) {
boolean result = 5 > 7; // 5>7错误,故返回result值为false
boolean educt = 3 > 5 ; // 3>5错误,故返回educt值为false
if (result) {
System.out.println( '大' );
} else if (educt) { // result为false,故判断boolean型变量educt的值
System.out.println('小');
} else {
System.out.println('中'); // educt值为false,故执行本行代码,输出‘中’
}
}
}
输出结果为:
中
在这段代码中,result和educt为boolean型变量,值均为false。result (booleanExpression1) 返回false,忽略System.out.println( ‘大’ ) (statement1); 执行if (educt) (booleanExpression2), educt返回false,忽略System.out.println( ‘大’ ) (statement2);执行 System.out.println(‘中’) (statement3);故输出 ‘ 中 ’。
ps:
可以跟多个 else if 语句
Tips:
实际上,有时候一些大括号可以省略,但为了保持良好的编码习惯,也为了别人阅读和自己将来阅读代码时易懂,更为了防止出现不必要的悬空等问题,所以我会直接忽略掉那些简便方式,选择最基础的编码方式,这也是计算机专业的同学给出的意见嘻嘻嘻。