通常来说,对于一个java程序,如果没有一些控制语句,程序就是从上往下直接执行完毕。

//没有控制语句,直接从上往下执行
public class Control01 //类名
{   //java application程序主入口函数,带命令行参数
    public static void main(String[] args) {
        int a = 20;//定义变量a的值为20
        int b = 15;//定义变量b的值为15
        int c = a + b;//定义变量c,将a+b的值赋给c
        int d = a-b;//定义变量d,将a-b的值赋给d

        System.out.println(c);//输出c的值  --->35
        System.out.println(d);//输出d的值  --->5
    }
}

if语句

if语句的格式是:

/*

if(关系表达式){

语句体;

}
 */

如果关系表达式结果为true,则执行语句体,如果为false,就不执行语句体,直接执行后面的语句内容。

如下所示就是一个使用了if语句的java程序,用于获得a和b中的较大值。

//使用if语句进行选择a和b中的较大值
public class ifDemo //类名
 {   //java application程序主入口函数,带命令行参数
     public static void main(String[] args) {
         int a = 10;//定义变量a,将10赋值给a
         int b = 5;//定义变量b,将5赋值给b
         int max = 0;//定义变量max,用来存放a与b之中的较大值
         if (a > b)//if语句的判断条件
         {
             max = a;//将a的值赋给max
         }
         System.out.println(max);//输出max
     }
}

不过很明显该程序不完整,如果b比a大,就不会得到b的值,所以就要使用if….else语句。

if…..else

if…else的格式是

/*

if(关系表达式){

语句体1;

}else{

语句体2;

}
 */

当关系表达式的结果为true时执行语句体1,为false时执行语句体2。

如下所示,还是获得a和b中较大值的程序,不过这里使用if…..else语句当b比a大的时候也能够顺利的获取b的值。

//使用if...else语句进行选择a和b中的较大值
public class ifDemo //类名
 {   //java application程序主入口函数,带命令行参数
     public static void main(String[] args) {
         int a = 10;//定义变量a,将10赋值给a
         int b = 15;//定义变量b,将5赋值给b
         int max = 0;//定义变量max,用来存放a与b之中的较大值
         if (a > b)//if语句的判断条件
         {
             max = a;//将a的值赋给max
         }else{
             max = b;//将b的值赋给max
         }
         System.out.println(max);//输出max
     }
}

if…else if…else

if…else if…else的结构是

/*
if(关系表达式1){

语句1;

}else if(关系表达式2){

语句2;

}

…

else{

语句n+1;

}

 */

如果表达式1为true则执行语句1,表达式2为true则执行语句2,以此类推,如果所有表达式都为false都为false执行else后的语句n+1。

如下所示的java程序使用if…else if…else实现了判断a是大于100,小于100还是等于100的功能.

//判断a是大于100,等于100,还是小于100
public class ifDemo2 //类名
{   //java application程序主入口函数,带命令行参数
    public static void main(String[] args) {
        int a = 98;//定义变量a

        if (a > 100) //表达式1
        {
            System.out.println("a的值大于100");//如果表达式1为true,则执行输出
        } else if (a < 100)//表达式2
        {
            System.out.println("a的值小于100");//如果比较表达式2为true,则执行输出
        } else {
            System.out.println("a的值等于100");//如果比较表达式1和2都为false,则执行输出
        }
    }
}

 swithch语句

switch语句的结构是:

/*
switch(表达式){

case 值1:

 语句体1;

 break;

case 值2:

 语句体2;

 break;
 ………

case 值n:

 语句体n;

 break;

default:

 语句体n+1;

}
 */

执行到switch语句时,首先会执行表达式,根据表达式的值比较case后面的值,如果相匹配就执行对应case中的语句,执行完毕通过break跳出switch语句。如果case后的值都没有匹配成功,就会执行default中的语句。

如下所示的java程序是通过switch来表示今天是星期几。

//使用switch判断今天是星期几
public class SwitchDemo //类名
 {   //java application程序主入口函数,带命令行参数
     public static void main(String[] args) {
         int a = 6;//定义变量a,用来表示输入的星期几
         switch (a)//判断a的值
         {
             case 1://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期一");
                 break;//跳出swithch语句
             case 2://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期二");
                 break;
             case 3://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期三");
                 break;
             case 4://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期四");
                 break;
             case 5://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期五");
                 break;
             case 6://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期六");
                 break;
             case 7://a的值如果为2,则输出下面的语句
                 System.out.println("今天是星期日");
                 break;
             default://如果前面case后的值都与a不匹配,则执行下面的语句
                 System.out.println("输入错误");
         }
     }
}

for循环

for循环语句的一般结构是:

/*
for(初始化语句;条件判断语句;条件控制语句){

循环体语句;

}
 */

执行到for循环语句时,首先会得到循环变量的值,然后执行条件判断语句是否为true,如果为false就不执行循环,如果为true则会进入到循环体去执行语句,接着再执行条件控制语句,这样一次循环就结束了。接着又会重复上面的步骤直到循环条件为false。

如下所示,该java程序是利用for循环得到7的阶层。

//使用for循环得到从7的阶乘
public class ForDemo //类名
{   //java application程序主入口函数,带命令行参数
    public static void main(String[] args) {
        int x=1;//定义x用来存放阶乘的结果
        for(int a = 7;a>0;a--)
        {
            x=x*a;//每次循环进行相乘
        }
        System.out.println(x);//输出阶乘的结果 ---->5040
    }
}

while循环

while循环语句的一般结构是:

/*
while(条件判断语句){

循环体语句;

条件控制语句;

}
 */

当执行到while循环语句时,首先判断循环条件,如果循环条件结果为true,则执行循环体语句,如果为false则不执行。

如下所示,该java程序是使用while循环得到1到10的累加和。

//使用while语句得到1到10的累加
public class WhileDemo//类名
{   //java application程序主入口函数,带命令行参数
    public static void main(String[] args) {
        int  i = 10;//定义变量i
        int sum = 0;//定义变量sum用于存放累加和
        while(i>0)//循环的判断条件
        {
            sum = sum + i;//每次循环进行的累加
            i--;//每次循环都要i减1
        }
        System.out.println(sum);//输出累加和  --->55
    }
}

do…while循环

do…while循环语句的一般结构是:

/*
do{

循环体语句;

条件控制语句;

}while(关系表达式);
 */

do…while循环与while循环的区别是while循环是先进行判断然后再决定执不执行,而do…while语句是先执行循环体,然后再进行判断是不是继续循环,它能够使得循环体一定能够被执行一次。

如下所示,该java程序也是得到1到10的累加和,不过是使用do…while来得到。

//使用do...while得到1到10的累加和
public class DoWhileDemo //类名
{   //java application程序主入口函数,带命令行参数
    public static void main(String[] args) {
        int i = 10;//定义i变量
        int sum = 0;//定义sum变量用来存放累加和
        do{
            sum =sum+i;//每次循环进行的累加
            i--;//每次循环i减1
        }while(i>0);//循环的判断条件

        System.out.println(sum);//输出累加和 --->55
    }
}