1、顺序结构
/**
* 顺序结构:按照代码的书写顺序从上往下依次执行
*
*/
//实训的一天
System.out.println("洗漱");
System.out.println("收拾东西");
System.out.println("吃饭");
System.out.println("实训");
System.out.println("吃午饭");
System.out.println("实训总结");
System.out.println("晚饭");
System.out.println("看电视");
System.out.println("休息");
2、Scanner
/**
* Scanner:用于接收键盘输入的数据
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入姓名:");
String name=sc.next();//接收数据
3、(选择结构)if语句
1、只有一种结果:
/**
* if语句结构:
* if(判断条件){
* 代码块;
* }
*
* 执行:
* 进入判断条件,如果符合条件(true),那么执行
* 代码块,如果不符合条件(false),那么不执行。
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入成绩:");
double scores=sc.nextDouble();
if(scores>90) {
System.out.println("优秀");
}
2、有两种结果出现:
/**
* if (条件表达式){
* 语句1;
* }else {
* 语句2;
* }
* 执行流程:
* 1、进入if后面的条件判断
* 2、如果为true,执行if里的语句1;
* 如果为false,执行else里的语句2
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个整数:");
int num=sc.nextInt();
if(num%2==0) {
System.out.println("这是一个偶数");
}
else {
System.out.println("这是一个奇数");
}
可以用 三元运算 替换为:
System.out.println(num%2==0?"偶数":"奇数");
3、有多种结果出现:
/**
* 多重if
if(条件表达式1){
* 语句1;
* }else if(条件表达式1){
* 语句2;
* }else if(条件表达式1){
* 语句3;
* }
* …
* }else {
* 语句n;
* }
*/
Scanner sc =new Scanner(System.in);
System.out.println("请输入成绩");
int score=sc.nextInt();
if(score>=90) {
System.out.println("优秀");
}else if(score<90&&score>=80) {
System.out.println("良好");
}else if(score<80&&score>=60) {
System.out.println("中等");
}else {
System.out.println("较差");
}
嵌套if:
/**
* 嵌套if:就是在一个if里面嵌套一个if
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入比赛成绩:");
double score=sc.nextDouble();
if(score<10) {
System.out.println("请输入性别");
String sex=sc.next();
if(sex.equals("男")) {
System.out.println("进入男子组");
}else {
System.out.println("进入女子组");
}
}else {
System.out.println("很遗憾,你被淘汰了");
}
4、(选择结构)switch
/**
* switch
* 语法:
* switch(表达式){
* case 常量1:
* 代码块1;
* break;
* case 常量2:
* 代码块2;
* break;
* …
* default:
* 代码块n;
* break;
* }
*
* 1、case 后面都是常量
* 2、break:可选的,如果case里面没有break,则会继续执行下一个case,
* 直到遇到break停止
* 3、case后面的常量是唯一的,也就是不可以同时出现两个case 1
* 4、default:可选的,如果加了,那么当所有的case都不满足时,则会执行
* default
*
* switch 和 if 的区别:
* 1、if会一步一步执行表达式的判断,而switch根据表达式
* 直接去找相应的case(因为case后面的是常量,不能进行逻辑判断)
* 2、什么情况下用if呢?常用于区间判断
* 什么情况下用switch呢?常用于等值判断
*
*/
if语句:
Scanner sc=new Scanner(System.in);
System.out.println("请输入排名:");
int ranking=sc.nextInt();
if(ranking==1) {
System.out.println("山东大学组织的1个月的夏令营活动");
}else if(ranking==2) {
System.out.println("惠普笔记本电脑一台");
}else if(ranking==3) {
System.out.println("2T移动硬盘一个");
}else {
System.out.println("没有任何奖励");
}
switch语句
Scanner sc=new Scanner(System.in);
System.out.println("请输入排名:");
int ranking=sc.nextInt();
switch(ranking) {
case 1:
System.out.println("山东大学组织的1个月的夏令营活动");
break;
case 2:
System.out.println("惠普笔记本电脑一台");
break;
case 3:
System.out.println("2T移动硬盘一个");
break;
default:
System.out.println("没有任何奖励");
break;
}
switch在等值判断时,与if语句相比较来说,switch的效率更高。
可以通过断点调试的方法来感受它们的效率。
可参考的经典案例:
Scanner sc=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=sc.nextInt();
switch(score/10) {
case 10://case不能进行逻辑判断,也就是不可出现&&或者||这样的符号
case 9:
System.out.println("A");
break;
case 8:
case 7:
System.out.println("B");
break;
case 6:
System.out.println("C");
break;
default:
System.out.println("D");
break;
}
5、循环结构
/**
* 什么是循环?
* 通过循环语句可以反复执行同一个操作
*
* while循环
* 语法:
* ①初始化
* while(②循环条件){
* ③循环体;
* ④累加器;
* }
* 执行流程:
* 1、加载初始化变量。 执行一次
* 2、根据循环条件进行判断②
* 如果为true,执行循环体③,执行累加器④,以此类推
* 直到循环条件不满足,结束循环。
*/
//1、初始化,创建初始化变量
int num=1 ;
//2、循环条件
while(num<=10) {
//3、循环体
System.out.println("抄课文"+num);
//4、每抄完一次,累加器加1
num++;
}