流程结构
- 条件语句
当成程序中设定某一个条件满足才执行的语句
- if(条件语句)
{
代码段1
}else{
代码段2
}
条件语句执行后结果是布尔类型
条件语句要使用比较和逻辑运算符
执行过程
1.执行条件语句
2.如果条件语句结果为true,则执行if后面的代码段
3.如果条件语句结果为false,则执行else后面的代码段
import java.util.Scanner;
public class 偶数奇数 {
public static void main(String[] args) {
int number ;
// 扫描键盘输入 固定写法
Scanner sc = new Scanner(System.in);
number = sc.nextInt();
if (number%2==0) {
System.out.println(number+"是偶数");
} else {
System.out.println(number+"是奇数");
}
}
}
- if(条件语句1)
{
代码段1
}else if(条件语句2)
{
代码段2
}else if(条件语句3)
{
代码段3
}...
[ 可选
else{
代码段else
}
}
执行过程
1.执行条件语句1
2.如果条件语句1结果为true则执行代码段1,代码段1执行结束,后续的条件语句代码不再执行
3.如果条件语句1结果为false则执行条件语句2,以此类推
4.如果所有的条件语句执行结果都为false,那么执行代码段else
import java.util.Scanner;
public class 春夏秋冬 {
public static void main(String[] args) {
int month;
System.out.println("输入月份");
Scanner sc = new Scanner(System.in);
month = sc.nextInt();
if ( month>=3&&month<=5 ) {
System.out.println(month+"月是春天");
}else if ( month==6||month==7||month==8 ) {
System.out.println(month+"月是夏天");
}else if ( month>=9&&month<=11 ) {
System.out.println(month+"月是秋天");
}else if ( month==12||month==1||month==2 ) {
System.out.println(month+"月是冬天");
}else {
System.out.println("换个星球再试试");
}
}
}
// 输入三个数,按从小到大输出
import java.util.Scanner;
public class 三个数排列 {
public static void main(String[] args) {
int x,y,z,t;
Scanner a = new Scanner(System.in);
x = a.nextInt();
y = a.nextInt();
z = a.nextInt();
// x,y互换
if ( x>y ) {
t = x;
x = y;
y = t;
}
// x,z互换
if ( x>z ) {
t = x;
x = z;
z = t;
}
// y,z互换
if ( y>z ) {
t = y;
y = z;
z = t;
}
System.out.println(x+"<"+y+"<"+z);
}
}
- 循环语句
某一部分代码可以反复多次的运行
while和do while更适合循环次数不确定的场景
for循环更适合循环次数确定的场景
while实现判断条件再执行循环,do while是先执行一次在判断循环
- while(条件语句){
代码段
}
执行过程
1.执行条件语句
2.如果条件语句结果是true,则执行大括号中的代码段,执行结束后再去执行一次条件语句,依此类推,直到某一次条件语句执行结果为false,循环结束
import java.util.Scanner;
public class 存银行 {
public static void main(String[] args) {
double money;
int age,i=1;
Scanner sc=new Scanner(System.in);
System.out.println("请输入存款金额");
money = sc.nextDouble();// 等待输入
System.out.println("请输入存款年限");
age = sc.nextInt();
while ( i<=age ) {
money = money*0.0335+money;
i++;
}
System.out.println("到期后本息合计"+money);
}
}
- do{
代码段
}while(条件语句);
执行过程
1.执行代码段
2.执行条件语句
3.如果条件语句执行结果为true则再执行一次代码段,以此类推条件结果为false时 循环结束
import java.util.Random;
public class dowhile应用场景 {
public static void main(String[] args) {
int i = 1;
int p;// p的值是0 谢谢惠顾;p的数据是1 再来一瓶
// 随机数
Random r = new Random();
do {
System.out.println("畅饮一瓶老雪花*"+i);
p = r.nextInt(2);// 括号内为随机数范围
i++;
} while ( p==1 );
}
}
-
for(初始化语句;条件语句;循环后语句){
代码段
}
执行过程.png
执行过程
1.执行初始化语句(只执行一次)
2.执行条件语句
3.如果结果为true,则执行代码段
4.执行循环后语句
5.在执行条件语句,以此类推,知道某次条件语句之行为false 循环结束
public class for应用场景 {
public static void main(String[] args) {
// 猴子吃桃 一只猴子第一天摘下若干个桃子(不会做罐头)
// 当即吃了(总数量)一半 ,不过瘾又吃了一个
// 第二天重复第一天的骚操作。。。。
// 第十天的时候发现剩下一个桃子
// 计算第一天到底摘了多少桃子
// 前一天的桃子数量 = (今天的桃子数量+1)*2
int t = 1;
for (int i = 1; i < 10; i++) {
t = (t+1)*2;
}
System.out.println("猴子第一天共摘下"+t+"个桃子");
}
}
网友评论