java if else控制语句
ResultSet rs=operate.executeQuery("select * from table1 where keyword='"+s+"'");//在table1中找
if(rs.next()){
//在table1中找到了
System.out.println("找到了");
}else{
//如果在table1中没找到,在table2中找
rs=operate.executeQuery("select * from table2 where keyword='"+s+"'");
}else{
//如果在table2中没找到,在table3中找
rs=operate.executeQuery("select * from table3 where keyword ='"+s+"'");
}else{
//如果在table1和table2中都找不到
System.out.println("都找不到");
}
请问这个怎么改,不要说把查询语句拿出来,那面只是我的简化代码,查询语句是不能拿出来的 展开
2015-10-13 · 知道合伙人软件行家
在现实中,有些时候的条件不是一个,而是一组相关的条件,例如将阿拉伯数字转换为中文大写,根据分数转换为对应的等级等,都是多条件的结构,在程序中为了 避免写多个if语句的结构,提供了一类专门的多分支语句,这就是if-else if-else语句。
1、语法结构
if(条件1)
功能代码1;
else if(条件2)
功能代码2;
else if(条件3)
功能代码3;
else
功能代码;
2、语法说明:
1)else if是else和if两个关键字,中间使用空格进行间隔。
2) 条件1到条件n都是boolean类型
3)else if语句可以有任意多句
4) 最后的else语句为可选
5)如果功能代码部分不是语句块,也就是不用大括号,就只能写一句
3、执行流程
当条件1成立时,则执行功能代码1;当条件1不成立且条件2成立时,则执行功能代码2;如果条件1、条件2都不成立且条件3成立,则执行功能代码3,依次类推,如果所有条件都不成立,则执行else语句的功能代码。
下面是一个实现根据月份的值,输出该月份包含的日期数,2月份全部输出28,不考虑闰年的示例代码:
int month = 3;
int days = 0; //日期数
if(month == 1){
days = 31;
}else if(month == 2){
days = 28;
} else if(month == 3){
days = 31;
} else if(month == 4){
days = 30;
} else if(month == 5){
days = 31;
} else if(month == 6){
days = 30;
} else if(month == 7){
days = 31;
} else if(month == 8){
days = 31;
} else if(month == 9){
days = 30;
} else if(month == 10){
days = 31;
} else if(month == 11){
days = 30;
} else if(month == 12){
days = 31;
}
System.out.println(days);
String s="你好";起码要嵌套一次分支、不清楚你的//如果在table1和table2中都找不到 不应该是1~3吗
ResultSet rs=operate.executeQuery("select * from table1 where keyword='"+s+"'");//在table1中找
if(rs.next()){
//在table1中找到了
System.out.println("找到了");
}else{
//如果在table1中没找到,在table2中找
rs=operate.executeQuery("select * from table2 where keyword='"+s+"'");
if(rs.next()){ //如果在table2中没找到,在table3中找
rs=operate.executeQuery("select * from table3 where keyword ='"+s+"'");
}else{
//如果在table1和table2中都找不到
System.out.println("都找不到");
}
}
要用 if (){} else if(){} esle if (){} esle{} 这样的格式。
而不是直接就if(){}else{}else{}
String s="你好";
ResultSet rs=operate.executeQuery("select * from table1 where keyword='"+s+"'");//在table1中找
if(rs.next()){
//在table1中找到了
System.out.println("找到了");
}else if(rs.next()){
//如果在table1中没找到,在table2中找
rs=operate.executeQuery("select * from table2 where keyword='"+s+"'");
}else if(rs.next()){
//如果在table2中没找到,在table3中找
rs=operate.executeQuery("select * from table3 where keyword ='"+s+"'");
}else{
//如果在table1和table2中都找不到
System.out.println("都找不到");
}