if条件语句
语句结构:
if(条件){ //判断条件是否成否成立,若成立则执行下面代码
//代码块
}
注释:if语句使用逻辑运算(&&,||)符多个条件链接起来的写法
if-else条件(多重if条件)语句
语句结构:
if(条件1){ //若满足条件1,则执行代码块1
//代码块1
}else if(条件2){ //若不满足条件1,跳到else if判断条件2是否成立,若成立执行条件2
//代码块2
}else{ //若条件1、2都不成立,则执行代码块3
//代码块3
}
注释:
1、else if{}部分可以有多个
2、else{}的部分要是没有,可以省略
嵌套if条件语句
语句结构:
if(外部条件){ //若外部条件成立,则继续执行下面代码
if(内部条件){
代码块1 //对应内部条件成立是执行该代码
}else{
代码块2 //对应为若内部条件不成立时执行该代码
}
else{ //若外部条件不成立,则调跳到else执行该行代码
代码块3
}
}
switch条件语句
语句结构:
switch(表达式){
case 常量1:
代码1;
break;
case 常量2:
代码2;
break;
...
default:
代码2;
}
问题:如何在switch循环体中跳出,执行下一条语句?
当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
代码:
switch (input) {
case 1:
System.out.println("请输入图书id");
a.setId(sc.nextInt());
System.out.println("请输入图书书名");
a.setBookName(sc.next());
System.out.println("请输入作者");
a.setAuthor(sc.next());
System.out.println("请输入图书价格");
a.setPrice(sc.nextInt());
Iterator h = book.iterator();
int flag = 0;
while (h.hasNext()) {
if (a.equals(h.next())) {
flag = 1;
System.out.println("图书馆中已有对应的图书,不用再新增该本图书");
break;
}
}
if (flag == 0) {
book.add(a);
System.out.println("图书信息已添加至图书馆系统中");
}
break;
case 2:
for (Object o : book) {
Book b = (Book) o;
System.out.println(b);
}
break;
case 3:
System.out.println("谢谢光临,欢迎下次再来");
break;
default:
break;
}
break;
} while (input <= 3 && input >= 1);
就是在default的}外面再加一个break,就可以跳出while/for循环了
备注:switch只能处理等值条件判断的情况,多重if适用处理分段的连续区间的情况,嵌套if处理条件复杂的分支情况
字符串的比较语句:
a.equals(" "),例如:sex.equals(“男”)
产生随机数0~9的方法:
int random=(int)(Math.random()*10)