一、顺序结构
Java最基本的结构就是顺序结构, 除非特别指明, 否则就按照顺序一行一行执行。
语句与语句之间,是按从上到下的顺序进行的, 它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
二、选择结构
1、if 单选泽结构
package struct; import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容"); String s = scanner.nextLine(); if (s.equals("Hello")) { System.out.println(s); } System.out.println("End"); scanner.close(); } }
打印结果:
jjj End // -------------------------------------- Hello Hello End
2、if 双选择结构
package struct; import java.util.Scanner; public class IfDemo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩: "); int score = scanner.nextInt(); if (score > 60) { System.out.println("及格"); }else { System.out.println("不及格"); } } }
打印结果:
请输入成绩: 80 及格
3、if 多选择结构
package struct; import java.util.Scanner; public class IfDemo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩: "); int score = scanner.nextInt(); if (score == 100) { System.out.println("满分"); }else if (score < 100 && score >= 90) { System.out.println("A级"); }else if (score < 90 && score >= 80) { System.out.println("B级"); }else if (score < 80 && score >= 70) { System.out.println("C级"); }else if (score < 70 && score >= 60) { System.out.println("D级"); }else if (score < 60 && score >= 0) { System.out.println("不及格"); } else { System.out.println("成绩不合法"); } } }
打印结果:
请输入成绩: 90 A级 // ------------- 请输入成绩: 102 成绩不合法
4、嵌套的 if 结构
if (布尔表达式 1) { // 代码部分 if (布尔表达式 2) { // 代码部分 } }
5、switch多选择结构
switch (expression) { case value: // 语句 break; case value: // 语句 break; default: // 语句
三、循环
1、while 循环
while( 布尔表达式 ) { // 循环内容 }
2、do...while 循环
对于while 语句而言, 如果不满足条件, 则不能进入循环. 但有时候我们需要即使不满足条件,也至少执行一次.
do...while 循环和while循环相似, 不同的是, do...while 循环至少会执行一次.
do { // 代码语句 } while (布尔表达式);
while 和 do-while的区别:
// while先判断后执行. do-while是先执行后判断! // do-while总是保证循环体会被至少执行一次 这是主要区别
3、for 循环
for (初始化; 布尔表达式; 更新) { // 代码语句 }
增强 for 循环
遍历数组和集合对象的,后面具体
java5 引入了一种主要用于数组和集合的增强型 for 循环.
java 增强 for 循环语法格式如下:
for ( 声明语句 : 表达式 ) { // 代码语句 }
// 声明语句: 声明新的局部变量, 该变量的类型必须和数组元素的类型匹配. // 其作用域限定在循环语句块, 其值与此时数组元素的值相等. // 表达式: 表达式是要访问的数组名, 或者是返回值为数组的方法
package struct; public class ForDemo01 { public static void main(String[] args) { int[] numbers = {10, 20, 30, 40, 50}; for (int x: numbers) { System.out.println(x); } } }
4、break & continue
break 控制循环的流程,用于强制退出当前层循环
continue用于终止某次循环过程
关于 goto 关键字
/* goto 关键字很早就在程序设计语言中出现. 尽管goto仍是java的一个保留字, 但并未在语言中得到正式使用; java没有goto, 然而, 在break和continue这两个关键字上, 我们仍能看出一些goto的影子 ---带标签的break 和 continue 标签 是指后面根一个冒号的标识符, 例如: lable: 对java来说唯一用到标签的地方是在循环语句之前. 而在循环语句之前设置标签的唯一理由是: 我们希望在其中嵌套另一个循环, 由于break 和 contine关键字通常只终端当前循环, 但若随同标签使用, 他们就会中断到存在标签的地方 */