Java学习笔记-Java流程控制

scanner

接受用户的输入,I/O流中的input部分;(它是一种输入流,就像一个水龙头,有个开关)
next():
nextLine():

大致步骤:

1、 打开开关,定义scanner对象,System.in
2、 是否有输入的内容(抛出异常)
是:scanner接受输入的内容
否:不做任何操作
3、 关闭开关,close

顺序结构:

即“一条道走到黑”,只要你不说停,就不停;也可以理解为不会脑筋急转弯。

选择结构:

if单选择:

单个判断(给个痛快话)
案例:

import java.util.Scanner;

public class IfDemo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.printf("请输入内容:");
        String s = scanner.nextLine();

        //
        if (s.equals("Hello")) {
            System.out.println(s);
        }
        System.out.printf("END");
    }
}

if双选择:

在这里插入图片描述
即不是“任人宰割”,而是有“plan B”方案。

案例:

import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {
        //成绩大于等于60为及格,否则不及格
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");
        float score = scanner.nextInt();

        if (score>=60) {
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
    }
}

if多选择:

∥考试分数大于60就是及格,小于60分就不及格。
Scanner scanner=new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if(score==100{
System.out.println("恭喜满分");
}else if(score<100&&score>=90){
System.out.println("A级");
}else if(score<90&&score>=80{
System.out.println("B级");
}else if(score<80&&score>=70)
System.out.printin("C级");
}else if(score<70&&score>=60{
System.out.println("D级");
}else if(score<60&&score>=0{
System.out.println(“不及格");
}else{
System.out.println("成绩不合法");
scanner.close()

在这里插入图片描述
“弱水三千,只取一瓢”;只走一条路线。

if嵌套:

“环环相扣”;可以在之后的二分查找中得到应用。

switch多选择:

在这里插入图片描述

switch(expression){
	case value:
	//语句
	break;//可选
	case value:
	//语句
	break;//可选
	//你可以有任意数量的case语句
	default:	//可选
	//语句

break:跳出,不然之后的case都会输出;是针对case穿透现象的。
default:是默认的,在case中找不到对应的。

从Java SE7开始,switch 支持字符串 String类型了
但是switch中的string类型的本质,还是数字(此处的数字是哈希code)

String country ="CHINA";
country = country.toLowerCase();
switch(country){
	case	"china":
	System.out.println("No1.China");
	break;
	case	"japan":
	System.out.print1n("No2.Japan");
	break;
	case	"american":
	System.out.println("Wo3.American");
	break;
	default:
	System.out.println("奥运金牌榜中不是前3!");

哈希格式:

String country ="CHINA"; 
country = country.toLowerCase();
byte var3=-1; 
switch(country. hashCode()){
case -1792383968: 
	if(country.equals("american")){
	var3=2;
	}
	break;
case 94631255: 
	if(country.equals("china")){
	var3=0;
	}
	break;
case 100893702:

循环结构:

while循环:

在这里插入图片描述

// while是最基本的循环,它的结构为:
while( 布尔表达式 ){
// 循环内容

我们需要考虑的重点:让条件失效的边界点;

do…while循环:

do{
// 代码语句
}while(布尔表达式);

“先上车后补票”;不管符不符合条件,都得先执行一次。

for循环:

for其实是把while中的一些迭代语句放到条件中了。

int a=1; //胡始化条件
while(a<=100){ //条件判断
	System.out.println(a);	//循环体
	a+=2;	//送代
	}
System.out.printin("while循环结束!");
//初始化//条件判断//迭代
for(int i=1;i<=100;i++){
System.out.println(i);
System.out.println("for循环结束!");
//练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
for(int i=0;i<=1000;i++{
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){ //每行
System.out.print1n();
//System.out.print("\n");

i被5整除这简单;但若是想输出3个换行的话,在不添加新变量的前提下,i%(5*3)==0就能符合要求。

九九乘法表:

学会把问题分解;从题中观察规律,然后用编程的思维来解决问题,这才叫做学会编程。
示例:

public class ForDemo04 {
    public static void main(String[] args) {
        int i,j;
        int sum = 0;
        for (i=1; i<10; i++){
            for(j=1; j<=i; j++){
                sum = i * j;
                System.out.format("%d * %d = %d\t",j,i,sum);
            }
            System.out.println();
        }
    }
}

增强for循环:

int[] numbers ={10,20,30,40,50}; //定义了一个数组
for (int x:numbers){
	System.out.print1n(x);
	}

这个很像Python中的for循环;主要是针对一些数组和集合,方便遍历它们。

break和continue:

~不只是针对switch,但凡是循环结构,都是可以使用的;

~break用于强行退出循环;

~continue用于终止某次循环,跳过这次循环;可以说,continue跳出的等级低,break跳出的等级高,一个步子迈大,一个步子迈小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值