Java基础02_流程控制

流程控制

1、流程控制结构分类

  1. 顺序结构
  2. 选择结构if...else,switch...case
  3. 循环结构while

2、选择结构

  1. if...else
 public class If {
 public static void main(String[] args) {
 int x = 20;
 int z1 = 100;
 if (x > 0) //执行体只有一条执行语句,可省略大括号
 //int z1= 100; //if省略大括号后,后面不可以声明变量,但是可以使用变量
 z1 = 200;
 z1++;
 System.out.println("z1="+z1);
 int y = 10;
 if (y < x) {
 x++;
 y++;
 System.out.println("x="+x+",y="+y);
 int z = 100;//z是if语句的执行体里的局部变量
 }
 //System.out.println(z);//执行里的局部变量出了作用域,在外部无法访问
 }
}
  1. switch...case
public class Switch {
	public static void main(String[] args) {
			 Scanner scan = new Scanner(System.in);
			 System.out.print("请输入月份:");
			 int month = scan.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;
			 }
			 }
	}
  1. if和switch区别和应用场景
    • if可以判断区间和布尔值,switch不可以
    • 判断int\String\枚举类型,用switch
    • 判断区间\布尔值,用if

3、循环结构

  1. while:循环后变量能够使用
public class While {
 public static void main(String[] args) {
 //初始化语句
 int num1 = 80;//声明一个变量并初始化,赋给初始值80
 int num2 = 90;//声明一个变量并初始化,赋给初始值90
/* while(num1 < num2){
 System.out.println(num1);
 num1++;
 } //不能不写大括号,否则会进入死循环
 */
 /*while(num1 < num2);//while条件后直接跟分号结束,表示循环体为空,会进入死循环
 System.out.println(num1);
 num1++;*/
 while(num1 < num2)
 num1++; //循环体里就只有num1++;会一直执行num1++直到不满足while判断的条件跳出循环
 System.out.println(num1);//循环执行完后,num1的值为90
 System.out.println(num1);//90
 }
}
  1. do...while:至少会执行一次
public class DoWhileDemo1 {
 public static void main(String[] args) {
 int num = 1;
 int sum = 0;
 //先执行循环体,再判断循环条件是否满足,即使循环条件不满足,循环体至少执行了1次
 do {
 sum = sum + num; //sum += num;
 num++;
 }while(num <= 100);
 System.out.println("sum="+sum);
 }
}
  1. for:循环结束后,变量无法访问
  2. break和continue
    • break退出当前循环
    • continue退出本次循环
  3. ==与equals的区别
    • ==比较简单数据类型时,比较内容;比较复合数据类型/对象,比较地址
    • equals比较String类型数据时,比较内容;比较其他引用类型时比较地址
posted @ 2021-05-08 09:16  正成为资深程序员的LW  阅读(23)  评论(0编辑  收藏  举报