JavaSE——基础知识(二)(选择语句/循环语句/控制跳转语句)

JavaSE—基础知识(二)(选择语句/循环语句/控制跳转语句)

1.从键盘录入数据

  • 方法:
a:导包
	格式:import java.util.Scanner; 
b:创建键盘录入对象
    格式:Scanner sc = new Scanner(System.in);(使用像IDEA,ecipse这种java编译工具时一般不需要导包,系统会帮你完成的)
c:通过对象获取数据	
    格式:int x = sc.nextInt();(int类型的数据)
  • 举例

例如:从键盘输入两个数,求这两个数的最大值。

package org.wetmo.demo1;

import java.util.Scanner;

public class MyDemo4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入两个数num1,num2:");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        int max=(num1>=num2)?num1:num2;
        System.out.println("最大值是"+max);
    }
}

2.顺序结构语句

2.1 if语句
  • 三种基本格式:
     if(比较表达式或者是boolean类型的值) {
		语句体;
	}
	if(比较表达式) {
		语句体1;
	}else {
		语句体2;
	}
	注意事项:else后面是没有比较表达式的,只有if后面有。
	if(比较表达式1) {
		语句体1;
	}else if(比较表达式2) {
		语句体2;
	}else if(比较表达式3) {
		语句体3;
	}
	...
	else {
		语句体n+1;
	}
  • 注意事项:比较表达式无论简单还是复杂,结果都是boolean类型。
  • 举例

例1:第二种格式的应用

//需求:键盘录入一个成绩,判断并输出成绩的等级。
	/*
		90-100 优秀
		80-89  良
		70-79  中
		60-69  及格
		0-59   差
	*/
	package org.wetmo.demo1;
import java.util.Scanner;
public class MyDemo1 {
    public static void main(String[] args) {
        System.out.println("输入成绩");
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();
        if(score>=90&&score<=100){
            System.out.println("A等");
        }else if(score>=80&&score<=89){
            System.out.println("B等");
        }
        else if(score>=70&&score<=79){
            System.out.println("C等");
        }
        else if(score>=60&&score<=69){
            System.out.println("D等");
        }
        else if(score<60){
            System.out.println("E等");
        }else{
            System.out.println("输入错误");
        }
    }
}

例2:if语句的嵌套

package org.wetmo.demo1;
import java.util.Scanner;
public class demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入三个数num1,num2,num3:");
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        int num3 = sc.nextInt();
        int max=0;
        if(num1>=num2){
            if(num1>=num3){
                max=num1;
            }else{
                max=num3;
            }
        }else{
            if(num2>=num3){
                max=num2;
            }else{
                max=num3;
            }
        }
        System.out.println("这三个数中最大的数是"+max);
    }
}
2.2 switch语句
  • 基本格式:
switch(表达式){
		case 值1:
			语句体1;
			break;
		case 值2:
			语句体2;
			break;
		....
		default:	
			语句体n+1;
			break;
	}
  • 格式解释
(1)switch表示这是switch语句
		表达式的取值:byte,short,int,char(long类型不能作为switch的取值)
		JDK5以后可以是枚举(什么是枚举,以后再讲)
		JDK7以后可以是String
(2)case后面跟的是要和表达式进行比较的值
(3)语句体部分可以是一条或多条语句
(4)break表示中断,结束的意思,可以结束switch语句
(5)default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似
  • 举例:键盘录入月份,输出对应的季节
package org.wetmo.demo1;
import java.util.Scanner
public class MyDomo2 {
    public static void main(String[] args) {
        System.out.println("输入月份:");
        Scanner sc = new Scanner(System.in);
        int month = sc.nextInt();
        switch(month){
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                    System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            default:
                System.out.println("输入错误");
                break;
        }
    }
}

3.循环结构

循环结构:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

3.1 for循环
  • 格式
for(初始化表达式语句;判断条件语句;控制条件语句) {
		循环体语句;
	}
  • 举例

例1:需求:在控制台输出所有的”水仙花数”

所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
package org.wetmo.demo1;
public class demo {
    public static void main(String[] args) {
        //求出这个数的每个数位上的值
        for(int i=100;i<=999;i++){
            int bw=i/100;
            int sw=i/10%10;
            int gw=i%10;
            if(i==bw*bw*bw+sw*sw*sw+gw*gw*gw){
                System.out.println(i);
            }
        }
    }
}

例2:打印输出乘法口诀表。

package org.wetmo.demo1;
public class demo {
    public static void main(String[] args) {
        //求出这个数的每个数位上的值
        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+j*i+"\t");
            }
            System.out.println();
        }
    }
}
3.2 while语句
  • 基本格式
 初始化条件语句;
	    while(判断条件语句) {
			 循环体语句;
			 控制条件语句;
	   }
  • 执行流程
a:执行初始化条件语句;
b:执行判断条件语句,看其返回值是true还是false
		如果是true,就继续执行
		如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到b继续。
  • 举例

例如:统计”水仙花数”共有多少个。

package org.wetmo.demo1;
import java.util.Scanner;
public class demo {
    public static void main(String[] args) {
        int i=100;
        int n=0;
        while(i<=999){
            int bw=i/100;
            int sw=i/10%10;
            int gw=i%10;
            if(i==bw*bw*bw+sw*sw*sw+gw*gw*gw){
                System.out.println(i);
                n++;
            }
            i++;
        }
        System.out.println("水仙花个数为"+n);
    }
}
3.3 do…while语句
  • 基本格式
初始化条件语句;
	do {
		循环体语句;
		控制条件语句;
}while(判断条件语句);
  • 执行流程
a:执行初始化条件语句;
b:执行循环体语句;
c:执行控制条件语句;
d:执行判断条件语句,看其返回值是true还是false
		如果是true,就继续执行
		如果是false,就结束循环
e:回到b继续。
  • 举例

请在控制台输出数据1-10。

package org.wetmo.demo1;
public class demo {
    public static void main(String[] args) {
        int i=1;
        do {
            System.out.println(i);
            i++;
        }while(i<=10);
    }
}
  • 3.4 三种循环语句的区别

(1):do…while循环至少执行一次循环体。而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
(2):A: 如果你想在循环结束后,继续使用控制条件的那个变量,用 while循环,否则用for循环。不知道用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
B:建议优先考虑for循环,然后是while循环 ,最后是do…while循环

4.控制跳转语句(break,continue,return)

4.1 break(中断)
  • 使用场景:
    (1)在选择结构switch语句中
    (2)在循环语句中
  • 作用:
    a:退出单层循环
    b:退出多层循环(几乎不使用)
    要想实现这个效果,就必须知道一个东西;带标签的语句;
    格式:标签名:语句
4.2 continue(继续)
  • 使用场景:在循环语句中
  • 作用:跳出一次循环,执行下一步操作
举例
	for(int x=1; x<=10; x++) {
		if(x%3==0) {
			//在此处填写代码  // break;
			                             // continue;
			                             // System.out.println(“Java基础班”);
		}
		System.out.println(“Java基础班”);
	}
	//我想在控制台输出2次:“Java基础班“  
	//我想在控制台输出7次:“Java基础班“
	//我想在控制台输出13次:“Java基础班“	
4.3 return(返回)
  • 作用:return 就是退出一个方法(后面文章会详细讲述)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值