自学java之两个分支结构的使用、练习和注意 那么今年过去多少天了呢?

目录

 

一、分支结构:if-else 

练习程序1:从键盘输入小明的成绩,按要求输出获得的奖励

练习程序2:有键盘输入变量num1,num2,num3,对他们进行排序(使用if-else  if-else)并且从小到大输出

练习程序3:一只狗,出生的前两年每年相当于人的10.5岁,之后一年是4岁编写一个程序,要求输入数据,算出狗狗相当于多大

小知识:如何获取一个随机数:10 - 99

联系程序4、在用布尔型时,不填true或者false的方法:引用equals("");就行   而且时在条件语句中使用,此时接收的类型就是String

二、分支结构:switch-case  

转换-案例      case后面只能放常量 

练习程序1:输入0123根据case的设定输出值

练习程序2:学生成绩大于60,输出”合格“,低于60,输出”不合格“

    更优解

练习程序3:输入某年的year、month和day输出是今年的第几天      判断是否是闰年的标准是:能被4整除不能被100整除或者是能被400整除

 三、感想:今天是2021.10.19所以算了一下今年居然已经过去292天了。看来我的学习速度太慢了。加油!


一、分支结构:if-else 
 

导包:import java.util.Scanner;
实例化:Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();

说明:1、if-else结构是可以相互嵌套的
           2、如果if-else结构中的执行语句只有一行时,对应的{}可以省略,但是不建议省略
           3、else结构是可选的,可以没有,没有的话执行就是一行空白
      
注意:if的条件就是布尔型,所以if(80<score<90);这种不能写。因为80.90是int型
      
    错误为: 二元运算符 '<=' 的操作数类型错误, 
            }else if(80<score<=99){
            第一个类型:  boolean
            第二个类型: int

练习程序1:从键盘输入小明的成绩,按要求输出获得的奖励

import java.util.Scanner;
class IfText{
public static void main(String[] args){
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入小明的成绩:");
	int score = scanner.nextInt();
	
	if(score == 100){
		System.out.println("奖励一辆车!");
	}else if(score>90&&score<100){
		System.out.println("奖励一台电脑!");
	}else if(score>80&&score<=90){
		System.out.println("奖励一个本子!");
	}else{
		System.out.println("奖励一个p!");
	}
	}
}

练习程序2:有键盘输入变量num1,num2,num3,
对他们进行排序(使用if-else  if-else)并且从小到大输出

import java.util.Scanner;
class IfText2{
public static void main(String[] arges){
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入第一个数");
	int num1 = scanner.nextInt();
	System.out.println("请输入第二个数");
	int num2 = scanner.nextInt();
	System.out.println("请输入第三个数");
	int num3 = scanner.nextInt();
	
	if(num1 > num2){
		if(num3 > num1){
			System.out.println(num2 + ","+num1 +"," + num3);
			}else if (num3 < num2){
				System.out.println(num3 + ","+num2 +","+num1);
				}else{
					System.out.println(num2 + "," +num3 +"," +num1);
				}	
			}

练习程序3:一只狗,出生的前两年每年相当于人的10.5岁,之后一年是4岁
编写一个程序,要求输入数据,算出狗狗相当于多大

import java.util.Scanner;
class IfText3{
public static void main(String[] arges){
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入狗的年龄:");
	double age1 = scanner.nextDouble();

	if(age1 <= 2 ){
		double age = age1 * 10.5;
		System.out.println("age = "+age);
	}else{
		double age = (age1-2) * 4 +21;
		System.out.println("age ="+ age);
	}
	

小知识:如何获取一个随机数:10 - 99

class IfText3{
public static void main(String[] arges){
int value = (int)(Math.random()*90+10);
	//[0.0,1.0)--->[0.0,90.0)--->[10.0,100)--->[10,99)
	System.out.println("随机数 ="+value);
	}
}

联系程序4、在用布尔型时,不填true或者false的方法:
引用equals("");就行   而且时在条件语句中使用,此时接收的类型就是String

import java.util.Scanner;
class IfText4{
public static void main(String[] arges){
	Scanner scanner = new Scanner(System.in);
	System.out.println("你是不是很帅:(是/否)");
	String ishandsome = scanner.next();
	
	if (ishandsome.equals("是")){
		System.out.println("嫁了");
	}else{
		System.out.println("不嫁");
	}
	}
}

二、分支结构:switch-case  

转换-案例      case后面只能放常量 

说明:
    根据switch表达式的值,依次匹配各个case中的常量,一旦匹配成功则进入相应的case结构中,调用其执行语句
    当调用的执行语句执行完以后,继续执行之后的执行语句,直到碰到break关键字或者执行完所有的才能跳出
    
    break可以用到switch-case中,表示碰到以后跳出循环
    
    switch结构中的表达式只能用于一下的6种数据类型:
    byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
    
    default 相当于if-else中的else   default可选可不选

练习程序1:输入0123根据case的设定输出值

import java.util.Scanner;
class SwitchCaseText{
public static void main(String[] arges){
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入0/1/2/3");
	int number = scanner.nextInt();
	switch(number){
	
	case 0:
		System.out.println("zero");
		break;
		
	case 1:
		System.out.println("one");
		break;
	
	case 2:
		System.out.println("two");
		break;
	case 3:
		System.out.println("other");
		break;
	
	}
	}
}

练习程序2:学生成绩大于60,输出”合格“,低于60,输出”不合格“

说明:如果switch-case中多个案例的执行语句一样,可以考虑省略
 

class SwitchCaseText1{
public static void main(String[] arges){
	int score = 66;
	switch(score/10){
	case 0:
	case 1:
	case 2:
	case 3:	
	case 4:	
	case 5:
		System.out.println("不及格");
		break;
	case 6:
	case 7:
	case 8:
	case 9:
	case 10:
		System.out.println("及格");
		break;
	}
    }
}

    更优解

class SwitchCaseText1{
public static void main(String[] arges){
int score = 66;
	switch(score/60){
	case 0:
		System.out.println("不及格");
		break;
	case 1:
		System.out.println("及格");
		break;
	
	}
}

练习程序3:输入某年的year、month和day输出是今年的第几天
      判断是否是闰年的标准是:能被4整除不能被100整除或者是能被400整除

import java.util.Scanner;
class SwitchCaseText2{
public static void main(String[] arges){
	Scanner scanner = new Scanner(System.in);
	System.out.println("请输入year:");
	int year = scanner.nextInt();
	
	System.out.println("请输入month:");
	int month = scanner.nextInt();
	
	System.out.println("请输入day:");
	int day = scanner.nextInt();
	
	int sumdays = 0;
	switch(month){
		case(12):
		sumdays +=30;
		case(11):
		sumdays +=31;
		case(10):
		sumdays +=30;
		case(9):
		sumdays +=31;
		case(8):
		sumdays +=31;
		case(7):
		sumdays +=30;
		case(6):
		sumdays +=31;
		case(5):
		sumdays +=30;
		case(4):
		sumdays +=31;
		case(3):
		if(year % 4 == 0||year % 100 != 0 && year % 400 == 0){
				sumdays += 29;
			}else{
				sumdays += 28;
			}
		case(2):
			sumdays +=31;
		case(1):
		sumdays +=day;
	}
	System.out.println(year +"年已经过去了"+sumdays+"天");
	}
}

 三、感想:今天是2021.10.19所以算了一下今年居然已经过去292天了。看来我的学习速度太慢了。加油!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java塑造中...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值