1、顺序结构
顺序结构就是指按语句执行的先后顺序,或者说语句出现的先后顺序逐条执行程序语句、语句块,完全是按照程序平台的执行约定进行的,比如第一个 HelloWorld程序:
public class HelloWorld
{
      //程序的主函数入门
      public staticvoid main(String args[])
      {
           //输出打印字符语句
          System.out.println("HelloWorld!");
      }
}
执行的语句顺序依次如下:
1、public class HelloWorld,找到程序的定义类,从而进行编译字节码文件。
2、public staticvoid main(String args[]),找到程序的主方法(主函数)入口,执行该方法中的语句。
3、System.out.println("HelloWorld!"); 执行主方法中的打印语句。

一个项目的执行首先是找到程序的主类文件中的主类定义,即上面的第一个语句;然后去找主方法,并执行主方法中的语句,从而将程序逐渐编译执行。

二、分支语句——if语句

1、if语句的一般形式:
if(<条件表达式>) 
<语句组1>;
      [else     
<语句组2>;]
举例:
public class TestIF1 {
  public static void main(String[] args)   {
int i = 65;
        if (i>=60)
  System.out.println("及格");
else 
  System.out.println("不及格");
  }
}

这个例子用于判断一个分数是否及格,先判断if的条件表达式 x>=60是否为真,如果为true 则执行if语句的语句组,这里就是语句 System.out.println("及格!");,如果不为真 则执行else中的语句 System.out.println("不及格!");这是一种典型的二维判断,也就是只判断是否满足 if中的表达式情况,属于非此即彼的判断。
注意: 对于java的语法描述形式中 ,在尖括号中的语句是必须要有的, 在方括号中的语法是不是必须的,即需要的时候就用,不需要的时候就不用,比如if语句的一般形式语法形式中,if的表达式必须要有,语句组也必须要有(可以不写语句组,但是如果什么都不执行,if语句也就没有意义了),而else语句不是必须要有的,根据程序需来设置。

比如,如果只打印输出及格的分数,则就不需要 else语句了。

2、if语句的嵌套形式
if(<条件1>)
     <语句块1>;
elseif (<条件2>)
     <语句块2>;
elseif (<条件3>)

当对于多个条件进行判断用 if语句的一般形式就不行了,比如根据学生的成绩评定若干等级的问题。

public class TestIF2{
public static void main(String[] args){
int i = 88;
if(i >=90)
System.out.println("优秀");
else if (i >=80)
System.out.println("良好");
else if (i>=70)
System.out.println("中等");
else if (i>=60)
System.out.println("及格");
else
System.out.println("不及格");
}
}

程序的执行,首先判断 if 条件表达式,为真,则执行语句体。其余的 else if 和 else 语句均不执行;
if语句为假,则执行第一个 else if 表达式判断,为真,则执行语句体。其余的 else if 和 else 语句均不执行;
第一个 else if 表达式判断,为假,则对第二个  else if 表达式判断,为真,则执行语句体。其余的 else if 和 else 语句均不执行;
以此类推,直至执行到 最后的else语句。

实际上面的例子仍然是 if else语句的组成的,只是在一个 else语句中又使用到了 if else语句,具体格式写出来应该是如下:

public class TestIF2{
public static void main(String[] args){
int i = 88;
if(i >=90){
System.out.println("优秀");
}
else{
if (i >=80){
System.out.println("良好");
}
else{
if (i>=70){
System.out.println("中等");
}
else{
if (i>=60){
System.out.println("及格");
}
else{
System.out.println("不及格");
}
}
}
}
}
}

查看这个代码,可以看出这中写法看起来比较费劲,很容易搞混淆,所以才去了上面的写法,但是要注意,只有 if的嵌套才 使用这个写法,初次之外的程序语句均应按照标准的格式去写,以方便程序的阅读。

注意 :所谓分支语句,即不管其多么复制,只能执行其中某个条件判断中的一组语句。

三、分支语句——switch语句

switch语句的一般形式:
  switch(<表达式>)
 {
    case <值1>:<语句块1>;break;
    case <值2>:<语句块2>;break;
   ………..
   case <值n>:<语句块n>;break;
  [default:<缺省语句块>;]
 }

仍然以分数判断为例,代码如下:

public class TestSwitch {
public static void main(String[] args) {
int score=95;
int i=score/10; //因为 i 是整形变量,score/10=9.5 的值自动转换为整形变量9
switch(i) {
case 9: //当i的值为9时,执行语句体
System.out.println("优秀");
break; //中断判断,跳出 switch语句
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("中等");
break;
case 6:
System.out.println("及格");
break;
default: //当各个 case条件不满足是执行的语句
System.out.println("不及格");
}
}
}

四、使用 单if语句 实现 if嵌套、switch语句的功能

public class TestIF2{
public static void main(String[] args){
int i = 88;
String s;
if (i>=60)
s="及格"; //此时 s="及格"
else
s="不及格";
if (i>=70) s="中等"; // 此时 s="中等"
if (i>=80) s="良好"; //此时 s="良好"
if (i>=90) s="优秀"; //不执行
System.out.println(s);
}
}

通过将条件按照从小到大的顺序排列起来,不断改变s的值,从而利用顺序结构实现了分支选择结构。以上代码同样实现的成绩的等级判定功能,也实现了if嵌套、switch才能实现的功能。
但是这种代码看起来结构不够清晰,容易出错,但确实是一种实现思路。其有一个缺点,就是每条 if 语句都要执行判断一次,而采用 if嵌套、switch语句当执行到符合条件的表达式是,就不需要执行其余的判断语句了,当程序中采用这样的模式进行处理程序时,就造成了硬件资源的浪费。

五、while循环
while语句是Java语言最基本的循环语句.
while语句的一般形式 :                               
    
     while(<条件表达式>)     
    {
          <循环体>;      
     }

例子:自然数从1累加到100

public class TestWhile {
public static void main(String[] args){
int i=1,sum=0;
while(i<=100){ //先判断条件表达式,再执行 循环体
sum+=i;
i++;
}
System.out.println(sum);
}
}

六、do-while循环
do-while语句的一般形式为:
 
 do{    
    <循环体语句>;
   } while (<条件表达式>);

public class TestDoWhile {
public static void main(String[] args){
int i=1,sum=0;
do{
sum+=i;
i++;
}
while(i<=100);
System.out.println(sum);
}
}

注意:while循环是先判断条件表达式,再执行循环体;而 do-while循环是 先执行一次循环体,然后再判断条件表达式。

七、for循环
for语句的一般形式为:
 for (<表达式1>;<表达式2>;<表达式3>)
 {
   <循环体语句>
  }
其中:
表达式1是设置控制循环的变量的初值。
表达式2作为条件判断部分可以是任何布尔表达式。
表达式3是修改控制循环变量递增或递减,从而改变循环条件。

实例

public class TestFor {
public static void main(String[] args){
int i,sum=0;
for(i=1;i<=100;i++){
sum+=i;
}
System.out.println(sum);
}
}

java的控制流程的更多相关文章

  1. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  2. Java基础—控制流程语句(条件语句与循环结构)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ...

  3. java基础-控制流程语句

    一 前言 周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了.基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者 ...

  4. Java SE ---控制流程:break与continue语句

    在java中,可以使用break和continue语句控制循环.     1. break语句:用于终止循环,就是跳出当前循环,执行循环后面的代码. .     2. continue语句:用于跳出当 ...

  5. Java自学-控制流程 结束外部循环

    Java中结束外部循环 Java中如何结束外部for循环? 示例 1 : 结束当前循环 break; 只能结束当前循环 public class HelloWorld { public static ...

  6. Java自学-控制流程 break

    Java的break语句 结束循环 示例 1 : break; 直接结束当前for循环 public class HelloWorld { public static void main(String ...

  7. Java自学-控制流程 for

    Java的for循环 for循环,和while一样,只是表达方式不一样 示例 1 : for 比较for和while public class HelloWorld { public static v ...

  8. Java自学-控制流程 continue

    Java的 continue语句 继续下一次循环 示例 1 : continue 如果是双数,后面的代码不执行,直接进行下一次循环 public class HelloWorld { public s ...

  9. Java自学-控制流程 switch

    Java的 switch 语句 switch 语句相当于 if else 的另一种表达方式 示例 1 : switch switch可以使用byte,short,int,char,String,enu ...

随机推荐

  1. php数组array,知道键名如何提取键值

    如果是知道键值,需要查找键名,直接使用array_search()即可.现在反过来,如何操作?   (1)array_walk_recursive()加自定义函数查找   $arr=array( 'n ...

  2. (12)Visual Studio 2012如何透过电子邮件部署Xamarin.Android App

    原文 Visual Studio 2012如何透过电子邮件部署Xamarin.Android App Android App在部署到实机的时候不像iOS的App限制你一定要使用向Apple申请的开发者 ...

  3. Genymotion中SD卡目录在Eclipse中查看,以及创建SDCard

    咦?这后面似乎指向一个目录,我就去找/mnt/shell/emulated/0 Wow~好熟悉的目录..不熟悉的同学可以打开android模拟器的File Manger App 里面就是这些目录了,然 ...

  4. C语言入门(5)——运算符与表达式

    C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善.这也是C语言的主要特点之一. C语言的表达式由运算符.常量及变量构成.C语言表达式基本遵循一般代数规 ...

  5. 利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转

    (一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分, ...

  6. applet部署,无需修改客户端设置。

    1  开发applet程序,编译成jar包 2  给jar包做数字签名: (1).用keytool生成密钥: keytool -genkey -keystore myapplet.keystore - ...

  7. 【转】Python3.x移除了callable内建函数

    原文地址:http://www.cnblogs.com/elvisxu/archive/2010/10/26/1861958.html 最近学习Python的时候,在Python3下跑<Dive ...

  8. React常用的命令解析

    1.在目录终端下输入命令: browserify index.js -o bundle.js 该命令将require的所有文件统一打包在一个bundle.js文件中. 2.解释React文件 $ js ...

  9. Rikka with Chess(规律)

    Rikka with Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  10. char、varchar和nvarchar的区别

    首先char.varchar和nvarchar.text.ntext都是数据库中的文本数据类型,再区分区分var前缀.n前缀的区别.而text.ntext已经普遍被varchar(MAX)和nvarc ...