【Java入门】选择与循环

选择结构语句

在实际生活中经常需要做出一些判断。Java中有一种特殊的语句叫做选择语句,它需要对一些条件做出判断,从而决定执行哪一段代码。

if语句

if语句是指如果满足某种条件,就进行某种处理。

if(条件语句)
{
    代码块
}

例子:当温度高于25摄氏度时打开风扇,否则什么都不做。

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		//
		int nowTemperature = 26;
        // 如果温度高于25℃ 那么打开风扇
		if (nowTemperature >= 25) {
			System.out.println("打开风扇");
		}
	}
}

if……else语句

if……else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。

if(条件语句)
{
    代码块1
}
else
{
    代码块2
}

例子:当成绩大于等于60分时,显示及格,否则显示不及格。

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
        //成绩
		int score = 70;
        //当成绩大于等于60分时,显示及格,否则显示不及格。
		if (score >= 60) {
			System.out.println("及格");
		} else {
			System.out.println("不及格");
		}
	}
}

?:表达式

?:表达式是Java中一种特殊的三元运算(需要三个操作的运算),它和if……else类似

跟其他运算一样,?:表达式会得到一个值,通常用于对某个变量进行赋值

当条件成立时,结果为【表达式1】的值,否则为【表达式2】的值

条件表达式 ? 表达式1 : 表达式2

例子:当成绩大于等于60分时,显示及格,否则显示不及格。

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		//成绩
		int score = 56;
		System.out.println(score >= 60 ? "及格" : "不及格");
	}
}

下面这个例子展示了如何用?:表达式求两个数之间较大的数

int num1 = 10,num2 = 9,max;
max = num1 > num2 ? num1 : num2;
System.out.println(String.format("max = %d",max));

//max = 10

if……else if……else语句

if……else if……else语句用于对多个条件进行判断,进行多种不同处理。

if(条件表达式1)
{
    代码块1
}
else if(条件表达式2)
{
    代码块2
}
else
{
    代码块3
}

例子:当成绩大于等于90分时显示优秀,如果小于90并且大于等于60显示及格,否则显示不及格。

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		// 成绩
		int score = 91;
		// 当成绩大于等于90分时显示优秀
		if (score >= 90) {
			System.out.println("优秀");
		} else if (score >= 60) {//如果小于90并且大于等于60显示及格
			System.out.println("及格");
		} else {//否则显示不及格
			System.out.println("不及格");
		}
	}
}

switch语句

switch条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值做出判断,从而决定执行哪一段代码。

switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和目标值相同,会执行对应case下的语句。如果表达式结果与所有的目标值都不相同,那么会执行default下的语句。default不是必要的,可以省略。

在JDK7.0引入了新特性,switch语句可以接受一个String类型的值。

switch(表达式)
{
    case 目标值1:
    执行语句1
    break;
    case 目标值2:
    执行语句2
    break;
    case 目标值3:
    执行语句3
    break;
    ……
    case 目标值n:
    执行语句n
    break;
    default:
    执行语句n + 1
}

例子:输入数字 输出周几

package com.qlnu.juston;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		//输入数字 输出周几
		@SuppressWarnings("resource")
		int num = new Scanner(System.in).nextInt();
		switch (num) {
		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;
		default:
			System.out.println("输入错误");
			break;
		}
	}
}
/*
输入 4
输出 星期四
*/

循环语句

在实际生活中经常会将同一件事情重复做很多次。Java中有一种特殊的语句叫做循环语句,它可以实现将一段代码重复执行。

while语句

while循环语句和之前的条件判断语句有些相似,都是根据条件判断是否执行代码块。区别在于,while语句会重复判断条件,直到条件不成立,while循环结束。

while(循环条件)
{
    执行语句
    ……
}

例子:登录

package com.qlnu.juston;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
        //正确密码
		String password = "admin";
		Scanner in = new Scanner(System.in);

		System.out.println("请输入密码");
        //输入的密码
		String inPwd = in.next();
 
        //如果密码相同 那么登录成功
        //String类的equals方法已被重写 比较字符串内容
		while (!inPwd.equals(password)) {
            System.out.println("请输入密码");
			inPwd = in.next();
		}

		System.out.println("登录成功!");
	}
}

do……while语句

do……while语句与while语句类似,只是do……while语句第一次循环时无条件直接执行。

do
{
    执行语句
    ……
}while(循环条件);

例子:求1 ~ 10的和

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		//i sum和
		int i = 0, sum = 0;
		do {
			sum += i;
			i++;
		} while (i <= 10);
		System.out.println(sum);
	}
}

//输出 55

for循环语句

while和do……while语句都是条件判断是否执行,而for循环是计数循环。

首先执行【初始化表达式】,只执行一次。然后判断【循环条件】,如果为真执行【循环体】,然后执行【操作表达式】。如果【循环条件】为假,退出循环体。

for(初始化表达式;循环条件;操作表达式)
{
    (循环体)
    执行语句
    ……
}

例子:输出从1到100

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		//开始 1 结束100
		int start, end = 100;
		for (start = 1; start <= end; start++) {
			System.out.println(start);
		}
	}
}

循环嵌套

嵌套循环时指在一个循环语句的循环体中再定义一次循环语句的语法结构。

例子:

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		// 乘法表
		//i 第一个数 j 第二数
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.append(String.format("%d * %d = %d\t", j, i, i * j));
			}
			System.out.append('\n');
		}
	}
}
/*
1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81	
*/

跳转语句

跳转语句用于实现循环执行过程中程序流程的跳转。

break

break语句在switch语句和循环语句中都可以使用。

在switch语句中使用,作用是终止某个case语句并跳出switch结构。

如果case语句没有break终止case语句使其跳出switch结构,那么将会直接进入下一个case

在循环语句中使用,作用是跳出循环语句。

例子:死循环用break跳出循环

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		//初始值
		int i = 1;
		
		//死循环
		while (true) {
			//大于10直接跳出循环
			if (i > 10)
				break;
			System.out.println(i);
			i++;
		}
	}
}

continue

continue语句用在循环语句中,它的作用是终止(跳过)本次循环,进行下次循环。

例子:输出1-100直接的偶数

package com.qlnu.juston;

public class Test {
	public static void main(String[] args) {
		//1 - 100
		for (int i = 1; i <= 100; i++) {
			//如果余数不为0 那么直接进入下次循环
			if ((i % 2) != 0) {
				continue;
			}
			//输出
			System.out.println(i);
		}
	}
}

ByJuston

posted @ 2020-02-07 15:35  JustonTao  阅读(167)  评论(0)    收藏  举报