【第四天】流程控制(顺序 分支 判断 选择 循环 嵌套)

复习:
1. 运算符:算术、赋值、关系、逻辑、位、三元运算符
优先级:() ! ~ ++ -- * / % + - << >> >>> 关系 逻辑 &|^ 三元 赋值

流程控制

顺序结构
指代码从上到下从左到右依次编译运行的

分支结构

判断结构
if(逻辑值){
代码块;
}
 
练习:判断一个数字是否是一个正数,如果是正数,将它输出
if(逻辑值){
Code1;
} else {
Code2;
}
 
联系:定义一个变量,判断该变量是否是5的倍数
if(逻辑值1){
Code1;
} else if(逻辑值2){
Code2;
}
...
练习:定义一个变量表示月份,输出这个月份所对应的季节 3-5春,6-8夏,9-11秋,12,1,2冬
练习:定义一个变量,输出这个变量所对应的是星期几 1-Monday 4-Thursday 7-Sunday

 

选择结构
switch(选项){
case 选项1: Code1;break;
case 选项2: Code2; break;
...
default:Code;break;
}
switch的()需要一个选项,这个选项可以是byte/short/char/int,JDK1.7开始支持使用String
如果case之后没有break结束,那么会依次向下执行后边的case,直到遇到break或者是switch执行完成
如果每个case之后都有break语句,那么case之间的顺序不影响最后结果。但是如果有一个或者多个case之后没有break,那么这个时候case之间的顺序会影响最后的结果

练习:输入一个数字表示月份,计算到这个月一共经历了多少天


2 -> 59 4-120
从控制台获取数据:
首先在类外写:import java.util.Scanner;
主函数内:
Scanner s = new Scanner(System.in);
// 获取整数
int i = s.nextInt();
// 获取小数
double d = s.nextDouble();
// 获取字符串
String str = s.nextLine();

 

练习:输入两个数字,以及一个符号,实现一个简单的四则运算的计算器
*
32
5
32 * 5 = 160

 

循环结构
while(逻辑值){
Code;
}
 
求1-n的和
1/2/3
打印100以内所有的偶数
获取一个大于等于6的偶数
循环用于完成一些重复性的操作

 

练习:
1. 打印100以内能整除3而不能整除5的数字
2. 输入一个数字,然后打印这个数字的所有的因子---n 1-n
3. 输入一个数字,然后输出这个数字是一个几位数
568-> 3 82485 ->5
4. 输入一个数字,判断这个数字是否是一个质数---除了1和本身以外没有别的因子
2 3 5 7 11 13 17 19 ...
n-> 1,n -> 2~n-1
do{
Code;
} while(逻辑值);
 
无论条件是否成立,代码块都至少要执行一次
循环的三要素:循环变量的定义,循环条件的控制,循环变量的改变
for循环
int i = 1;
while(i <= 100){
System.out.println(i);
i++;
}
 
如果变化没有规律的时候,建议使用while
如果变化比较有规律,建议使用for

 

循环的嵌套
打印
******
******
******
练习:打印九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
练习:一个循环打印九九乘法表

break和continue
break:可以用于选择和循环结构。表示终止当前的一层循环
continue:只能用于循环结构。表示跳出当前一层循环继续下次循环
break和continue支持标号形式

 

明日内容:
数组---定义,应用(数组的排序,数组元素的查找)
内存

posted @ 2018-01-04 19:37  songyao  阅读(773)  评论(0编辑  收藏  举报