语法如下:
if(布尔表达式){
语句序列
}
①布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值。可以只是一个布尔值变量或者常量,也可以是使用关系或布尔运算符的表达式。
②语句序列:可选参数。可以是一条或多条语句,当表达式的值为true时执行这些语句。若语句序列中仅有一条语句,则可以省略条件语句中的“{}”,但为了增强程序的可读性最好不要省略。
例如:语句中只有一条语句,实例代码如下:
int a = 100;
if(a == 100)
System.out.println("a的值是100");
条件语句后的语句序列省略时,则可以保留外面的大括号,也可以省略大括号。然后再末尾添加“;”。
例如:省略了if条件表达式中的语句序列,实例代码如下:
boolean b = false;
if(b);
boolean b = false;
if(b){
}
例如:在项目中创建类Getif,在主方法中定义整形变量。使用条件语句判断两个变量的大小来决定输出结果。
public class Getif {
//创建类
public static void main(String args[]) {
//主方法
int x = 45; //声明int型变量x,并赋给初值
int y = 12; //声明int型变量y,并赋给初值
if(x > y){
//判断x是否大于y
System.out.println("变量x大于变量y"); //如果条件成立,输出的信息
}
if(x < y){
//判断x是否小于y
System.out.println("变量x小于变量y"); //如果条件成立,输出的信息
}
}
}
if…else 语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。
语法如下:
if(表达式){
若干语句
}
else{
若干语句
}
例如:在项目中创建类Getifelse,在主方法中定义变量,并通过使用if…else语句判断变量的值来决定输出结果。
public class Getifelse {
//创建类
public static void main(String args[]) {
//主方法
int math = 95; //声明int型变量 math 并赋初值
int english = 56; //声明int型变量english并赋值
if(math > 60){
//使用if语句判断math值是否大于60
System.out.println("数学及格了"); //条件成立时输出信息
}else{
System.out.println("数学没有及格"); //条件不成立时输出信息
}
if(english > 60){
//使用if语句判断english值是否大于60
System.out.println("英语及格了"); //条件成立时输出信息
}else{
System.out.println("英语没有及格"); //条件不成立时输出信息
}
}
}
if…else语句可以使用三元运算符进行简化。如:
if(a > 0)
b = a;
else
b = -a;
//可以简写成:
b = a > 0?a:-a;
if…else if多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”。
语法如下:
if(条件表达式1){
语句序列1
}else if(条件表达式2){
语句序列2
}
...
else if(条件表达式n){
语句序列n
}
①条件表达式1~条件表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为boolean类型。
②语句序列:可以是一条或多条语句,当条件表达式1的值为true时,执行语句序列1;当条件表达式2的值为true时,执行语句序列2,以此类推。
例如:在项目中创建类GetTerm,在主方法中定义变量x,使用if…else if多分支语句通过判断x的值决定输出结果。
public class GetTerm {
//创建类
public static void main(String args[]) {
//主方法
int x = 20; //声明int型局部变量x
if (x > 30){
//判断变量x是否大于30
System.out.println("a的值大于30"); //条件成立时输出的信息
}else if (x > 10){
//判断变量x是否大于10
System.out.println("a的值大于10,但小于30"); //条件成立时输出的信息
}else if (x > 0){
//判断变量x是否大于0
System.out.println("a的值大于0,但小于10"); //条件成立时输出的信息
}else{
//当以上条件都不成立时
System.out.println("a的值小于0"); //输出信息
}
}
}
if语句只执行条件为真的语句,其他语句都不会执行。
在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检测,以此类推。
例如:使用if语句检测变量是否符合某个条件,代码如下:
if(grade == 'A'){
System.out.println("真棒");
}
if(grade == 'b'){
System.out.println("做的不错");
}
这个程序显得比较笨重,在java中,可以使用switch语句将动作组织起来,以一个简单明了的方式实现“多选一”的选择。
switch(表达式)
{
case 常量值 1:
语句块 1
[break;]
...
case 常量值 n:
语句块 n
[break;]
default:
语句块 n+1;
[break;]
}
switch语句中表达式的值必须是整形、字符型或字符串类型,常量值1~n必须也是整形、字符型或字符串类型。
switch语句首先计算表达式的值,如果表达式的值和某个case语句后面的常量值相同,则执行该case语句后的若干个语句直到遇到break语句为止
此时,如果该case语句中没有break语句,将继续执行后面case中的若干语句,直到遇到break语句为止。
若没有一个常量的值与表达式的值相同,则继续执行default后面的语句。
default语句为可选的,如果它不存在,且switch语句中的表达式的值不与任何case的常量相同,switch则不做任何处理。
例如:要通过switch语句根据字符串str的值,输出不同的提示信息可以使用下面的代码。
String str = '明日科技';
switch(str){
case "明日": //定义case语句中的常量1
System.out.println("明日图书网www.mingribook.com"); //输出信息
break;
case "明日科技": //定义case语句中的常量2
System.out.println("吉林省明日科技有限公司"); //输出信息
break;
default: //default语句
System.out.println("以上条件都不是。") //输出信息
}
同一个switch语句,case的常量值必须互不相同。
例如:在项目中创建类GetSwitch,在主方法中应用switch语句将周一到周三的英文单词打印出来。
public class GetSwitch {
//创建类
public static void main(String args[]) {
//主方法
int week = 2; //定义int型变量week,并赋给初值
switch (week) {
//指定switch语句的表达式为变量week
case 1: //定义case语句中的常量为1
System.out.println("Monday"); //输出信息
break;
case 2: //定义case语句中的常量为2
System.out.println("Tuseday"); //输出信息
break;
case 3: //定义case语句中的常量为3
System.out.println("Wednesday"); //输出信息
break;
default: //default语句
System.out.println("Sorry,I don't Know");
}
}
}
在switch语句中,case语句后常量表达式的值可以为整数,但绝对不可以是实数。