1、流程控制
1)顺序结构
没有任何流程控制,自上而下依次执行。
2)分支结构
[1]if条件语句
三种形式:
if(条件){
//流程
}
if(条件){
//流程
}else{
//流程
}
if(条件){
//流程
}else if(条件){
//流程
}
...//这里可以接多个else if
else//最后这个else可以省略
{
//流程
}
例子:
int a = 5;
if(a > 4){
system.out.println("a大于4!");
}else if(a < 4){
system.out.println("a小于4!");
}else{
system.out.println("a等于4!");
}
[2]增强后的switch
switch语句由一个控制表达式和多个case标签组成,和if不同的是switch后边跟的不是boolean类型,而是byte、short、char、int四种数字类型,枚举型和String类型(从jdk1.7版本才可以)。
package com.alex.demo02;
/** * Description * <br>网站:<a href= "http://blog.csdn.net/qq_32347977">Alex的博客</a> * <br>This is a demo of switch * <br> * <br> * <br> * @author Alex * @version 1.0 */
public class SwitchTest {
/** * 主方法,程序的入口 * @param args */
public static void main(String[] args) {
String season = "春天";
switch(season){
case "春天":
System.out.println("春暖花开!");
break;
case "夏天":
System.out.println("夏日炎炎!");
break;
case "秋天":
System.out.println("秋高气爽!");
break;
case "冬天":
System.out.println("冬雪皑皑!");
break;
default:
System.out.println("季节输入错误");
}
}
}
注意:switch条件是byte、short、char、int四种数字类型,枚举型和String类型(从jdk1.7版本才可以),而每一个case后必须跟一个break,否则会继续执行。
3)循环结构
[1]while
while(条件){
//流程
}
当条件为真时,流程会一直执行,知道条件为假的时候跳出循环。
package com.alex.demo02;
/** * Description * <br>网站:<a href= "http://blog.csdn.net/qq_32347977">Alex的博客</a> * <br>This is a demo of while * <br> * <br> * <br> * @author Alex * @version 1.0 */
public class WhileTest {
/** * 主方法,程序的入口 * @param args */
public static void main(String[] args) {
//循环初始化值
int count = 0;
//循环条件
while(count < 10){
System.out.println(count);
//迭代流程
count++;
}
System.out.println("循环结束!");
}
}
[2]do while
do while 和while循环的区别在于:while先判断条件在执行流程,而do while是先执行流程,后判断条件,do while必须在循环条件后加分号。
do{
//流程
}while(条件);
package com.alex.demo02;
/** * Description * <br>网站:<a href= "http://blog.csdn.net/qq_32347977">Alex的博客</a> * <br>This is a demo of while * <br> * <br> * <br> * @author Alex * @version 1.0 */
public class DoWhileTest {
/** * 主方法,程序的入口 * @param args */
public static void main(String[] args) {
//循环初始化值
int count = 0;
//循环条件
do{
System.out.println(count);
//迭代流程
count++;
}while(count < 10);
System.out.println("循环结束!");
}
}
[3]for
for循环比while简洁,大部分情况下都可以代替while循环。
for(初始化;条件;流程){
//操作
}
package com.alex.demo02;
/** * Description * <br>网站:<a href= "http://blog.csdn.net/qq_32347977">Alex的博客</a> * <br>This is a demo of while * <br> * <br> * <br> * @author Alex * @version 1.0 */
public class ForTest {
/** * 主方法,程序的入口 * @param args */
public static void main(String[] args) {
//循环的初始化值,循环条件和迭代语句都在for一行
for(int i=0; i< 10; i++){
System.out.println(i);
}
System.out.println("循环结束!");
}
}
[4]嵌套循环
嵌套循环是在一个循环内加入另一个循环,可叠加多个。
package com.alex.demo02;
/** * Description <br> * 网站:<a href= "http://blog.csdn.net/qq_32347977">Alex的博客</a> <br> * This is a demo of ForNested <br> * <br> * <br> * * @author Alex * @version 1.0 */
public class ForNestedTest {
/** * 主方法,程序的入口 * * @param args */
public static void main(String args[]) {
//外层虚幻
out:for (int i = 1; i <= 9; i++) { // 控制行
//内层循环
inner:for (int j = 1; j <= i; j++) { // 控制列
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
System.out.println();
}
}
}
continue 是跳过本次循环执行下一次循环,break是直接关闭循环。
这是一个99乘法表,如果想不要那一列可以在inner循环加上:continue inner;如果不想要那一列可以外循环加continue out;跳出内循环:break inner;跳出外循环 break out;如果想结束,直接return。