JAVA SE自学 基础篇

  • 流程控制(第三天)
  • 什么是分支(if)
  • 多重if
  • 嵌套if
  • switch结构
  • 循环的分析思路
  • while循环
  • do - while 循环
  • break和continue
  • for循环
  • 循环嵌套



目标

  1. 掌握if­else
  2. 掌握多重if­else if­else
  3. 掌握嵌套if结构
  4. 掌握switch
  5. 掌握while, do - while, for循环结构
  6. 掌握break和continue语句
  7. 能发现循环逻辑, 能发现循环中的变量, 能用循环解决问题

流程控制(第三天)

什么是分支(if)

java多重判断条件 java多重if结构_流程控制


典型语法:

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

执行过程:
条件成立时( true ) : 执行语句块1, 否则: 执行语句块2

需要注意的是: 条件表达式必须是一个boolean表达式!

多重if

java多重判断条件 java多重if结构_java多重判断条件_02


执行过程:

java多重判断条件 java多重if结构_流程控制_03


依次判断条件, 一旦条件为true, 则执行分支中的语句块, 然后跳出整个多重if结构.

嵌套if

嵌套if结构并不是一种专门的语法结构, 只要程序中需要用到判断, 只要你发现有一 个"如果"的逻辑存在, 不管是在哪里, 你都可以写if!

switch结构

switch ( byte|short|char|int|enum|string表达式 ) {   
	case 常量:
		语句块 4; 
		break; 
	case 常量:
		语句块 7;  
		break; 8  
	...
	default: 
		语句块;
		break;  
	}

执行过程:
计算机表达式的值, 和case后的常量进行匹配(等值比较), 如果找到了匹配的case, 执行其中的语句块, 遇到break则跳出整个switch结构; 如果找不到匹配的case, 执行default 分支.

switch和if的区别在于:

  • switch只能用于等值比较
  • switch表达式只能有限的几种类型

循环的分析思路

  1. 找出重复的逻辑
  2. 找出重复逻辑中发生变化的数据 ( 发现变量 )
  3. 套用语法, OK

如果不能直接分析出以上的逻辑, 那不如不要想循环, 用你的常规手段来写, 写着写得, 你总发会现有需要重复执行的代码, 这个时候引用循环就可以了.

如何循环条件不便于编写或很难分析, 可以直接用true作条件, 然后break语然在循环体 内控制循环的退出即可.

循环有三大要素:

  • 循环变量
  • 循环的条件是什么 ( 只有条件为真时, 循环体才会继续执行 )
  • 循环体 ( 要重复做什么事情 )

while循环

while ( 条件 ) { 
	循环体 
	}

执行过程, 以及和if结构的区别在于:

java多重判断条件 java多重if结构_基础概念_04

do - while 循环

do {
	循环体 
} while ( 条件 ) ;

java多重判断条件 java多重if结构_基础概念_05


要注意: do { }中声明的变量, 在while()中不能用!

break和continue

  • break用于跳出循环, 主要用于灵活地在循环体内结束循环
  • continue用于跳过本次循环剩下的代码, 继续执行下一次循环的条件判断, 主要用于循环体 复杂代码的简化

for循环

java多重判断条件 java多重if结构_java_06


执行顺序: 1, 2, 3, 4, 2, 3, 4, 2,3,4, … 3, 4, 2 --------结束

实际上, for循环是while的变体, 只是把while的各个部分以更严谨的语法进行了重新组合.

要注意的是:

  1. for中定义的变量, 在循环之后不能再使用!
  2. for( )中的1,2,4三部分都能省略, 便唯独 分号 不能省略!
  3. 如果for循环中有continue, 是这样跳转的:

    在应用上, for循环特别适用于固定次数的循环:
  • 输入10个整数 for( int i = 0; i < 10; i ++ )
  • 计算机1-100之间… for ( int i = 1; i <= 100; i++ )
  • 求1-1000之间的所有完数…
  • 打印若干个(N)星星 for ( int i = 0 ; i < N ; i ++ )
  • 求100-20之间的… for( int i = 100; i>=20; i-- )
  • 等等

循环嵌套

循环体内可能又会出现一些重复执行的事情,那么 循环里面潜逃一个小循环,理所应当!