做任何事情都应当遵守一定的原则,程序设计也是如此,需要有流程控制语言来实现与用户的交流。流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段,如果没有流程控制语句,整个程序将按照线性顺序执行,不能根据用户的输入决定的序列。


  • Java语言的流程控制语句

  • 复合语句
  • 条件语句
  • 循环语句
  • 循环控制

  • 复合语句

与c语言及其他语言相同,Java语言的复合语句是整个代码块为单位的语句,所以又称块语句。复合语句使用一对{}表示。

复合语句其实非常常见,我们在类的创建,及方法的定义上,类体就是以{}作为开始与结束的,复合语句中每个语句都是从上往下被执行的,复合语句以整块为单位,能够在任何一个单独语句可以使用到的地方,并且在复合语句中还可以嵌套复合语句。

需要注意的是,在复合语句的使用中,复合语句为局部变量创建一个作用域,如果在该域外调用局部变量则会发生错误。

public class class_structure {  // 主类
public static void main(String[] args) { // 主方法。
}
}
  • 条件语句

条件语句有两种,if..else条件语句与switch多分支语句,条件语句也是我们日常经常会使用到的条件判断语句。

  • if条件语句

    if是一个非常重要的编程语句,用于告诉程序在某个条件成立的情况下执行的某段语句,而在另一种情况下执行另外的语句。

    if条件语句可分为三种:简单的if语句,正常的if...else语句,可以持续嵌套的if...else if,多分支语句,if...else if语句的效果和sweitch多分支语句是相同的。
if(布尔表达式){// 如果条件为true,则执行该复合语句体

}else{ // 如果条件为false,则执行该复合语句体

}
  • switch多分支语句

    在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检查依次类推,这就需要使用到switch多分支语句了,当然使用多个if语句,或if..else if语句嵌套也可以实现,但太麻烦和臃肿。
Swicth(表达式){
case 常量值1:
语句块(也可以使用复合语句)
break;
case:常量值2:
语句块
break;
...
default:
语句块
break;
}

需要注意的是,swicth语句中表达式的值必须是一个整型,字符型,或字符串型,这一点就和if语句不同了。Swicth首先计算出表达式的值,然后一次与case相比较,相同则执行case下语句块,否则有break就跳出,没有就再对比下一个case。

  • 循环语句

    循环语句就是满足一定条件的情况反复执行某一操作。在Java中提供了三种常用的循环语句,分别是while循环语句,do...while循环语句,和for循环语句。

  • while语句

    也称条件判断语句,它的循环方式利用一个条件来控制是否继续反复执行这个语句。

while(条件表达式){
执行语句
}

当while语句表达式为true时,执行{}语句块,当执行完成后,再判断表达式的返回值,知道返回值为false时,推出循环。

当while(x==5);这样使用时,并不代表接下来while不进行循环,而是判断为空语句,而进入无限循环,而编译器不会报错。

  • do while循环语句

do..while语句与while语句一样,他们之间的区别是while语句为先判断条件是否成立,再执行循环体,而do..whille语句是先执行一次循环后再判断条件是否成立,也就是说,do while语句中,循环至少运行要运行一次。

do{
执行语句
}
while(条件表达式);

  • for循环语句

for 循环时Java程序设计中最有用的循环语句之一,一个for循环可以用来重复执行某条数据。直到某个条件得到满足在Java5以后,增加了foreach语法,常用来遍历数组。

  • for语句
int sum=0;
for(int i=2;i<=100;i+=2){
sum = sum +i;
}

表达式1:初始化表达式式.

表达式2:循环表达式,值为Boolean型的表达式。指定循环条件。

表达式3:循环后操作表达式,负责休整变量,改变循环条件 。

在执行for循环的时候,首先执行表达式1,完成某一变量的初始化,下一步判断表达式2,若2的值为true,则进入循环体;在执行完循环体后紧跟着计算表达式3;这部分通常是增加或减少循环控制变量的一个表达式,这样一轮循环就结束了,第二轮循环从计算表达式2开始,若表达式2返回true,则继续循环,否则跳出for语句。

// for语句也可以使用这种方式实现无限循环,在这种循环中,可以使用break跳出循环。
for(;;){
....
break;
}
  • foreach语句

foreach语句是for语句的特殊简化版本,不能完全取代for语句,但任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。foreach语句在遍历数组等方面为程序员提供了很大的方便。

for(元素变量x:遍历对象 obj){
引用了x的Java语句;
}

foreach语句中的元素变量x,不必对其进行初始化。

int a[]={1,2,3}; // 声明数组a。
foreach(int b:a){
system.out.println(x); // foreach语句,int b引用变量,a指定要循环的数组。最后将b输出
}
  • 循环控制

  • break语句

    使用break语句可以跳出switch语句结构,同样也可以用break语句跳出当前的循环体,从而中断循环。

需要注意的是,在循环嵌套中,break只能跳出当前循环体,只能跳出一层循环,而不能跳出整个嵌套的循环体。

当然,Java语言中提供了标签机制来配合break机制跳出任意一层循环,只需要将循环体打上标签,然后在使用break的时候使用对应的标签,就可以跳出对应标签的循环体。

Loop:for(int i=0;i<3;i++){ // 在for循环前用标签标记循环体。
for(int j=0;j<6;j++){ // 嵌套循环。
if(j==4){
break Loop; // 直接跳出Loop标签的循环体
}
System.out.println("i="+i+"j="+j)
}
}

最后会在j=4时,跳出循环。

  • continue语句

continue语句时针对break语句的补充,Continue语句不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始循环,在for循环语句中遇到continue语句使控制直接回到条件测试部分。

当然的continue语句也一样可以使用标签跳出指定循环体。


学习了流程控制语句后,我们直到了可以使用复合语句为变量定义一个有效区域,通过if和switch语句,可以基于布尔类型的测试,将一个程序分成不同的部分;通过while,do...while循环语句和for循环语句,可以让程序的一部分重复的执行。直到满足某个终止循环的条件。


关于流程控制 完

更新时间:

2019-4-2

21:41

【Java初探03】——流程控制语句的更多相关文章

  1. java基础3_流程控制语句

    一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...

  2. Java基础学习-流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...

  3. java基础(5):流程控制语句(switch)、数组

    1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...

  4. Java基础语法—流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.所以,我们必须清楚每条语句的执行流程.而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能. 3.1 流程控制语句分类 ​ ...

  5. JAVA 1.7 流程控制语句 续

    1. Java中的循环控制语句一共有3种,分别是while,do… while以及for循环.2. while循环,形式为:while(布尔表达式){//待执行的代码}3. do…while循环,新式 ...

  6. JAVA 1.6 流程控制语句

    1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...

  7. 再回首,Java温故知新(九):Java基础之流程控制语句

    流程控制语句分为条件语句.循环语句和中断语句. 中断语句包括break和continue,两者的区别在于break会跳出整个循环,而continue则是跳出此次循环,之后还会继续下一次循环. 条件语句 ...

  8. java基础,流程控制语句

                                流程控制语句 条件语句:              if语句:                        *if(条件 boolean类型) ...

  9. IT兄弟连 Java语法教程 流程控制语句 分支结构语句5

    5  switch-case条件语句 Java中的第二种分支控制语句时switch语句,switch语句提供了多路支持,因此可以使程序在多个选项中进行选择.尽管一系列嵌套if语句可以执行多路测试,然而 ...

随机推荐

  1. 1.2.4注意Sysyem.out.println与i--

    package com.cky.thread; /** * Created by chenkaiyang on 2017/11/27. */ public class MyThreadThird ex ...

  2. uva1659(最大费用循环流)

    紫书上的一道题,做法见紫书P378,这篇博客用的第二种方法,关于正确性的证明,画图可以发现如果一个环是负环,跑最小费用流跑出的是环上的所有正边,再减去负边和即为跑一遍的负权,如果是正环,最小费用流即为 ...

  3. 修改Android EditText光标颜色

    EditText有一个属性:android:textCursorDrawable,这个属性是用来控制光标颜色的   android:textCursorDrawable="@null&quo ...

  4. redis链接

    参考资料:http://www.runoob.com/redis/redis-connection.htmlRedis 连接Redis 连接命令主要是用于连接 redis 服务.实例以下实例演示了客户 ...

  5. Java读取修改Properties文件

    properties文件是我们经常需要操作一种文件,它使用一种键值对的形式来保存属性集. 无论在学习上还是工作上经常需要读取,修改,删除properties文件里面的属性. 本文通过操作一个prope ...

  6. java中int和Integer对比的一些坑

    --------------------- 作者:狂飙的yellowcong 来源:CSDN 原文:https://blog.csdn.net/yelllowcong/article/details/ ...

  7. DEV通过FindFilterText自动检索gridview内容

    private void TreeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (names!=nul ...

  8. C# WPF 中WebBrowser拖动来移动窗口,改变窗口位置

    前言 wpf中的WebBrowser相比之前的winform阉割了不少东西,也增加了不少东西,但是msdn对wpf也没有较好的文档 WebBrowser可以说是一个.NET控件,相对于WPF中的控件, ...

  9. 关于ubuntu软件卸载的问题

    ...... 起因很菜....就是手贱把/usr/lib/下的R的目录给rm -rf掉了, 然后在R的软件包里用./configure也生不成, R RHOME还在, 然而因为lib下的R删掉了所以R ...

  10. ZJOI Round2游记

    虽然一试很惨但是二试还是要来玩一下的 Day 0 到余姚了,然后到余姚边上的宾馆住来下来 顺便一问老师们对边上是不是有什么误解-- 吃完晚饭就回宾馆颓了 话说半夜真刺激--住隔壁那一位手突然骨折了,本 ...