千锋学习day04 day05分支结构

选择分支结构

概念:根据已知条件进行逻辑判断,满足条件后执行相应操作。

基本if选择结构

语法:

if(布尔表达式){
	//代码块
}

执行流程:

  • 对布尔表达式进行判断
  • 结果为true,则先执行代码块,再执行后续代码
  • 结果为false,则跳过跳过代码块,直接执行后续代码
package com.zcs.lession04.Demo;
/**
 * 
 * 基本if选择结构
 * 
 * */
import java.util.Scanner;

public class Demo11 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("手机响了,起床吗(1.起床,其他选择继续睡)");
		int chose = input.nextInt();
		// chose == 1
		// boolean flag = chose == 1;
		// if基本选择结构
		if (chose == 1) {
			// true
			System.out.println("今天要上课了赶紧起来");
		}

		System.out.println("程序结束");
	}
}

if else 选择结构

语法:

if(布尔表达式){
	//代码块1
}else{
	//代码块2
}

执行流程:

  • 对布尔表达式进行判断。
  • 结果为true,则先执行代码块1,再退出整个结构,执行后续代码。
  • 结果为false,则先执行代码块2,再退出整个结构,执行后续代码
package com.zcs.lession04.Demo;

import java.util.Scanner;
/**
 * if-else 结构
 * */
public class Demo12 {
	public static void main(String args) {
		Scanner input = new Scanner(System.in);
		
		//输入多少钱
		System.out.println("输入支付宝有多少钱");
		//moeny >= 100 喝稀饭	喝凉水
		int money = input.nextInt();
		//判断
		if(money>=100) {
			System.out.println("哥是个有钱人,喝稀饭");
		}else {
			System.out.println("哥是个穷鬼,喝凉水");
		}
		
		System.out.println("程序结束");
	}
}

多重if选择结构

语法:

if(布尔表达式1){
	//代码块1
}else if(布尔表达式2){
	//代码块2
}else if(布尔表达式3){
	//代码块3
}else{
	//代码块4
}
package com.zcs.lession04.Demo;
/**
 * 
 * 多重if选择结构
 * 
 * */
import java.util.Scanner;
public class Demo13 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入购车预算");
		//int	单位为w
		int money = input.nextInt();
		//判断
		if(money>100) {
			System.out.println("有钱人购买奔驰S级");
		}else if(money>50) {
			System.out.println("有钱人购买宝马5系");
		}else if(money>10) {
			System.out.println("一般人购买比亚迪宋");
		}else{
			System.out.println("没有10万是吧,你去买个凤凰牌自行车");
		}
		System.out.println("程序结束");
	}
}

package com.zcs.lession04.demo;

public class Demo5 {
	public static void main(String[] args) {
		int money = 100;
		
		//多重if
		if(money >= 500) {
			System.out.println("你是个有钱人");
		}else if(money >= 100){
			System.out.println("你是个有点钱的人");
		}else if(money >= 50){
			System.out.println("你是个穷人");
		}else if(money >= 10){
			System.out.println("你是个穷鬼");
		}else {
			System.out.println("你是个富有财富精神的人");
		}
		
		//多个if
		if(money >= 500) {
			System.out.println("你是个有钱人");
		}
		if(money >= 100) {
			System.out.println("你是个有点钱的人");
		}
		if(money >= 50) {
			System.out.println("你是个穷人");
		}
		if(money >= 10) {
			System.out.println("你是个穷鬼");
		}
		if(money < 10) {
			System.out.println("你是个富有财富精神的人");
		}
	}
}

嵌套if选择结构

语法:

if(外层循环表达式){
	if(内层循环表达式){
		//内层代码块1
	}else{
		//内层代码块2
	}
}else{
	//外层代码块
}

执行流程:

当外层条件满足时,再判断内层条件

注意:

  • 一个选择结构中,可嵌套另一个选择结构。

  • 嵌套格式正确的情况下,支持任意组合。

内层循环控制行,外层循环控制列

分支结构

等值判断

语法:

switch(变量|表达式){    case1:        逻辑代码1;    case2:        逻辑代码2;    case 值n:        逻辑代码n;    default:        未满足时的逻辑代码;}

可判断的类型: byte、short、int 、char、String(JDK7之后加入)

执行流程:

  • 如果变量中的值等于值1,则执行逻辑代码1;
  • 如果变量中的值等于值2,则执行逻辑代码2;
  • 如果变量中的值等于值n,则执行逻辑代码n;
  • 如果变量中的值没有匹配的case值时,执行default中的逻辑代码。

注意当匹配case执行后,不会自动退出整个结构,而是向下执行

break关键字可在匹配的case执行后,跳出整个结构

适用等值判断

package com.zcs.lession04.demo;/** * switch 分支结构 *  */public class Demo1 {	public static void main(String[] args) {		String money = "哇哈哈";		// 分支结构		switch (money) {		case "a":			System.out.println("1万");			break;		case "2":			System.out.println("2万");			break;		case "c":			System.out.println("3万");			break;		case "4":			System.out.println("4万");			break;		default:			System.out.println("哈也不是");		}		System.out.println("======================");		// 多重if		if (money.equals("a")) {			System.out.println("1万");		} else if (money.equals("2")) {			System.out.println("2万");		} else if (money.equals("c")) {			System.out.println("3万");		} else if (money.equals("4")) {			System.out.println("4万");		} else {			System.out.println("啥也不是");		}	}}
package com.zcs.lession04.demo;import java.util.Scanner;/** * 公司季度财务报告 * */public class Demo2 {	public static void main(String[] args) {		Scanner input = new Scanner(System.in);		System.out.println("大佬你要的是那个季度的财务报告啊(1~12)");		int chose = input.nextInt();		switch(chose) {		case 1 :		case 2 :		case 3 :			System.out.println("第一季度的财务报告");			break;		case 4 :		case 5 :		case 6 :			System.out.println("第二季度的财务报告");			break;		case 7 :		case 8 :		case 9 :			System.out.println("第三季度的财务报告");			break;		case 10 :		case 11 :		case 12 :			System.out.println("第四季度的财务报告");			break;		default:			System.out.println("大佬该去医院看脑子了");		}		}}
package com.zcs.lession04.demo;import java.util.Scanner;public class Demo3 {	public static void main(String[] args) {		Scanner input = new Scanner(System.in);		System.out.println("请输入数字");		int num = input.nextInt();		switch(num) {		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("该去看脑子了");		}	}}
package com.zcs.lession04.demo;import java.util.Scanner;/** * xxx学员管理系统的菜单栏目 *  * */public class Demo4 {	public static void main(String[] args) {		System.out.println("*****************************欢迎使用xxx学员管理系统*************************");		System.out.println("1.查询学员数据\t2.新增学员数据\t3.修改学员数据\t4.删除学员数据\t5.录入学员成绩\t6.退出系统");		System.out.println("******************************请输入你要执行的操作***************************");		Scanner input = new Scanner(System.in);		int chose = input.nextInt();		switch(chose) {		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("88了您勒");			break;		default:			System.out.println("真心祝您身体健康");			break;		}		}}

局部变量

概念:声明在方法内部的变量,必须先赋值再使用

作用范围:定义行开始到所在代码块结束

注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)

总结

  • 基本if选择结构

    if(){

    }

  • if else选择结构

    if(){

    }else{

    }

  • 多重if选择结构

    if(){

    }else if(){

    }else if(){

    }else{}

  • 嵌套if选择结构

    if(){

    if(){

    }}

  • switch分支结构

    switch(){

    case1:

    ​ break;

    case2:

    ​ break;

    default

    }

  • 局部变量

    声明在方法内部的变量,必须先赋值再使用

作业

选择分支结构的作业

基础作业

package com.zcs.work04;

//1.导入util工具包中的Scanner类
import java.util.Scanner;

/**
 * 输入张三的Java成绩,大于80分,全部鼓掌
 */
public class Demo1 {
	public static void main(String[] args) {
		// 2.声明一个Scanner类型的变量
		Scanner input = new Scanner(System.in);
		// 3.输入提示 请输入一个JAVA成绩:
		System.out.println("请输入一个JAVA成绩:");
		// 4.定义一个double类型的变量 接收键盘输入
		double score = input.nextInt();
		// 5.判断score是否大于80
		if (score > 80) {
			// 判断结果为true 输出 全班鼓掌!!!
			System.out.println("全班鼓掌!!!");
		}
		// 判断结果为false 输出 程序结束
		System.out.println("程序结束!!");
	}
}

package com.zcs.work04;

//1、导入java.util包下的Scanner类
import java.util.Scanner;

public class Demo2 {
	public static void main(String[] args) {
		// 2、声明一个Scanner类型的变量 input
		Scanner input = new Scanner(System.in);
		// 3、输入提示 输入一个Java成绩:
		System.out.println("输入一个Java成绩:");
		// 4、定义一个double类型的变量 接收键盘输入
		double javaScore = input.nextDouble();

		// 3、输入提示 输入一个php成绩:
		System.out.println("输入一个php成绩:");
		// 4、定义一个double类型的变量 接收键盘输入
		double phpScore = input.nextDouble();
		// 5、判断 java成绩和php成绩是否都是80分以上
		if (javaScore > 80 && phpScore > 80) {
			// 判断结果为true 输出全班鼓掌!!!
			System.out.println("全班鼓掌!!!");
		} else {
			// 判断结果为false 输出鼓励张三继续努力
			System.out.println("鼓励张三继续努力!");
		}
		System.out.println("程序结束!");
	}
}

package com.zcs.work04;
//1、导入包
import java.util.Scanner;
public class Demo3 {
	public static void main(String[] args) {
		//2、声明变量
		Scanner input = new Scanner(System.in);
		//3、提示输入
		System.out.println("请输入考试成绩进行测评:");
		//4、接收控制台输入
		double score = input.nextDouble();
		//5、判断 
		if(score >= 80) {
			//成绩大于80
			System.out.println("考试成绩良好");
		}else if (score >= 60 ) {
			//成绩 小于80 大于等于60
			System.out.println("考试成绩中等");
		}else {
			//成绩 小于60
			System.out.println("考试成绩不合格,多加努力");
		}
		System.out.println("程序结束");
	}
}

package com.zcs.work04;

//1、导包
import java.util.Scanner;

public class Demo4 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入一个赛跑成绩:");
		// 4、接收控制台输入
		double score = input.nextDouble();
		// 5、判断 有没有进入决赛
		if (score < 10) {
			// 成绩 小于10秒 进入决赛
			System.out.println("进入总决赛,请输入性别");
			// 接收一个字符串
			String sex = input.next();
			if (sex.equals("男")) {			
				// true 男性
				System.out.println("进入男子组决赛");
			} else {
				// false 女性
				System.out.println("进入女子组决赛");
			}
		} else {
			// 成绩 大于10秒 没有进入决赛淘汰
			System.out.println("很遗憾成绩没有进入总决赛淘汰!");
		}
		System.out.println("程序结束");
	}
}

package com.zcs.work04;
//1、导包
import java.util.Scanner;
public class Demo5 {
	public static void main(String[] args) {
		//2、声明变量
		Scanner input = new Scanner(System.in);
		//3、提示输入购物积分
		System.out.println("输入您的购物积分:");
		//4、接收控制台输入
		int integral = input.nextInt();
		//3、提示输入购物金额
		System.out.println("输入您的购物金额:");
		//4、接收控制台输入
		double num1 = input.nextDouble();
		//声明一个double 类型的变量 方便进行循环内的运算
		double num2 = 0.0;
		//5、判断 购物积分
		if(integral < 2000) {
			/*
			 * 积分小于2000
			 * 购物金额打九折
			 * 结账余额 num2 保存 打折后的余额
			 * */
			num2 = num1 * 0.9;
			System.out.println("您的结账余额为:"+num2);
		}else if(integral <= 4000) {
			// 购物积分 大于2000 小于等于4000 打八折
			num2 = num1 * 0.8;
			System.out.println("您的结账余额为:"+num2);
		}else if(integral < 8000) {
			// 购物积分 大于4000 小于等于8000 打七折
			num2 = num1 * 0.7;
			System.out.println("您的结账余额为:"+num2);
		}else{
			// 购物积分 大于8000  打六折
			num2 = num1 * 0.6;
			System.out.println("您的结账余额为:"+num2);
		}
		System.out.println("程序结束");
	}
}

package com.zcs.work04;
//1、导包
import java.util.Scanner;

public class Demo6 {
	public static void main(String[] args) {
		//2、声明变量
		Scanner input = new Scanner(System.in);
		//3、提示输入
		System.out.println("输入数字(1~7之内的数字)");
		//4、接收键盘的值
		int num = input.nextInt();
		//5、判断
		switch(num) {
			case 1:
				//num为1	匹配	case 1
				System.out.println("今天星期一");
				break;	//break 跳出switch判断
			case 2:
				//num为2	匹配	case 2
				System.out.println("今天星期二");
				break;
			case 3:
				//num为3	匹配	case 3
				System.out.println("今天星期三");
				break;
			case 4:
				//num为4匹配	case 5
				System.out.println("今天星期四");
				break;
			case 5:
				//num为5	匹配	case 5
				System.out.println("今天星期五");
				break;
			case 6:
				//num为6	匹配	case 6
				System.out.println("今天星期六");
				break;
			case 7:
				//num为7	匹配	case 7
				System.out.println("今天星期天");
				break;
			default:	//输入了小于1或者大于7的数字提示错误
				System.out.println("输入了一个不符合规范的数字");
		}
		
		System.out.println("程序结束!!");
	}
}

package com.zcs.work04;

//1、导入包
import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		// 2、创建Scanner变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入一个成绩:");
		// 4、接收数据
		double score = input.nextDouble();
		// 5、判断输入的分数是否满分 score == 100
		if (score == 100) {
			System.out.println("成绩满分!!!");
		}
		// 6、 程序结束
		System.out.println("程序结束");
	}

}

package com.zcs.work04;

//1、导入包
import java.util.Scanner;

public class Test2 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入一个成绩:");
		// 4、接收数据
		double score = input.nextDouble();
		// 5、判断
		if (score == 100) {
			// score 为 100 的时候成绩满分
			System.out.println("成绩满分!!");
		} else {
			// score 不为100 时 输出成绩不为满分加油
			System.out.println("成绩不为满分加油");
		}

		System.out.println("程序结束");
	}

}

package com.zcs.work04;

//1、导入包
import java.util.Scanner;

public class Test3 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入你有多少万金额");
		// 4、接收数据
		double money = input.nextDouble();
		// 5、判断
		if (money > 100) {
			// money 大于100万时 推荐购买奔驰S级
			System.out.println("推荐您购买奔驰S级");
		} else if (money > 50) {
			// money 小于等于100万 大于50万 推荐购买宝马5系
			System.out.println("推荐您购买宝马5系");
		} else if (money > 10) {
			// money 小于等于50万 大于10万 推荐购买奥迪A4L
			System.out.println("推荐您购买奥迪A4L");
		} else if (money < 10) {
			// money 小于10万时 推荐购买捷安特自行车
			System.out.println("推荐您购买捷安特自行车");
		}
		System.out.println("程序结束");
	}
}

package com.zcs.work04;

//1、导入包
import java.util.Scanner;

public class Test4 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("输入百米赛跑的成绩:");
		// 4、接收数据
		double score = input.nextDouble();
		// 5、判断
		if (score < 10) {
			// 当成绩小于 10秒时 进入总决赛
			System.out.println("恭喜您,进入总决赛!!");
			// 3、提示输入
			System.out.println("请输入性别:");
			// 4、接收数据
			char sex = input.next().charAt(0);
			// 5、判断sex 是否为 男
			if (sex == '男') {
				// 如果为true 进入男子组决赛
				System.out.println("进入男子组决赛");
			} else {
				// 如果为false 进入女子组决赛
				System.out.println("进入女子组决赛");
			}
		} else {
			// 当成绩大于等于10秒时,很遗憾被淘汰
			System.out.println("很遗憾被淘汰!!");
		}
		System.out.println("程序结束");
	}
}

package com.zcs.work04;

//1、导入包
import java.util.Scanner;

public class Test5 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入金额");
		// 4、接收数据
		double money = input.nextDouble();
		// 5、判断
		if (money >= 100) {
			// 当金额大于等于100 的时候坐车上学
			System.out.println("坐车上学");
			if (money < 1000) {
				// 金额小于1000 滴滴拼车
				System.out.println("滴滴拼车!");
			} else {
				// 金额大于等于1000 曹操专车
				System.out.println("曹操专车!");
			}
		} else {
			// 当金额小于100时 没钱就走路
			System.out.println("没钱就走路");
		}
		System.out.println("程序结束");
	}
}

package com.zcs.work04;
//1、导包
import java.util.Scanner;

public class Test6 {
	public static void main(String[] args) {
		//2、声明变量
		Scanner input = new Scanner(System.in);
		//3、提示输入
		System.out.println("输入数字");
		//4、接收键盘的值
		int num = input.nextInt();
		//5、判断
		switch(num) {
			case 1:
				//num为1	匹配	case 1
				System.out.println("今天星期一");
				break;	//break 跳出switch判断
			case 2:
				//num为2	匹配	case 2
				System.out.println("今天星期二");
				break;
			case 3:
				//num为3	匹配	case 3
				System.out.println("今天星期三");
				break;
			case 4:
				//num为4匹配	case 5
				System.out.println("今天星期四");
				break;
			case 5:
				//num为5	匹配	case 5
				System.out.println("今天星期五");
				break;
			case 6:
				//num为6	匹配	case 6
				System.out.println("今天星期六");
				break;
			case 7:
				//num为7	匹配	case 7
				System.out.println("今天星期天");
				break;
			default:	//输入了小于1或者大于7的数字提示错误
				System.out.println("输入了一个错误的日期");
		}
		
		System.out.println("程序结束!!");
	}
}

分支结构的额外作业

package practice04;

//1、导包
import java.util.Scanner;

/*
 * 1、输入本月的收入,
 * 如果超过10000,输出:今晚去吃红鼎豆捞
 * 如果超过5000,输出:今晚去吃海陆空
 * 如果超过3000,输出:今晚去吃大排档
 * 否则输出:家里还有泡面吗
 * */
public class Demo1 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入 本月收入
		System.out.println("请输入本月的收入:");
		// 4、接收 输入的数值
		double salary = input.nextDouble();
		// 5、判断 本月收入
		if (salary > 10000) {
			// 超过 10000 今晚去吃红鼎豆捞!
			System.out.println("今晚去吃红鼎豆捞!");
		} else if (salary > 5000) {
			// 超过5000 小于10000 今晚去吃海陆空!
			System.out.println("今晚去吃海陆空!");
		} else if (salary > 3000) {
			// 超过3000 小于5000 今晚去吃大排档
			System.out.println("今晚去吃大排档!");
		} else {
			// 小于等于3000 家里还有泡面吗~
			System.out.println("家里还有泡面吗~");
		}
		System.out.println("程序结束...");
	}
}

package practice04;

//1、导入包
import java.util.Scanner;

/*
 * 2、输入年份,判断其是否闰年。
 *	解题思路 :
 *	(1) 输入年份
 *	(2) 通过闰年的条件能被4整除,但不能被100整除;或能被400整除,判断年份是否时闰年。
 *	(3) 输出结果。
 * */
public class Demo2 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入一个年份:");
		// 4、接收数据
		int month = input.nextInt();
		// 5、判断 能被4整除,但不能被100整除;或能被400整除
		if ((month % 4 == 0 && month % 100 != 0 )|| month % 400 == 0) {
			System.out.println(month + "是闰年");
		} else {
			System.out.println("不是闰年");
		}
		System.out.println("程序结束...");
	}

}

package practice04;

//1、导入包
import java.util.Scanner;

/*
 * 4、自动售货机输入要买的商品编号
 * 编号为1,输出:你要买的是可乐
 * 编号为2,输出:你要买的是雪碧
 * 编号为3,输出:你要买的是绿茶
 * 编号为4,输出:你要买的是矿泉水
 * 编号为5,输出:你要买的是冰红茶
 * 否则输出:你要买的商品不存在
 * */
public class Demo3 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入商品编号:");
		// 4、接收数据
		int num = input.nextInt();
		/*
		 * 5、判断 switch 判断(1~5)则可以输出商品 不在范围内则输出你要买的商品不存在
		 */
		switch (num) {
		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;
		default:
			System.out.println("你要的商品不存在");
			break;
		}
		System.out.println("程序结束...");
	}

}

package practice04;
//1、导入包
import java.util.Scanner;
/*
 * 5、的士起步价(2公里以内)为7元,超过2公里的按照每公里3元计算。要求根据路程计算费用。
 * 解题思路:
 *(1) 输入路程
 *(2) 根据条件计算费用
 *(3) 输出费用。
 * */
public class Demo4 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("输入的士驾驶的路程:");
		// 4、接收数据
		double road = input.nextDouble();
		// 5、判断
		if(road < 2) {
			//当路程小于 2 公里时输出 7元
			System.out.println("2公里内费用是7元");
		}else {
			/*
			 * 当路程大于等2公里时	先用路程减去起步价的路程
			 * 剩下的路程乘3	的结果再加上起步价的价格
			*/
			road = road - 2; 
			double money = road * 3 + 7;
			System.out.println("坐的士的费用为:"+money);
		}
		System.out.println("程序结束...");
	}
}

package practice04;

//1、导入包
import java.util.Scanner;

/*
 * 根据性别和体重计算输血量。女性体重不超过50kg的输血量为200毫升,否则250毫升;男性不超过60kg的输血量为250毫升,否则300毫升。
 * 解题思路 :
 *(1) 输入性别。
 *(2) 输入体重。
 *(3) 女性体重不超过50kg的输血量为200毫升,否则250毫升;男性不超过60kg的输血量为250毫升,否则300毫升。
 *(4) 输出结果。
 * */
public class Demo5 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入性别:");
		// 4、接收数据
		char sex = input.next().charAt(0);
		// 5、判断
		if (sex == '女') {
			// 3、提示输入
			System.out.println("请输入体重:");
			// 4、接收数据
			int weight = input.nextInt();
			//5、判断
			if (weight <= 50) {
				// 当性别为女 体重小于等于50 输血量为200毫升
				System.out.println("输血量为200毫升");
			} else {
				// 当性别为女 体重大于50 输血量为250毫升
				System.out.println("输血量为250毫升");
			}
		} else {
			// 3、提示输入
			System.out.println("请输入体重:");
			// 4、接收数据
			int weight = input.nextInt();
			//5、判断
			if (weight <= 60) {
				// 当性别为男 体重小于等于60 输血量为250毫升
				System.out.println("输血量为250毫升");
			} else {
				// 当性别为男 体重大于60 输血量为300毫升
				System.out.println("输血量为300毫升");
			}
		}
		System.out.println("程序结束...");
	}
}

package practice04;

//1、导入包
import java.util.Scanner;

/*
 * 四则运算器
 * 题目要求:要求操作符和两个操作数,执行相应的四则运算。
 * 解题思路 :
 *(1) 输入要进行运算的符号 + - * /
 *(2)输入要运算的2个数值
 *(3)根据 + - * / 判断做 2个数的对饮运算
 * */
public class Demo6 {
	public static void main(String[] args) {
		// 2、声明变量
		Scanner input = new Scanner(System.in);
		// 3、提示输入
		System.out.println("请输入第一个操作数:");
		// 4、接收数据
		double num1 = input.nextDouble();
		// 3、提示输入
		System.out.println("请输入第二个操作数:");
		// 3、提示输入
		double num2 = input.nextDouble();
		// 3、提示输入
		System.out.println("请输入(+、-、*、/)操作符:");
		// 3、提示输入
		String s = input.next();
		// 5、判断
//		if (s.equals("+")) {
//			// equals()判断为 + 时进行加法运算
//			System.out.println("进行加法运算");
//			System.out.println("结果为:" + (num1 + num2));
//		} else if (s.equals("-")) {
//			// equals()判断为 - 时进行减法运算
//			System.out.println("进行减法运算");
//			System.out.println("结果为:" + (num1 - num2));
//		} else if (s.equals("*")) {
//			// equals()判断为 * 时进行乘法运算
//			System.out.println("进行乘法运算");
//			System.out.println("结果为:" + (num1 * num2));
//		} else if (s.equals("/")) {
//			// equals()判断为 / 时进行除法运算
//			System.out.println("进行除法运算");
//			System.out.println("结果为:" + (num1 / num2));
//		} else {
//			// 当输入的操作符不是(+、-、*、/)时 提示输入的操作符有误
//			System.out.println("输入的操作符有误请重新运行");
//		}
		
		switch(s) {
		case "+":
			System.out.println(num1+"+"+num1+"="+(num1+num2));
			break;
		case "-":
			System.out.println(num1+"-"+num2+"="+(num1-num2));
			break;
		case "*":
			System.out.println(num1+"*"+num2+"="+(num1*num2));
			break;
		case "/":
			System.out.println(num1+"/"+num2+"="+(num1/num2));
			break;
		default:
			System.out.println("不好意思,您输入的操作符有误");
		}
		System.out.println("程序结束...");
	}
}

package practice04;

/*
 * 使用循环和if,输出1-100,
 * 除开所有7的数值,
 * 如果7,17,27,37
 * 这些,还有7的倍数7,14,21
 * 都不输出
 * */
public class Demo7 {
	public static void main(String[] args) {

		int ge = 0;
		int shi = 0;
		for (int i = 1; i <= 100; i++) {
			ge = i % 10; // int类型的ge保存个位
			shi = i / 10 % 10; // int类型的shi保存十位
			/*
			 * 当个位 == 7 或者 十位 == 7 或者是 7的倍数时 用continue 跳过本次循环
			 */
			if (ge == 7 || shi == 7 || i % 7 == 0) {
				continue;
			}
			System.out.println(i);
		}
	}
}

循环的作业

package practice05;
/*
 * 一球从100米高度自由落下,每次落地后反跳回原来高度的一半;
 * 再落下,求它在第10次落地时,从经过了多少米?
 * 第十次反弹多高
 * */
public class Demo1 {
	public static void main(String[] args) {
		//第一次球下落的高度
		double num1 = 100;
		//用来计算球 来回反弹 的路程
		double num2 = 0;
		//循环
		for(int i = 1;  i <= 10; i++) {
			//计算保存 球每次到原来高度一半 的距离
			 num1 = num1/2;
			 //输出提醒
			System.out.println("第" + i + "反弹的高度:" + num1+"米");
			// 将 球来回反弹的距离 进行求和
			num2 = num2 + 2*num1;
		}
		//球来回反弹的距离加上第一次球下落的高度
		System.out.println("球经过了"+(num2+100)+"米");
	}
}

package practice05;
/*
 * 
 * 求整数1~100的累加值,但要求跳过所以个位数为3的数
 * */
public class Demo2 {
	public static void main(String[] args) {
		//循环初始条件
		int num1 = 1;
		//用于求和的变量
		int sum = 0;
		//循环
		while(num1 <= 100) {
			//判断
			if(num1%10 != 3) {
				//将所以个位数不为3的进行求和操作
				sum=sum+num1;
			}
			//迭代操作
			num1++;
		}
		//输出1~100个位数不为3的数的累加和
		System.out.println("跳过个位数为3的1~100的累加和:"+sum);
	}

}

package practice05;
/*
 * 1~100找出能被5或6整除,但不能被两者同时整除的数
 * */
public class Demo3 {
	public static void main(String[] args) {
		//循环初始条件
		int num1 = 1;
		//用于求和的变量
		int sum = 0;
		//循环
		while(num1 <= 100 ) {
			//判断 所以能被 5 或者	能被6整除的所以数字
			if( num1%5 ==0 || num1% 6== 0 ) {
				//判断 所以能被5并且能被6整除的数字	进行取反判断 除去这些数字
				if(!(num1%5 == 0 && num1%6 == 0)) {
				//循环操作
				System.out.println(num1);
				}
			}
			//循环增量
			num1++;
		}
	}
}

package practice05;

import java.util.Scanner;

public class Demo4 {
	public static void main(String[] args) {
		//声明Scanner 变量
		Scanner input = new Scanner(System.in);
		//定义一个int类型的随机数	Math.random()-> 0~0.9999999..之间的随机数
		int number =(int)(Math.random()*100)+1;
		//写一个死循环 判断
		while(true) {
		//提示输入
		System.out.println("请输入一个数字:");
		//接收键盘输入的值
		int num1 = input.nextInt();
			//判断输入的值 如果等于 则跳出死循环
			if(num1 == number) {
				System.out.println("恭喜您猜对了!");
				break;
				//如果输入的值小于随机数 跳过本次循环
			}else if(num1 > number) {
				System.out.println("抱歉您猜大了!");
				continue;
				//如果输入的值大于随机数 跳过本次循环
			}else{
				System.out.println("抱歉您猜小了!");
				continue;
			}
		}
	}
}

package practice05;

import java.util.Scanner;

/*
 * 猜拳	人和电脑分别出	剪刀(1)、石头(2)、布(3)
 * 直到人战胜电脑,游戏结束;
 * */
public class Demo5 {
	public static void main(String[] args) {
		//定义一个 flag = true 用来死循环
		boolean flag = true;
		//声明Scanner 变量
		Scanner input = new Scanner(System.in);
		//提示 输入
		System.out.println("开始猜拳!");
		//死循环
		do {
			//接收 键盘输入的值
			System.out.println("请输入出的东西(1、石头 2、剪刀 3、布)");
			int people = input.nextInt();
			//产生随机数	因为随机数在 死循环里	所以每一次的值都不一样
			int number = (int) (Math.random() * 3) + 1;
			
			if (people>0 &&people<=3){
				//输入的数与随机数相等	平局
				if (people == number) {
					System.out.println("平局!");
					//按照1、剪刀	2、石头	3、布 的规则进行让玩家胜利的条件判断
				} else if (people == 1 && number == 3 || people == 2 && number == 1 || people == 3 && number == 1) {
					System.out.println("玩家胜利!");
					flag = false;
					//除了 平局	和电脑胜利其他都是玩家胜利
				} else {
					System.out.println("电脑胜利!");
				}
			}else {
				//if判断 必须输入0~3之间的数字	 		//可以省略不写
				System.out.println("输入错误,请重新输入!!");
				//让死循环继续
				flag = true;
			}
		} while (flag);
		System.out.println("程序结束...");
	}
}

package practice05;

/*
 * 
 * 3、输出100~1000的所有末尾为8的数字。(可扩展,100-1000里面所有有8的都输出)
 * 解题思路 :
 * (1) 先获取各位数(i%10)即可获取个数的数据,在判断是否为8
 * (2)输出符合条件的数据
 * */
public class Demo6 {
	public static void main(String[] args) {
		//循环
		for (int i = 1; i <= 1000; i++) {
			//取出所有个位
			int ge = i % 10;
			//判断 个位的数字是否为8
			if (ge == 8) {
				//是8则输出
				System.out.println(i);
			}
		}
		System.out.println("===================");

		for (int i = 1; i <= 1000; i++) {
			//取出所有百位、十位、个位
			int bai = i / 100 % 10;
			int shi = i / 10 % 10;
			int ge = i % 10;
			//判断所有	 百位为8或者十位为8或者个位为8的数
			if (bai == 8 || shi == 8 || ge == 8) {
				//输出判断的结果
				System.out.println(i);
			}
		}

	}

}

package practice05;

/*
 * 使用循环和if,输出1-100,除开所有7的数值,
 * 如果7,17,27,37这些,
 * 还有7的倍数7,14,21都不输出
 * 
 * */
public class Demo7 {
	public static void main(String[] args) {
		//循环判断
		for (int i = 1; i <= 100; i++) {
			//取出所有		十位、个位、
			int ge = i % 10;
			int shi = i / 10 % 10;
			//个位为7或者十位为7或者 是7的倍数判断出 然后进行取反操作
			if (!(ge == 7 || shi == 7 || i % 7 == 0)) {
				//输出			和昨天的最后一题一样 但是今天的用了取反操作 昨天用了continue关键字
				System.out.println(i);
			}
		}
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值