Java学习 DAY04 流程控制

键盘录入步骤:1.导包------------获取信息位置2.找到Scanner----------3.获取数据package day04;//1.导包import java.util.Scanner;/** * 键盘录入获取数据 * * 导包 * @author tarena * */public class JavaDemo1 { public static void main(String[] args) { //2.找到scanner Scann
摘要由CSDN通过智能技术生成

键盘录入

步骤:
1.导包------------获取信息位置
2.找到Scanner----------
3.获取数据

package day04;
//1.导包
import java.util.Scanner;
/**
 *   键盘录入获取数据
 *   
 *   导包
 * @author tarena
 *
 */
public class JavaDemo1 {
	public static void main(String[] args) {
		//2.找到scanner
		Scanner sc = new Scanner(System.in);
		//3.获取数据
		//int num = sc.nextInt();//获取整数
		String s = sc.nextLine();//获取一行
		System.out.println(s);
	}
}

流程控制语句

顺序结构
绝大部分代码熊上往下由左往右依次编译和执行

选择结构

if语句(三种格式的语句)
if语句格式1(提供一个选项,可能有结果可能没有结果)
if(判断条件){
语句体;
}

执行流程:
首先进行判断,如果判断结果是true执行语句体,语句体执行完毕if语句结束
false直接跳过if语句不执行

package day04;
public class IfDemo1 {
	public static void main(String[] args) {
		//衣服的价格
		int price = 1999;
		//剩余的钱
		int money = 2000;
		//进行选择判断
		//如果语句体只有一句话省略大括号不写
		if (money >= price) {
			System.out.println("不差钱,买买买!");
		}
		//
		System.out.println("家里失火了,回家。。。");
	}
}

if语句格式2(提供一个选项返回一个结果)
if(){
语句1;
}else{
语句2;
}

执行流程
先去执行判断,如果判断结果为true执行语句体1,执行完语句体1,if语句结束如果判断结果为false执行语句体2,执行完语句体2,if语句结束当if语句格式2有返回值时和三目等效转换

package day04; 
public class IfDemo2 {

	public static void main(String[] args) {
		//求两个整数最大值
		/*int a = 1;
		int b = 2;
		//选择判断
		if (a>b) {
			System.out.println(a);
		}else {
			System.out.println(b);
		}*/
  
		//求三个整数最大值
		int a = 1;
		int b = 5;
		int c = 2;
		//选择判断
		//if嵌套
		if(a>b){
			//进入这个判断说明a比b大
			if (a>c) {
				System.out.println(a);
			}else {
				System.out.println(c);
			}
		}else {
			//进入这个判断说明b比a大
			if (b>c) {
				System.out.println(b);
			}else {
				System.out.println(c);
			}
		}
	}
}

if语句格式3
if(判断条件){
语句体1;
}else if(判断条件2){
语句体2;
}

else{
语句体n+1
}

执行流程:
执行判断条件1,如果是true执行语句体1执行完毕,if语句结束如果判断结果为false执行判断条件2,如果是true执行语句体2执行完毕,if语句结束如果是fals按照上述操作继续往下执行直到所有判断条件都是false,执行else里的语句体n+1执行完毕if语句结束
测试数据:1.正确数据
2.边界数据
3.错误数据

package day04;

import java.util.Scanner;

public class IfDemo3 {
	public static void main(String[] args) {
		//提供输入召唤师的星星数返回对应的段位
		//获取星星数
		Scanner sc = new Scanner(System.in);
		int xing = sc.nextInt();
		
		//选择判断---返回对应的段位
		if(xing >= 0 && xing < 3){
			System.out.println("倔强青铜");
		}else if (xing > 3 && xing <= 10) {
			System.out.println("不屈白银");
		}else if (xing > 10 && xing <= 20) {
			System.out.println("荣耀黄金");
		}else if (xing > 20 && xing <= 30) {
			System.out.println("华贵铂金");
		}else if (xing > 30 && xing <= 90) {
			System.out.println("超凡大师");
		}else if(xing >= 90){
			System.out.println("最强王者");
		}else{
			System.out.println("亲!你的输入有误");
		}
		}
}

switch语句(列举值)

switch语句
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;

default:
语句体n+1;
break;
}

执行流程:
先去计算出表达式的值,和每个case的值进行比较,如果有相等的,执行对应的语句体,执行break语句结束。 如果没有相等的执行default里的语句体执行break语句结束。
注意:
1.case值是常量且不能重复
2.表达式值类型支持—byte、short、char、int.从jdk1.5开始支持枚举类型,从jdk1.7开始支持string类型
3.支持省略break,产生case穿透效果(输入月份返回对应的季节)
4.支持省略default(选择题)
5.结束条件(1.遇见break 2.执行到代码的最后)

package day04;
import java.util.Scanner;

public class SwitchDemo {
	public static void main(String[] args) {
		//输入整数返回对应的星期
		Scanner sc = new Scanner(System.in);
		int week = sc.nextInt();
		
		//选择匹配
		switch (week) {
		case 1:
			System.out.println("星期一");
			break;
		case 2:
			System.out.println("星期二");
			break;
		case 3:
			System.out.println("星期三");
			break;
		case 4:
			System.out.println("星期四");
			break;
		case 5:
			System.out.println("星期五");
			break;
		case 6:
			System.out.println("星期六");
			break;
		case 7:
			System.out.println("星期日");
			break;

		default:
			System.out.println("亲!你的输入有误");
			break;
		}
	}

}

switch练习:

package day04;
import java.util.Scanner;
/**
 *   选择题
 *         题干
 *         选项
 *         算分
 * @author tarena
 *
 */
public class SwitchText {

	public static void main(String[] args) {
		//题干
		System.out.println("从下列选项中选择出你最喜爱的人?");
		//选项
		System.out.println("A 苍老师");
		System.out.println("B 罗志祥");
		System.out.println("C PDD");
		System.out.println("D 古力娜扎");
		
		//录入输入的选项
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		
		//选择
		switch (s) {
		case "A":
			System.out.println("选择错误!!!  扣10分");
			break;
		case "B":
			System.out.println("选择错误!!! 扣 60分");
			break;
		case "C":
			System.out.println("选择正确!!!  加1分");
			break;
		case "D":
			System.out.println("选择错误!!!  扣10分");
			break;

		default:
			break;
		}
	}
}

循环结构

for循环、while循环、dowhile循环

for循环(循环范围确定)
格式
for(初始值;判断条件;控制条件){
循环体;
}
执行流程

先去计算出初始值,拿着初始值和判断条件进行比较如果为true执行循环体,执行控制条件改变初始值,拿着改变的初始值和判断条件进行比较,如果为true重复上述操作直到判断条件的结果值为false,则循环结束。

package day04;
public class ForDemo {

	public static void main(String[] args) {
		//打印一遍helloword
		for (int i = 0; i < 10; i++) {
			System.out.println("helloword");
		}		
	}
}

for循环练习:

package day04;

public class ForText {
	public static void main(String[] args) {
		//请在控制台输出数据1-10
		for (int i = 1; i <= 10; i++) {
			System.out.println(i);
		}
		
		//求出1-10之间数据之和
		int sum = 0;
		for (int i = 1; i <= 10; i++) {
			sum = sum + i;
		}
		System.out.println(sum);
		
		//求出1-100之间偶数和
		int sum = 0;
		for (int i = 0; i <= 100; i++) {
			if ((i & 1) == 0) {
				sum += i;
			}
		}
		System.out.println(sum);
		
		//在控制台输出所有的“水仙花数”
		//统计“水仙花数”共有多少个
		// 三位数、abc = a*a*a + b*b*b + c*c*c;
		//恒久不变的规律---任意位整数%10结果是个位
		int sum = 0;
		for (int i = 100; i < 1000; i++) {
			int a = i/100;
			int b = i/10%10;
			int c = i%10;
			if ((a*a*a + b*b*b + c*c*c) == i) {
				System.out.println(i);
				sum += 1;
			}
		}
		System.out.println("共有水仙花数:" + sum);
	}
}

while循环
格式
初始值
while(判断条件){
循环体;
控制条件;
}
执行流程:

先去计算出初始值,拿着初始值和判断条件进行比较如果为true执行循环体,执行控制条件改变初始值,拿着改变的初始值和判断条件进行比较,如果为true重复上述操作直到判断条件的结果值为false,则循环结束

package day04;

public class WhileDemo {

	public static void main(String[] args) {
		//首付
		int price = 20000 * 30;
		
		//存的钱
		int leftMoney = 0;
		
		//统计数
		int count = 0;
		
		//循环
		while (leftMoney < price) {
			//每月存钱
			leftMoney += 5500;
			//
			count ++;
		}
		//
		System.out.println(count * 1.0 / 12);
	}
}

dowhile循环(最少执行一次)
格式
初始值
do{
循环体;
控制条件;
}while(判断条件)
执行流程 :

先去计算出初始值,执行循环体,执行控制条件,拿着改变初始值和判断条件进行比较,如果为true执行循环体执行控制条件拿着改变初始值和判断条件进行比较,如果为true重复执行上述操作直到判断结果为false循环结束

package day04;
public class DoWhileDemo {

	public static void main(String[] args) {
		//打印10遍helloworld
		int i = 1;
		do {
			System.out.println("helloworld");
			i++;
		} while (i <= 10);
	}
}

三种循环的区别和联系

1.循环范围确定推荐for循环,循环范围不确定推荐while循环,最少执行一次推荐dowhile循环
2.三种循环可以等价转换
3.三种循环-----死循环
4.for循环初始值后面不能使用
循环练习:
1.打印图形

package day04;
/**
 *   //打印如下图形
 *   *****    
 *   *****
 *   *****
 *   *****
 * @author tarena
 *
 */
public class JavaDemo3 {
	public static void main(String[] args) {
		//循环嵌套
		for (int i = 1; i <= 5; i++) {//外层循环--行数
			//打印相邻的一行星星
			for (int j = 1; j <= 5; j++) {//内层循环--列数
				System.out.print("*");
			}
			//换行
			System.out.println();
		}
	}
}

2.打印九九乘法表

package day04;
/**
 *   打印九九乘法表
 * @author tarena
 *
 */
public class JavaDemo4 {
	public static void main(String[] args) {
		//打印九九乘法表
		for (int i = 1; i <= 9; i++) {//外层循环--行数
			for (int j = 1; j <= i; j++) {//内层循环--列数
				System.out.print(j + "*" + i + "=" + (i * j) + '\t');
			} 
			//换行
			System.out.println();
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值