java学习笔记(Day4)

1 java流程控制

包括:顺序结构、选择结构、循环结构

1.1 选择结构

if结构、if-else结构、多重if结构、嵌套if结构、switch结构

  1. if结构
    多重if结构
    嵌套if结构
  • 注意:
    不加大括号进行对应的话,if会找最近的else进行匹配
  1. switch结构
switch结构语法
switch(表达式){
case 常量表达式1:
        语句1;break;
case 常量表达式1:
        语句2;break;
defalut:
        语句3;
}

注意

  • switch结构大括号不能省略,在case后面不加大括号也可以加多条语句,defalut可以省略。当没有defalut语句且所有表达式值不匹配,则直接跳出。
  • switch也叫做多路选择结构
  • JDK7.0以后表达式的值可以是基本数据类型的byte、short、int、char以及String类型

switch使用实例

package helloworld;
import java.util.Scanner;

public class LeapYearDemo {
	public static void main(String[] args) {
		System.out.println("请输入一个1-7之间的数");
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		switch(n) {
		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("该数字超出了数字1-7的范围");
		}			
	}
}
  1. if与switch结构的区别
    if结构判断条件是布尔类型,判断条件是一个范围;switch结构判断条件是一个常量值

1.2 循环结构

包括:while、do-while、for

  1. while 循环
    语法格式
语法格式
while(循环条件)
{
语句;
}

注意

  • 循环体只有一条语句时可以不加大括号
  • 为避免死循环,小括号后面不要加分号
  • java中,while(true)合法、while(1)不合法
  1. do-while循环

语法格式

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

注意

  • do-while循环至少执行一次
  • 循环条件后面的分号不能丢
  • 局部变量在使用前必须被初始化

使用案例:
猜字游戏

package helloworld;

import java.util.Scanner;

public class WhileTest {
	public static void main(String[] args) {
    //猜字游戏
		int number=(int)(Math.random()*10+1);
		int guess;
		do {
			System.out.println("请输入一个1-10之间的数");
			Scanner sc=new Scanner(System.in);
			guess=sc.nextInt();
			if(guess>number)
				System.out.println("大");
			else
				System.out.println("小");
		}while(number!=guess);
		System.out.println("猜中了");
	}
}
  1. for循环
    语法格式
for(表达式1;表达式2;表达式3{
语句;
}

注意

  • “;”分号不能省略,但三个表达式都可以省略
  • 局部变量只在定义它的大括号内有效
  • break语句表示跳出当前循环
  • 变量不能重复定义
  1. 循环嵌套
    使用案例:
    求阶乘和:1!+2!+3!+4!+… !
public class WhileTest {
	public static void main(String[] args) {
	int s=1,sum=0;
	for(int i=1;i<=4;i++) {
		s=1;
		for(int j=1;j<=i;j++) {
			s=s*j;
		}
		sum=sum+s;
	}
	System.out.println(""+sum);
	}
}

注意:
求阶乘题目累加可能会产生溢出,使用长整型或特定的处理大数据的类。

也可以是其他循环的相互嵌套,如:

while(循环条件)
{
   .......
   while(循环条件){
   }
   ......
}
  1. 其他重要的语句:
  • break语句
    在循环结构中结束当前循环的执行,位于break语句后面的代码就不再执行了
    只能跳出当前循环,在多重循环中break语句只能跳出一层

  • continue语句
    continue语句只能使用在循环结构中
    只结束当前循环的执行,继续下一次循环的执行

猜你喜欢

转载自blog.csdn.net/weixin_43424527/article/details/108460374
今日推荐