JAVA-基础-控制结构

一、控制结构
    控制结构是控制程序如何运行的特殊的语句结构。
    控制结构分为 顺序控制结构 分支控制结构 循环控制结构。

二、顺序控制结构
    除了分支控制结构 和 循环控制结构之外的语句都是按照顺序控制结构运行的。即,语句由上到下,由左到右依次执行。

三、分支控制结构
    1.if判断
      i. if语句
        if可以实现判断,通过判断的结构决定是否执行某段代码。
      基本结构:

                        

      执行逻辑图:

    

    ii. if..else..语句

    基本结构:

      

    执行逻辑图:

      

    

    iii. if..else if..else语句

    基本结构:

      

    执行逻辑图:

      

    2. switch..case..语句
      i. switch..case..
        根据输入项的值的不同,走不同分支代码。
        输入项的值只能是byte/short/char/int,jdk7之后,支持String。
      基本结构:

          

      执行逻辑图:

    

        case用来实现匹配,case是进入的位置,一旦匹配成功,则从当前case位置进入,执行之后的代码,之后的所有case和default也会被执行。
        switch中也可以带一个default,则前面所有的case如果都匹配不成功,由default进行匹配。
        如果不想之后的case和default执行,需要通过break跳出switch。

四、循环控制结构
    1. while循环
      i. while
      语法结构:

     1 while(判断条件){ 2 执行的内容 3 改变条件的语句 4 }

      循环的三要素:判断的条件 执行的内容 改变条件语句
      执行逻辑图:

    

      2.  do...while  & while...do

        语法结构:

           

        执行逻辑图:

           

        

          

while 和 do..while的区别,在于while先判断后执行,while中的代码不一定能够执行到,但do..while是先执行后判断,无论如何,do中代码至少会执行一遍。do..while是可以用while替代的,但while不一定能被do..while替代.

      2.for循环

        i.for

          判断条件  执行的代码  改变条件的语句

          基本的语法结构:

            

          执行逻辑图:

            

          for循环相对于while循环,将循环要素提取到for的小括号中管理,使循环的代码结构更加清晰,便于开发维护。

          while和for本质上等价的,但for结构更加清晰,通常代码也更少,是开发中最常用的循环方式。

          for中的三个条件并不需要都存在,可以根据需要空置。
          for(;;){} //等价于死循环

      3.break continue
        i. continue
          继续当前循环
          一旦循环中遇到continue,则本次循环continue之后的代码不再执行,回到循环开始位置继续下一次循环。
        ii. break
          跳出当前循环
          一旦循环中遇到break,则从break位置开始跳出整个循环语句,之后的循环不再执行。

        iii. break tag
          在多层循环时,可以通过break tag 方式,指定在break时要跳出的是哪一层循环。
          这种写法会造成程序的可阅读性大幅度降低,不推荐使用。
          如果想要跳出多层许愿,需要一层一层break跳出。

案例:

  

 1 import java.util.Scanner;
 2 /**
 3     continue break
 4 */
 5 public class Demo05{
 6     public static void main(String args[]){
 7         //1.计算1-100的偶数和
 8         /*
 9         int sum = 0;
10         for(int i=1;i<=100;i++){
11             if(i%2==0){
12                 sum+=i;
13             }else{
14                 continue;
15             }
16             System.out.println("当前的sum为"+sum);
17         }
18         */
19
20         //2.计算1-100的偶数和,如果和大于了500,则不再继续循环
21         /*
22         int sum = 0;
23         for(int i=1;i<=100;i++){
24             if(i % 2 == 0){
25                 sum += i;
26             }else{
27                 continue;
28             }
29             if(sum > 500){
30                 break;
31             }
32             System.out.println(sum);
33         }
34         */
35
36         //3.break tag语法
37         /*
38         int x = 1;
39         tag1:for(;x>0;){
40             System.out.println("外层循环开始。。");
41             for(int i = 0;i<10;i++){
42                 System.out.println(i);
43                 if(i == 5){
44                     break tag1;
45                 }
46             }
47             System.out.println("外层循环结束。。");
48         }
49         System.out.println("最外层..");
50         */
51
52         //4.break tag的替代写法
53         boolean outBreak = false;
54         for(;;){
55             System.out.println("外层循环开始。。");
56             for(int i = 0;i<10;i++){
57                 System.out.println(i);
58                 if(i == 5){
59                     outBreak = true;
60                     break;
61                 }
62             }
63             if(outBreak){
64                 break;
65             }
66             System.out.println("外层循环结束。。");
67         }
68         System.out.println("最外层..");
69     }
70 }

原文地址:https://www.cnblogs.com/xiaoluohao/p/11305231.html

时间: 2024-10-01 02:56:13

JAVA-基础-控制结构的相关文章

Java基础学习中一些词语和语句的使用

在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看break和continue使用和运行效果的额说明: break:关键字,可以用于任何循环体控制结构,在循环体内执行时,当执行到break时循环会立即终止,并跳到此循环体以后的语句执行. 列如:输出0--10的数当输出到第六位时就不在继续输出了,即是跳出for循环执行for循环体以后的一句. public

Java基础课程2—— I/O 的基础操作

Java基础课程2 -- I/O 的基础操作 今天我们将了解一些面向对象编程的基本概念,什么是类.什么是函数 以及了解组成一个程序的四大功能,负责处理数据输入.输出的IO,对计算过程进行控制的逻辑控制.负责对数据进行运算的数值计算.对运行过程中产生的临时变量进行存储的缓存,以及它们是如何互相支撑.协同工作的. 什么是软件? 首先,我们学习编程,但得先弄明白什么是软件? 软件,英文名Software首先由阿兰图灵提出,在软件工程.计算机科学领域,软件即通过计算机,自动化的处理运行指令.数据的计算过

Java基础01 从HelloWorld到面向对象(转载)

Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念. "Hello World!" public class HelloWorld{    public static void main(String[] args){        System.out.println("Hello World!");    }} 程序中包括Java的一些基本特征: 类(class):上面程序定义了一个类HelloWorld,该类的名字与.java文件

JAVA基础入门通关检测

一.JAVA基础知识点问答(1.2.3章) 1. JDK1.6.0_06软件的安装.(请安装在 C:\Java 目录下) 2. JAVA的开发环境如何配置?(即:JAVA_HOME . Path . CLASSPATH 的配置) 3. 开发一个JAVA应用程序的步骤是?(如下程序) public class FirstSample { public static void main(String[] args ) { System.out.print ("欢迎你们来北京,来到"); S

黑马程序员——Java基础语法(二)---流程控制

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本文主要介绍java基础语法中的流程控制,流程控制是我们写出灵活代码的基础.常见的流程控制主要有四类:判断结构.选择结构.循环结构.其他控制结构 一.判断结构 判断结构的标志是if语句,if语句主要有三种表现形式: 1.if(条件表达式) { 执行语句 } 注意: 1.如果if语句中只有一条语句,那么可以不写大括号.不过初学者一定要写括号,以免出错. 2.如果if语句没写大括号,if就只能控制

-Java基础-Java介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. java的介绍 1.1java简介 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言. 它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机.电话.闹钟.烤面包机等家用电器的控制和通讯问题.由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划.就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机

第3篇-JAVA基础

第3篇-JAVA基础 每篇一句 :目标是给梦想一个期限,行动与坚持就是实现梦想的过程 初学心得: 遇到困难或问题,它不是休止符,而是引向你如何解决问题的标识 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-03-26| JAVA基础 Ⅱ] 上篇回顾 上篇文章中我们学习了JAVA底层的运行机制与深入剖析以及解释其中JAVA基础代码的含义 本篇文章将JAVA基础Ⅱ全面剖析解释,因为JAVA基础非常重要,务必要牢记知识点!!! 1.JAVA基础语法格式 JAVA采用unicode编码 1

Java基础学习第五天——方法与数组

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.24 lutianfei none 第三章Java基础语法 方法 方法就是完成特定功能的代码块,即函数. 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2-) { 函数体; return 返回值; } 详细解释: 修饰符,目前就用public static,后详解. 返回值类型:就是功能结果的数据类型. 方法名:符合命名规则即可,方便我们的调用. 参数: 实际参数:就是实际参与运算的.

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

java基础 计算今天距本月最后一天还剩多少天

Calendar  c = new GregorianCalendar();   //GregorianCalendar 是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统. GredorianCalendar 是一种混合日历,可由调用者通过调用setGregorianChange()来更改起始日期. Calendar c = new  Calendar.getInstance(TimeZone.getTimeZone("GMT+08:OO"));  //