一、选择结构
1、普通的选择结构
可以处理单一或组合条件的情况
public class Xue2{
public static void main(String[] args) {
String name="张三";
//控制台分别输入张三和张浩得成绩
Scanner input=new Scanner(System.in);
System.out.println("请输入张三的java成绩:");
double score1=input.nextDouble();
System.out.println("请输入张浩的music成绩:");
double score2=input.nextDouble();
System.out.println("张浩的java成绩是:"+score1);
System.out.println("张浩的music成绩是:"+score2);
if ((score1>90)&&(score2>80)||((score1==100)&&(score2>70))){
//条件满足走这边
System.out.println("奖励iphone6s一部!");
}else{
//条件不满足走else中的代码
System.out.println("无任何奖励!");
}
}
2、多重if结构
可以处理分段的条件分支情况(即在单一条件的基础上追加了多个分支)
public class Xue2{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入成绩:");
double score=input.nextDouble();
if (score>=95){
System.out.println("优秀!");
}else if(score>=80){
System.out.println("良好!");
}else if (score>=60){
System.out.println("中等!");
}else{
System.out.println("差!");
}
}
}
3、嵌套if结构
可以处理复杂的条件分支情况(简单套娃)
public class Xue2{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入比赛成绩:");
double score=input.nextDouble();
if (score<10){
System.out.println("你的比赛成绩是:"+score+"\n"+"恭喜进入决赛,请输入性别(男/女):");
String sex=input.next();
if (sex.equals("男")){
System.out.println("恭喜进入男子组决赛!");
}else if(sex.equals("女")){
System.out.println("恭喜进入女子组决赛!");
}else{
System.out.println("性别输入不正确,请重新输入!");
}
}else{
System.out.println("很遗憾,你未能进入决赛!");
}
}
}
4、switch结构
只能处理等值判断,场景特定;
public class Xue2{
public static void main(String[] args) {
String name="唐嫣";
//控制台输入比赛名次
Scanner input=new Scanner(System.in);
System.out.println("请输入名次:");
int mingCi=input.nextInt();
switch (mingCi){
case 1:
System.out.println(name+"麻省理工夏令营一个月!");
//switch结构中最值得注意的就是break千万不能忘记 ;
break;
case 2:
System.out.println(name+"惠普笔记本一台");
break;
case 3:
System.out.println(name+"移动硬盘一份!");
break;
//其他名次 不在前三名没有奖励
default:
System.out.println(name+"很遗憾!" + "\n没有任何奖励!");
break;
}
}
}
二、循环结构
1、while循环
条件不满足时,一次都不执行(while 循环:先判断,再执行)
String ispass = null;
while(!isPass.equals("y")){
Scanner input=new Scanner(System.in);
System.out.println("请输入是否通过考试y/n");
String isPass=input.next();
//若没有通过就一直循环下去,直到考试通过才会
inPass=input.next();
}
2、do-while循环
条件不满足时至少执行一次(先执行再判断)
String ispass = null;
do{
Scanner input=new Scanner(System.in);
System.out.println("请输入是否通过考试y/n");
String isPass=input.next();
}while(!ispass.equals("y"));
3、for 循环
(for循环:先判断,再执行;循环次数确定的情况,通常选用for循环)
int s = 0;
for(int=1;i<=100;i++){
//0~100的整数求和
s+= i;
if(i == 100)
System.out.println(s);
}
4、其他
(1)break语句
跳出当前循环或switch结构
代表终结,必须在一定条件基础上,同结构体代码中,break下方一般没有其他代码执行break时,不会执行for 循环变量的改变语句。
(2)continue语句
跳过当前循环之后的代码一次
执行continue时,不会影响for 循环变量的改变语句。
(3)程序调试(debug)
设置断点
单步运行
观察变量
(4)return
跳出方法;或者返回值;
如果用在for循环内无论几层都会直接跳出循环所在的方法;