黑马程序员技术交流社区
标题: javaEE8期 基础班第三天 [打印本页]
作者: wuwangshan 时间: 2018-1-16 23:23
标题: javaEE8期 基础班第三天
总结下今天的知识点,记得有点多
流程控制语句
单词: Order顺序
流程控制语句分类
A:顺序结构
B:选择结构
C:循环结构
顺序结构:从上往下,依次执行
选择结构
If语句 switch语句
Switch语句
格式一:
if(关键表达式){
语句体
}
执行流程:
A:首先计算关系表达式的值,看是true还是false
B:如果是true,就执行语句体
C:如果是false 就不执行语句体
练习:
int money = 1000;
// Int a; 不可以定义,因为与下面int a作用域冲突了.
If(money>1000){ // 如果只有1条语句体,{}可以不写
int a;
System.out.println(“加个蛋”);
}
Int a; //可以定义变量
System.out.println(“煎饼果子”);
注意: 1:如果只有一个if的时候 大括号可以不写(建议还是写上);
同一个作用域中,变量名不能重复;
格式二:
if(关键表达式){
语句体1;
}else{
语句体2;
}
执行流程:
A:首先计算关系表达式的值,看是true还是false
B:如果是true,就执行语句体1
C:如果是false 就执行语句体2
案例:
判断一个数据是偶数还是奇数;
Int a = 100;
If( a%2 == 0){
System.out.println(“a是偶数”);
}else{
System.out.println(“a是奇数”);
}
练习:
boolean flag = false;
If(money>1000){
System.out.println(“加个蛋”);
}else{
System.out.println(“加菜”);
}
System.out.println(“煎饼果子”);
格式三:
if(关键表达式1){
语句体1;
}else if(关键表达式2){
语句体2;
}
.....
else{
语句体n+1;
}
执行流程:
A:首先计算关系表达式的值,看是true还是false
B:如果是true,就执行语句体1
C:如果是false 就继续执行计算关系表达式2的值,看是true还是false
D:如果是true,就执行语句体2
E:如果是false 就继续执行计算关系表达式3的值,看是true还是false
F: 当所有的关系表达式都是false的时候 就执行语句体N+1
案例
/*x>=3 y=2x+1;
-1<=x<3 y=2x;
x<=-1 y=2x-1;
根据给定义的值,计算出y的值并输出
*/
int x =3;
int y;
if(x>=3){
y = 2*x+1;
}else if(x<=-1 && x<3){
y=2*x;
}else if(x>=-1){
y =2*x-1;
}else{
y=0;
System.out.println("没有这样的x");
}
System.out.println("y的值是"+y);
练习:
1键盘录入两个数据,获取两个数据的较大值
分析:
A:键盘录入的三个步骤:导包,创建键盘录入对象, 接受数据
B:获取两个数据最大值,其实就是比较看哪个数据大
C:把大的结果输出即刻;
导包:
A:手动导包
B:点击鼠标自动生成
C:快捷键(推荐)
Ctrl+shift+0
2 键盘录入四个整数,获取这四个中最大的数,并打印
3 键盘录入学生成绩考试,请根据成绩判断学生属于哪个级别
90 -100 优秀
80 - 90 好
70 - 80 良
60 - 70 及格
60以下不及格
Switch语句
格式:
Switch(表达式){
Case 值1:
语句体1;
Break;
Case 值2:
语句体2;
Break;
......
default :
语句体n+1;
Break;
}
格式解释:
表达式: byte short int char
JDK5以后可以是枚举
JDK7以后可以是字符串
Case后面的值;就是用来和表达式的值进行匹配的内容
Break表示中断的意思
Default 当所有的值都不匹配的时候,执行default 里面的语句体
案例:
1根据键盘录入的数值1,2,3,4,5,6,7输出对应的星期一,星期二,星期三...星期日
2 选择题;
选出你喜欢的明星
A: 胡歌
B: 刘亦菲
C: 范冰冰
D: 刘德华
你喜欢的明星是:
循环体语句
循环语句的组成:
初始化语句
判断条件语句
循环体语句
控制条件语句
for循环语句的格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
A: 执行初始化
B: 执行判断条件语句,看其结果是true 还是false
如果是false 就结果循环
如果是true 就继续执行
C:执行循环体语句
D:执行控制条件语句
E: 回到B继续
案例:
在控制台输出10次”holle world”
练习:
1. 获取数据1-5和5-1;
2. 键盘录入录入1和5,打印1,2,3,4,5.录入5-1,打印5,4,3,2,1
3. 求出1-5之间数据之和
分析:
(1) 定义求和变量,初始化的值是0
(2) 获取1-5的数据,用for循环实现
(3) 把每一次获取到的数据累加到求和变量即可
(4) 输出求和变量
4. 求出1-5之间数据之和,打印结果:1+2+3+4+5=15
int sum = 0;
for(int x=1;x<=5;x++){
if(x != 5){
System.out.print(x +"+");
sum +=x;
}else{
System.out.print(x+"=");
sum +=x;
}
}
System.out.println(sum);
5. 求1-100之间的偶数和
6. 在控制台输入所有的水仙花数
水仙花数?所谓的水仙花数是一个三位数,其各位数字的立方和等于该数本身.
举例 153 就是一个水仙花数
153 = 1*1*1 + 5*5*5 + 3*3*3;
注释: 获取个位 153%10;
十位 153/10%10;
百位 153/100%10;
......
7. 1-99,个位和十位不能包含7,这个数不能被7整除
int conut=0;
` for(int x=1;x<=99;x++){
int ge = x%10;
int shi = x/10%10;
if(ge!=7 && shi != 7 && x%7 != 0){
System.out.print(x +" ");
conut++;
if(conut%7 == 0){
System.out.println();
}
}
}
while语句
while循环语句格式:
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
案例
1. 用while循环求1-100之间的和
do while循环语句格式:
初始化语句;
do{
循环体语句;
控制条件语句;
} while(判断条件语句);
三种循环的区别:
虽然三种循环可以做相同的事情,但是它们还是有区别的:
1. do..while循环至少执行一次循环体
2. For 和while 循环必须判断条件成立才可以执行循环体
案例:
1. Boss有血量1000,每次攻击递增,从1开始,求多少次能把boss打死;
2. 每次攻击递减,从1开始 打45次,求 我的总输出有多少;
3. 键盘录入一个整数判断是几位数
跳转控制语句
break :中断的意思
使用场景:
A:switch 语句中
B:循环中
作用:用于结束循环
Continue :继续的意思
使用场景:循环中
作用:结束一次循环,继续下一次的循环
案例:
键盘录入数字,当所有数字和大于100时,录入停止,并输入的数字和是多少,和输入的次数
作者: 陈文老师 时间: 2018-1-17 13:46
总结很完善!继续加油
作者: 1414225997 时间: 2018-1-18 09:56
6666666666666666
作者: xiongliu 时间: 2018-1-18 10:10
有自己的思路,不错哟
作者: 渝小妹 时间: 2018-1-21 16:56
期待你每天的进步 温故而知新
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |