Java Day06

学习了分支结构 循环结构和switch结构

1分支结构
用于处理代码中出现的一些需要判断,并且按按条件处理的情况!!!

  1. 条件约束考虑清楚

  2. 处理的过程考虑清楚

  3. 数据类型选择
    2 Switch

  4. switch case结构和if else if 结构类似,两者是可以互通

  5. if else if结构中可以处理范围性数据,处理的数据区间更加广泛

  6. switch case处理数据明确性更强,处理针对性选择比较合适
    3 循环

  7. 循环过程中最核心的内容就是循环变量,需要对于循环变量的执行的过程中数值变量完全掌握!!!如果无法明确循环的次数,循环变量的值,循环的过程,可以将循环代码中变量的变更过程记录。

  8. 循环过程中需要注意无限循环问题,控制无限循环问题的出现。一定要保证循环条件有效性或者代码中存在一个跳出循环的机制。

  9. do while循环中,第一次循环体的执行是没有经过任何的条件判断的,需要注意!
    【已知,可控】

  10. while和do while循环结构是可以进行互换的。

  11. 然后在while和do while之间考虑使用的情况下,一般推荐使用while循环。但是不代表do while没有实际的使用效果。

1 顺序结构
代码从上到下,从左至右执行,最基本原则。

2 分支结构
代码满足不同的条件,执行不同的结果

3 循环结构
代码中存在需要多次执行的情况,这里会使用到循环结构
例题
. 表达式(取值操作)
输入4个数,若第一个数第二个数相等,第三个数和第四个数的
和与第一个数和第二个数的和相等,输出1,否则输出0

		import java.util.Scanner;

class Demo0502 {
	public static void main(String[] args) {
		int a = 1;
		int b = 1;
		int c = 1;
		int d = 1;
		
	

Scanner sc = new Scanner(System.in);    
	
	System.out.println("请输入第1个数:");
	a = sc.nextInt();
	System.out.println("请输入第2个数:");
	b = sc.nextInt();
	System.out.println("请输入第3个数:");
	c = sc.nextInt();
	System.out.println("请输入第4个数:");
	d = sc.nextInt();
	
	if(a == b && (c + d) == (a + b)) {
		System.out.println("1");
	}else {System.out.println("0");}
}

}

. 流程控制(数值比较2)
定义三个整型变量x,y,z,从键盘初始化变量值,判断三个变量的大小,将较大的值
赋给变量max,将max输出,注意输入使用Scanner输入
import java.util.Scanner;

class Demo0504 {
	 public static void main(String[] args) {
		 int x = 0;
		 int y = 1;
		 int z = 2;
		 int max = 0;
		 
		 Scanner sc = new Scanner(System.in); 
		 
		 System.out.println("请输入x:");
		 x = sc.nextInt();
		 System.out.println("请输入y:");
		 y = sc.nextInt();
		 System.out.println("请输入z:");
		 z = sc.nextInt();
		 
		 if (x >= y && x >= z) {
			 max = x;
		 }else if (y >= x && y >= z) {
			 max = y;
		 }else if (z >= x && z >= y) {
			 max = z;
		 }
		  System.out.println("max:" + max);
	 }
 }

. 流程控制(月份天数判断)
输入一个月数,然后输出对应月份有多少天(不考虑闰年),将天数输出,注意输入
使用Scanner输入
比如:
输入 6 输出为30
输入 2 输出为28

import java.util.Scanner;
 
 class Demo0505 {
	 public static void main(String[] args) {
		 int a = 0;
		 
		 Scanner sc = new Scanner(System.in);
		 
		  System.out.println("请输入月份:");
		  a = sc.nextInt();
		  
		  switch(a) {
			  case 1:
			  System.out.println("本月天数:31");
			  break;
			  case 2:
			  System.out.println("本月天数:28");
			  break;
			  case 3:
			  System.out.println("本月天数:31");
			  break;
			  case 4:
			  System.out.println("本月天数:30");
			  break;
			  case 5:
			  System.out.println("本月天数:31");
			  break;
			  case 6:
			  System.out.println("本月天数:30");
			  break;
			  case 7:
			  System.out.println("本月天数:31");
			  break;
			  case 8:
			  System.out.println("本月天数:31");
			  break;
			  case 9:
			  System.out.println("本月天数:30");
			  break;
			  case 10:
			  System.out.println("本月天数:31");
			  break;
			  case 11:
			  System.out.println("本月天数:30");
			  break;
			  case 12:
			  System.out.println("本月天数:31");
			  break;
			  default:
			  System.out.println("输入数据错误");
		  }
		  }
	 }

. 流程控制(数值比较1)
定义两个整型变量x,y,从键盘初始化变量值,判断两个变量的大小,将较大的值赋
给变量max,将max输出,注意输入使用Scanner输入

 import java.util.Scanner;
 
 class Demo0503 {
	 public static void main(String[] args) {
		 int x = 0;
		 int y = 1;
		 int max = 0;
		 
		 Scanner sc = new Scanner(System.in); 
		 
		 System.out.println("请输入x:");
		 x = sc.nextInt();
		 System.out.println("请输入y:");
		 y = sc.nextInt();
		 
		 if (x >= y) {
			 max = x;
		 }else {max = y;}
		  System.out.println("max:" + max);
	 }
 }

. 表达式(立方)
编写程序,计算用户输入数据的立方

 import java.util.Scanner;

class Demo0509 {
	public static void main(String[] args) {
		int a = 1;
		int b = 1;
		
		Scanner sc = new Scanner(System.in);    
		
		System.out.println("请输入数据:");
		a = sc.nextInt();
		
		b = a * a * a;
		
		System.out.println(b);
	}
}

学到了一些开发思想,从用户角度出发
1 用户输入数据合法性判断
就算在提示中告知用户需要输入的数据范围是多少,但是用户在实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!

2 用户友好性提示
代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!!
用户粘性问题!!!用户提示!!!用户友好性!!!

发布了4 篇原创文章 · 获赞 0 · 访问量 18

猜你喜欢

转载自blog.csdn.net/qq_47101128/article/details/105604641