Java学习笔记06_20200203

第6章 条件语句和选择结构

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

01 作业回顾

02 if语句

if语句(条件语句),当括号中的表达式(条件表达式)为true时,会执行代码块,否则不执行

		//if语句(条件语句),当括号中的表达式(条件表达式)为true时,会执行代码块,否则不执行
		if(true){//代码块
			System.out.println("这句话会输出");	
		}
		if(false){
			System.out.println("这句话不会输出");
		}
		
		System.out.println("*************************************");
		int x = 5;
		if(x == 5){
			System.out.println("1   x == 5"); //会执行,因为表达式x == 5为true
			
		}
		
		x = 6;
		if(x == 5){
			System.out.println("2   x == 5"); //不会执行,因为表达式x == 5为fasle

在这里插入图片描述

if else
只有条件满足,代码块才会执行,有且只有一个代码块会执行
如果没有满足的条件,就执行else代码块
当遇到满足的条件时,执行代码块,后面的就不看了

		//条件表达式的结果要么为true要么为false
		//if else语句,当条件表达式为true时,执行if代码块,否则执行else代码块
		//if代码块和else肛码块有且只有一个会执行
		int y = 10;
		if(y == 10){
			System.out.println("Y == 10");//会执行,条析表达式为true
		}else {
			System.out.println("Y != 10");//不会执行,条件表达式为true
		}
		
		y = 11;
		if(y == 10){
			System.out.println("Y == 10");//不会执行,条件表达式为false	
		}else{
			System.out.println("Y != 10");//会执行,条件表达式为false		
		}
		
		System.out.println("**********************************");
		//只有条件满足,代码块才会执行,有且只有一个代码块会执行
		//如果没有满足的条件,就执行else代码块
		//当遇到满足的条件时,执行代码块,后面的就不看了
		int z = 15;
		if(z == 10){
			System.out.println("z == 10");
		}
		else if(z == 12){
			System.out.println("z == 12");
		}else if(z == 15){
			System.out.println("z == 15");//会执行
		}else{
			System.out.println("z是其他数");
		}
		
		z = 18;
		if(z == 10){
			System.out.println("z == 10");
		}else if(z == 12){
			System.out.println("z == 12");
		}else if(z == 15){
			System.out.println("z == 15");
		}else{
			System.out.println("z是其它数");//会执行
		}
		
		//没有块的if语句
		int number = 5;
		if(number < 0)//如果if语句不带块,那么只有if语句后面的第一条语句属于if
			number = number + 10;
		//上面的if相当于下面的if
		if(number < 0){
			number = number + 10;
		}
		number++;//是不属于if语句的
		System.out.println(number);//6
		//尽量使用带块的if,避免看错
		

在这里插入图片描述

嵌套的if语句

		//嵌套的if语句
		int a = 70; //分数
		if(a >= 60){
			if(a >= 90){
				System.out.println("优秀");
			}else if(a >= 80){
				System.out.println("良好");
			}else{
				System.out.println("一般");//会执行
			}
		}else{
			System.out.println("不及格");
		}	

在这里插入图片描述

03 switch

switch语句会在几个选项中做出选择

switch语句只能使用char,byte,short,int,string和枚举。

int类型

		//switch语句会在几个选项中做出选择
		int number = 2;
		switch(number) {
		case 1: //如果是number是1执行下面的代码,break是终止,后面的case和default都不看了
			System.out.println(1);
			break;
		case 2: //如果number是2执行下面的代码,break是终止,后面的case和default都不看了
			System.out.println(2);//会执行
			break;
		case 3: //如果number是3执行下面的代码,break是终止,后面的case和default都不看了
			System.out.println(3);
			break;
		default: //如果上面的case都没有匹配成功执行default后面的代码
			System.out.println("default");
			break;
		}

在这里插入图片描述
char型

		char c = 'c';
		switch (c) {
		case 'a':
			System.out.println('a');
			break;
		case 'b':
			System.out.println('b');
			break;
		case 'c':
			System.out.println('c');
			break;
		case 'd':
			System.out.println('d');
			break;
		default:
			System.out.println("其它字母");
			break;
		}

string型

		String str = "abc";
		switch(str) {
		case "abc":
			System.out.println("abc");
			break;
		case "def":
			System.out.println("def");
			break;
		case "gh":
			System.out.println("gh");
			break;
		case "mn":
			System.out.println("mn");
			break;
		default:
			System.out.println("其他字母");
		
		}

long类型
编译时错误,不允许switch long类型的数据

		long l = 15;
		switch (l) { //编译时错误,不允许switch long类型的数据
		case 1L:
			
			break;

		default:
			break;
		}

在这里插入图片描述

case
case的值必须是一个常量
case 不能使用表达式

如下:

在这里插入图片描述

04 练习

  1. 从键盘输入一个分数,如果60分以上,就打印及格,否则打印不及格。
		//从键盘输入一个分数,如果60分以上,就打印及格,否则打印不及格。
		//java.util.Scanner是一个扫描器
		java.util.Scanner s = new java.util.Scanner(System.in);
		int score = s.nextInt(); //会等待键盘的输入一个int数据,将输入结果赋值给score
		//System.out.println(score);
		if(score >= 60) {
			System.out.println("及格");
		}else{
			System.out.println("不及格");
		}
		
		s.close();//关闭扫描器

在这里插入图片描述
2.从键盘输入小明的期末成绩,当成绩为100分时,奖励一台MacBook,当成绩为80.99时,奖励一部iphone7,当成绩为60~80时,
奖励一个苹果,其它分数,什么奖励也没有。

Scanner是java标准库中的一个类,它位于java.util包中
Scanner类的全名叫做java.util.Scanner
导入(使用)java.util包中的scanner
import java.util.Scanner;
ctrl + shift + o 自动导包

在这里插入图片描述
第二种思路:
在这里插入图片描述

  1. 编写程序,由键盘输入三个整数,分别存入变量num1,num2,num3中,从小到大输出。
    //将最小数放到num1中,将最大数放到num3中,将中间数放到num2中

第一步,比较numb1和num2,如果num1大于num2,将两个数进行交换
第二步,比较numb1和num3,如果num1大于num3,将两个数进行交换
第三步,比较num2和num3,如果num2大于num3,将两个数进行交换

		//3.编写程序,由键盘输入三个整数,分别存入变量num1,num2,num3中,从小到大输出。
		Scanner s =  new Scanner(System.in);
		System.out.println("请输入num1");
		int num1 = s.nextInt();
		System.out.println("请输入num2");
		int num2 = s.nextInt();
		System.out.println("请输入num3");
		int num3 = s.nextInt();
		
		//将最小数放到num1中,将最大数放到num3中,将中间数放到num2中
		
		//第一步,比较numb1和num2,如果num1大于num2,将两个数进行交换
		int temp;//临时变量
		if( num1 > num2) {
			temp = num1;//将num1的值赋值给临时变量,先保存起来
			num1 = num2;
			num2 = temp;
		}
		//上面的if走完后,num1是小于num2的
		
		//第二步,比较numb1和num3,如果num1大于num3,将两个数进行交换
		if(num1 > num3) {
			temp = num1;
			num1 = num3;
			num3 = temp;
		}
		//上面的if走完后,num3是小于num3的
		
		//第三步,比较num2和num3,如果num2大于num3,将两个数进行交换
		if(num2 > num3) {
			temp = num2;//将num1的值赋值给临时变量,先保存起来
			num2 = num3;
			num3 = temp;			
		}
		//上面的if走完后,num2是小于num3的
		
		System.out.println("num1:" + num1);
		System.out.println("num2:" + num2);
		System.out.println("num3:" + num3);
				
		s.close();

在这里插入图片描述
在这里插入图片描述
4. 使用switch把小写类型的char转换为大写,只转换a,b,c,d,e,其它的输出other.

		//alt + /  自动补全		
		char c = 'a';
		System.out.println((int)c);  //97  字符a对应的编码是97
		switch(c) {
		case 'a':
			//大写字母对应的编码比小写字母对应的编码小32
			//System.out.println("A");
			System.out.println((char)(c - 32));
			break;
		case 'b':
			System.out.println("B");
			break;
		case 'c':
			System.out.println("C");
			break;
		case 'd':
			System.out.println("D");
			break;
		case 'e':
			System.out.println("other");
			break;
		default:
			break;		
		}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值