栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

尚硅谷java学习笔记第三天(流程控制)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

尚硅谷java学习笔记第三天(流程控制)

• 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组 合成能完成一定功能的小逻辑模块。

• 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:

顺序结构 分支结构 循环结构

1:顺序结构

程序从上到下逐行地执行,中间没有任何判断和跳转。

2:分支结构

根据条件,选择性地执行某段代码。

有if…else和switch-case两种分支语句。

if…else

在这里插入图片描述

分支结构:if-else使用说明

条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量

语句块只有一条执行语句时,一对{}可以省略,但建议保留 

if-else语句结构,根据需要可以嵌套使用  当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略

当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓 当多个条件是“包含”关系时,“小上大下 / 子上父下”


class  IfTest{
	public static void main(String[] args) {
		
		//举例1
		int heartBeats = 79;
		if(heartBeats < 60 || heartBeats > 100){
			System.out.println("需要做进一步检查");	
		}
		
		System.out.println("检查结束");	
		
		//举例2
		int age = 23;
		if(age < 18){
			System.out.println("你可以看动画片");
		}else{
			System.out.println("你可以看成人电影");
		}

		//举例3
		if(age < 0){
			System.out.println("输入数据非法");
		}else if(age < 18){
			System.out.println("青少年时期");
		}else if(age < 35){
			System.out.println("青壮年时期");
		}else if(age < 60){
			System.out.println("青少年时期");
		}else{
			System.out.println("老年时期");
		}
	}
}

Scanner的使用
import java.util.Scanner;

class  ScannerTest{
	
	public static void main(String[] args) {
			
			Scanner scan = new Scanner(System.in);

			int num = scan.nextInt();
			
			System.out.println("num");	
	}
}

class  ScannerTest{
	
	public static void main(String[] args) {
			
			Scanner scan = new Scanner(System.in);
			
			System.out.println("请输入你的姓名:");
			String name = scan.next();
			System.out.println(name);

			
			System.out.println("请输入你的年龄:");
			int age = scan.nextInt();
			System.out.println(age);
			
			System.out.println("请输入你的体重:");
			double weight = scan.nextDouble();
			System.out.println(weight);
			//对于char型的获取,Scanner没有提供相关的方法,只能获取一个字符串
			System.out.println("请输入你的性别:");
			String gender = scan.next();
			char genderChar = gender.charAt(0);//获取索引为0位置上的字符
			System.out.println(genderChar);
	}
}

if语句例题1

import java.util.Scanner;

class  ScannerTest{
	
	public static void main(String[] args) {
			
			Scanner scan = new Scanner(System.in);

			System.out.println("请输入期末成绩:");
			
			int score = scan.nextInt();

			if(score< 0 || score> 100){
				
				System.out.println("输入数据非法");
			
			}else if(score == 100){
			
				System.out.println("奖励一辆BMW");

			}else if(score > 80 && nscore <= 99){
				
				System.out.println("奖励一台iphone xs max");

			}else if(score > 60 && score<= 80){
				
				System.out.println("奖励一个 iPad");

			}

	}
}

if语句例题2

import java.util.Scanner;

class  IfTest2{
	
	public static void main(String[] args) {
			
			Scanner scan = new Scanner(System.in);

			System.out.println("请输入一个整数:");
			
			int num1 = scan.nextInt();
			
			System.out.println("请输入二个整数:");
			
			int num2 = scan.nextInt();
			
			System.out.println("请输入三个整数:");
			
			int num3 = scan.nextInt();
			
			
			if(num1 >= num2){
				if(num3 >= num1){
					System.out.println(num2 + "," + num1 + "," + num3);
				}else if(num3 <= num2){
					System.out.println(num1 + "," + num2 + "," + num1);
				}else{
					System.out.println(num2 + "," + num3 + "," + num1);
				}
		
			}else{
				if(num3 >= num2){
					System.out.println(num1 + "," + num2 + "," + num3);
				}else if(num3 <= num1){
					System.out.println(num3 + "," + num1 + "," + num2);
				}else{
					System.out.println(num1 + "," + num3 + "," + num2);
				}		
			}
	}
}

就近原则

class  IfExer{
	
	public static void main(String[] args) {
			
		int x = 4;
		int y = 1;
		if (x > 2)
			if (y > 2) 
				System.out.println(x + y);
		//就近原则,和if (y > 2) 配对	
		else
			System.out.println("x is " + x);	
	}
}
如何获取一个随机数(彩票游戏)
//如何获取一个随机数:10 - 99
			double value = (int)(Math.random()*90 + 10);//[0.0,1.0)--[0.0,90.0)--[10.0,100.0)

			//公式:[a,b] :(int)(Math.random()*(b - a + 1) + a)

if语句练习3

获取char数值和char型转int型的方法(equals的用法)
import java.util.Scanner;

class  IfExer{
	
	public static void main(String[] args) {
			
			Scanner scan = new Scanner(System.in);
	
			double value = (int)(Math.random()*90 + 10);//获取一个[10,99)的值

			int value1 = (int)value;

			
			System.out.println("请输入一个二位数的数字:");

			String gender = scan.next();
			
			char genderChar = gender.charAt(0);//获取索引为0位置上的字符
			
			char genderChar1 = gender.charAt(1);//获取索引为0位置上的字符
			
			int num1 = genderChar - '0';//把char类型变量转换成int变量
			
			int num2 = genderChar1 - '0';
			
			System.out.println(num1);
			System.out.println(num2);

			if(num1 == value1/10 && num2 == value1%10){

				System.out.println("奖金10000美元");

			}else if(num2 == value1/10 && num1 == value1%10){
				
				System.out.println("奖金3000美元");

			}else if(num1 == value1/10 || num2 == value1%10){
				
				System.out.println("奖金500美元");
			
			}else if(num2 == value1/10 || num1 == value1%10){
				
				System.out.println("奖金500美元");	

			}else{
				
				System.out.println("彩票作废");

			}
			System.out.println(value1);
			System.out.println(value1/10);
			System.out.println(value1%10);
	}

}
import java.util.Scanner;

class  IfTExer{
	
	public static void main(String[] args) {
			
			Scanner Scanner = new Scanner(System.in);
			
			System.out.println("请输入你的身高:(cm)");

			int height = Scanner.nextInt();
		
			System.out.println("请输入你的财富:(千万)");
			
			double money = Scanner.nextDouble();
			
			System.out.println("请输入你是否帅:(是/否)");
			
			String isHandsome = Scanner.next(); 
        
			if(height >= 180 && money >= 1.0 && isHandsome.equals("是")){
				
				System.out.println("我一定要嫁给他!!!");
						
			}else if(height >= 180 || money >= 1.0 || isHandsome.equals("是")){
			
				System.out.println("嫁吧,比上不足,比下有余。");
			
			}else{
				
				System.out.println("不嫁!");	
		
			}			
	}
}
switch-case

class  SwitchCaseTest{
	
	public static void main(String[] args) {
		//int类型
		int number = 2;
		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("three");
			break;
		default:
			System.out.println("other");
		}
        
        //String类型
        String season = "summer";
		switch(season){
		
		case "spring":
			System.out.println("春暖花开");
			break;
		case "summer":
			System.out.println("夏日炎炎");
			break;
		case "autumn":
			System.out.println("秋高气爽");
			break;	
		case "winter":
			System.out.println("白雪皑皑");
			break;
		default:
			System.out.println("输入季节有误");
			break;

	}
}
import java.util.Scanner;

class  SwitchCaseTest{
	
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		int score = 78; 
		
		switch(score/10){
		
        case 0:	
            System.out.println("不及格");
			break;  
		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;
		case 8:
			System.out.println("及格");
			break;
		case 9:
			System.out.println("及格");
			break;
		case 10:
			System.out.println("及格");
			break;
		default:
			System.out.println("other");
			break;
		}						
	}
}
		
		//改写 说明:如果switch-case结构中的多个case的执行语句相同,则可以合并
		int score = 78; 
		
		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;
        }
		
		//优化
		switch(score/60){
        case 0:
            System.out.println("不及格");
			break;  
        case 1:
            System.out.println("及格");
			break;
        }                              
import java.util.Scanner;

class  SwitchCaseTest{
	
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入2019年的month");
		int month = scan.nextInt(); 
		System.out.println("请输入2019年的day");
		int day = scan.nextInt(); 

		int days = 0;
		
		switch(month){
		
		case 12:
			days += 30;			
		case 11:
			days += 31;			
		case 10:
			days += 30;				
		case 9:
			days += 31;			
		case 8:
			days += 31;			
		case 7:
			days += 30;			
		case 6:
			days += 31;			
		case 5:
			days += 30;			
		case 4:
			days += 31;			
		case 3:
			days += 28;			
		case 2:
			days += 31;			
		case 1:
			days += day;			
		}
		System.out.println("2019年的第:"+ days + "天");						
	}
}
import java.util.Scanner;

class  SwitchCaseTest{
	
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入year:");
		
        int year = scan.nextInt();
		
        System.out.println("请输入month:");
		
        int month = scan.nextInt(); 
		
        System.out.println("请输入day:");
		
        int day = scan.nextInt(); 

		int days = 0;		
		
        switch(month){
		
		case 12:
			days += 30;			
		case 11:
			days += 31;			
		case 10:
			days += 30;				
		case 9:
			days += 31;			
		case 8:
			days += 31;			
		case 7:
			days += 30;			
		case 6:
			days += 31;			
		case 5:
			days += 30;			
		case 4:
			days += 31;		
		case 3:
			if((year%4 == 0 && year/100 != 0)||(year%400 == 0)){				
				days += 29;
			}else{			
				days += 28;
			}			
		case 2:
			days += 31;			
		case 1:
			days += day;			
		}
		System.out.println(year + "年的第:" + days + "天");						
	}
}
import java.util.Scanner;

class  SwitchCaseTest{
	
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入year:");
		
        int year = scan.nextInt();
		int test = year%12;
		System.out.println(test);	
		switch(year%12){
		case 0:
			System.out.println("monkey");
			break;		
		case 1:	
			System.out.println("rooster");
			break;
		case 2:	
			System.out.println("dog");
			break;
		case 3:
			System.out.println("pig");
			break;
		case 4:
			System.out.println("rat");
			break;
		case 5:	
			System.out.println("ox");
			break;
		case 6:
			System.out.println("tiger");
			break;
		case 7:
			System.out.println("rabbit");
			break;
		case 8:
			System.out.println("dragon");
			break;
		case 9:	
			System.out.println("snake");
			break;
		case 10:
			System.out.println("horse");
			break;
		case 11:
			System.out.println("sheep");
			break;			
		}					
	}

}
3:循环结构

根据循环条件,重复性的执行某段代码。

有while、do…while、for三种循环语句。

注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322942.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号