上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构、判断结构(if)、选择结构(switch)、循环结构。

1.判断结构

①if语句的第一种格式:
        if(条件表达式)
        {
            执行语句;
        }

②if语句的第二种格式:

if(条件表达式)
        {
            执行语句;
        }
        else//否则
        {
            执行语句;
        }

注:当if else运算后,有一个具体的结果时,可以简化写成三元运算符。

③if语句第三种格式:
        if(条件表达式)
        {
            执行语句;
        }
        else if (条件表达式)
        {
            执行语句;
        }
        ……
       else
       {
            执行语句;
       }

2.选择结构

switch(表达式)
        {
            case 取值1:
                执行语句;
                break;
            case 取值2:
                执行语句;
                break;
            …...
            default:
                执行语句;
                break;
        }

注:switch特点能选择的数据是有限的,只有byte,short,int,char这四种数据类型可用。switch在选择时先选择第一个有效选择,如果都没成立,再选择default;switch执行结构是遇到大括号或者break时结束,否则一直执行,直到条件成立!

特殊案例:

int x = 2;
        switch(x)//byte,short,int,char.
        {
            default:
                System.out.println("d");
                //break;
            case 4:
                System.out.println("a");
                //break;
            case 1:
                System.out.println("b");
                break;
            case 3:
                System.out.println("c");
                break;
           
        }

输出d a b,原理:执行到default时候没有break,并且default放在最前面,所以会继续向下执行,而不再判断其他答案,将能执行的语句按照顺序结构执行,直到碰到break或者大括号结束,所以输出顺序应该是d a b;

if和switch的应用:

if:
    1,对具体的值进行判断。
    2,对区间判断。
    3,对运算结果是boolean类型的表达式进行判断。

switch:
    1,对具体的值进行判断。
    2,值的个数通常是固定的。
    对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。
    效率相对高一点。

3.循环结构

①.while方式:

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

②.do while 方式:

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

注:do while语句的特点:无论条件是否满足,循环体至少执行一次。

③.for 方式:

for(初始化表达式;循环条件表达式;循环后的操作表达式)
        {
            执行语句;(循环体)
        }

注:for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足为止。

while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。

最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来判断循环。

4.其他的流程控制语句

break(跳出)语句:应用范围:选择结构和循环结构。

continue(继续)语句:应用于循环结构。

注:a,这两个语句离开应用范围,存在是没有意义的。

b,这两个语句单独存在下面都不可以有语句,因为执行不到。

c,continue语句是结束本次循环继续下次循环。

d,标号的出现,可以让这两个语句作用于指定的范围。

例:

标号的举例:

xiaoqiang:for (int x=0; x<3 ;x++ )
      {
             wangcai:for (int y=0; y<4 ; y++)
            {
                   System.out.println("x="+x);
                     break xiaoqiang;
             }
   
       }

Java 基础入门随笔(4) JavaSE版——程序流程控制的更多相关文章

  1. 3、Java基础语法(下):程序流程控制

    程序流程控制 从键盘获取不同类型的变量: 使用Scanner类,具体实现步骤: 1.导包:import java.util.Scanner; 2.Scanner的实例化:Scanner scan = ...

  2. Java 基础入门随笔(2) JavaSE版——关键字、进制转换、类型转换

    1.Java语言-关键字 关键字:被java语言赋予了特殊含义的词,特点是所有的字母都为小写. java涉及到的关键字整理: 用于定义数据类型的关键字 class interface byte sho ...

  3. Java 基础入门随笔(1) JavaSE版——java语言三种技术架构

    1.java语言的三种技术架构: J2SE(java 2 Platform Standard Edition):标准版,是为开发普通桌面和商务应用程序提供的解决方案.该技术体系是其他两者的基础,可以完 ...

  4. Java 基础入门随笔(11) JavaSE版——继承、覆盖、抽象类

    1.面向对象的特征二:继承 定义: 指一个对象直接使用另一对象的属性和方法. 继承好处: 1.提供代码的复用性. 2.让类与类直接产生了关系,给第三个特征多态提供了前提. java中支持单继承.不直接 ...

  5. Java 基础入门随笔(10) JavaSE版——单例设计模式

    设计模式:对问题行之有效的解决方式.其实它是一种思想. 1.单例设计模式. 解决的问题:就是可以保证一个类在内存中的对象唯一性.(单个实例) 使用单例设计模式需求:必须对于多个程序使用同一个配置信息对 ...

  6. Java 基础入门随笔(9) JavaSE版——文档注释

    上节中写了一些static变量以及静态的方法的定义使用以及与非静态的差别,这节补充下: 如果在一个类中所有方法都为静态的,且无成员变量,这时候需要对对应的类进行限制该类无法创建对象,具体操作如下: p ...

  7. Java 基础入门随笔(8) JavaSE版——静态static

    面向对象(2) this:代表对象.代表哪个对象呢?当前对象. 当成员变量和局部变量重名,可以用关键字this来区分. this就是所在函数所属对象的引用.(简单说:哪个对象调用了this所在的函数, ...

  8. Java 基础入门随笔(7) JavaSE版——面向对象定义、特征:封装、构造函数

    面向对象 面向过程:对于面向过程思想,强调的是过程(动作). 面向对象:对于面向对象思想,强调的是对象(实体). 特点: 1,面向对象就是一种常见的思想.符合人们的思考习惯.2,面向对象的出现,将复杂 ...

  9. Java 基础入门随笔(6) JavaSE版——数组操作

    1.数组 概念:同一种类型数据的集合.其实就是数组就是一个容器. 好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式: ①. 元素类型[] 数组名 = new 元素类型[元素个数或数组 ...

随机推荐

  1. TCP_NODELAY和TCP_CORK nagle算法和cork算法

    TCP_NODELAY 默认情况下,发送数据採用Nagle 算法.这样尽管提高了网络吞吐量,可是实时性却减少了,在一些交互性非常强的应用程序来说是不同意的.使用TCP_NODELAY选项能够禁止Nag ...

  2. MySQL 高可用架构在业务层面的分析研究

    )读多写少 虚线表示跨机房部署,比方电子商务系统.一个Master既有读也有些写.对读数据一致性须要比較重要的.读要放在Master上面. M(R)仅仅是一个备库.仅仅有M(WR)挂了之后,才会切换到 ...

  3. android菜鸟之路-事件分发机制总结(二)

    ViewGroup事件分发机制 自己定义一个LinearLayout,ImageView和Button,小二,上代码 <LinearLayout xmlns:android="http ...

  4. 介绍Android拍照,录像开发的相关东东

    Android下相机有自带的照片功能,可是作为开发人员,我们需要更为深层次的知道,怎么用,以及相关原理,这里我就这方面的学习,写一下心得,供博友参考. 第一种:调用系统自带相机界面. 这时我们在布局文 ...

  5. 【Android】自己定义View

    翻译自:http://developer.android.com/training/custom-views/index.html 一)创建view类 一个设计良好的自己定义view与其它的类一样.它 ...

  6. HDU 5979 Convex【计算几何】 (2016ACM/ICPC亚洲区大连站)

    Convex Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  7. 在vs2017中创建Node.js项目

    https://github.com/Microsoft/nodejstools/wiki/Projects 1. 安装vs2017的时候,需要勾选Node.js 2.新建项目的时候,选择其他语言,然 ...

  8. AndroidStudio更改Gradle的版本

    1.首先需要在Gradle官网上下载需要的gradle版本,对于imac需要放置到AndroidStudio的安装目录下的gradle目录下面 2.更改项目的build.gradle的gradle的版 ...

  9. ViewControl的size设为freeform

    freeform的用处是让你写一些不标准的view,比如说自定义一个cell,或者自己写一个小的VIEW,freeform的XIB是可以自己拖拽更改大小的

  10. HTTP请求错误码大全(转)

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...