上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构、判断结构(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. nopcommerce 电商商城 ASP.NET 开源系统

    nopcommerce 电商商城 ASP.NET 开源系统

  2. iOS音频播放 (二):AudioSession 转

    原文出处 :http://msching.github.io/blog/2014/07/08/audio-in-ios-2/ 前言 本篇为<iOS音频播放>系列的第二篇. 在实施前一篇中所 ...

  3. (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法

    (六)Net Core项目使用Controller之一 一.简介 1.当前最流行的开发模式是前后端分离,Controller作为后端的核心输出,是开发人员使用最多的技术点. 2.个人所在的团队已经选择 ...

  4. mysql复制延迟监控脚本

    #!/bin/sh #ocpyang@126.com #repdelay.sh #查看复制延迟详细多少event #####1.juede the rep slave status export bl ...

  5. dorker 安装

    http://www.docker.org.cn/book/install/install-docker-win7-win8-requirements-38.html1. 你先去下载Docker To ...

  6. 有意思的RTL函数RegisterClass(在持久化中,你生成的一个新类的对象,系统并不知道他是如何来的,因此需要你注册)good

    例子1:Delphi中使用纯正的面向对象方法(这个例子最直接) Delphi的VCL技术使很多程序员能够非常快速的入门:程序员门只要简单的拖动再加上少量的几个Pascal语句,呵呵,一个可以运行得非常 ...

  7. android.content.ReceiverCallNotAllowedException: 解决方法

    一. android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to reg ...

  8. 【POJ 2983】 Is the information reliable?

    [题目链接] 点击打开链接 [算法] 差分约束系统,SPFA判负环 [代码] #include <algorithm> #include <bitset> #include & ...

  9. 洛谷 P1328 生活大爆炸版石头剪刀布 —— 模拟

    题目:https://www.luogu.org/problemnew/show/P1328 直接模拟即可. 代码如下: #include<iostream> #include<cs ...

  10. java笔记线程方式1优先级

    * 我们的线程没有设置优先级,肯定有默认优先级. * 那么,默认优先级是多少呢? * 如何获取线程对象的优先级? *   public final int getPriority():返回线程对象的优 ...