Java代码结构

顺序结构

  • Java的基本结构为顺序结构,除非特别指明,否则从上到下一句一句执行

选择结构

  • if单选择结构

    if(condition){
    doSomething();
    }
  • if双选择结构

    if(condition){
    doSomething();
    }else{ // 如果condition不为true
    doAnotherThing();
    }
  • if多选择结构

    // 一旦有一个condition为true,执行对应的代码然后结束这次选择
    if(condition1){
    doThing1();
    }else if(condition2){
    doThing2();
    }else{
    doThingN();
    }
  • 嵌套的if结构

    if(condition1){
    if(condition2){ }
    }
  • switch多选择结构

    • 多选择结构还可以用switch case语句

    • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值为一个分支

      switch(x){
      case 1:
      doThing1();
      break;
      case 2:
      doThing2();
      break;
      case 3:
      doThing3();
      break;
      default:
      doThing4();
      }
    • switch语句中的变量类型可以是:

      1. byte,short,int,char
      2. 从Java SE 7开始的,switch支持字符串类型了
        • 字符的本质还是数字
        • 反编译 java---class(字节码)---反编译(IDEA)
      3. 同时字符串标签必须为字符串常量或字面量

循环结构

  • while循环

    while(condition){
    doSometing();
    }
    • 每次执行完框内的代码,就会再次检测condition是否为true,为true则再进入框内运行代码
    • 大多数情况下不会出现死循环
    • 少部分情况需要一直循环,比如服务器请求相应监听
  • do..while循环

    • 对于while语句而言,不满足条件则不能进入循环。但有时我们需要及时不满足条件也至少执行一次循环
    • do...while会至少执行一次循环
      • while先判断后执行
      • do...while先执行后判断
  • for循环

    • for循环语句是一种支持迭代的通用结构,是最有效最灵活的循环结构

    • for循环的循环次数是在执行前就确定的

    • for(初始化;Boolean;更新){
      doSomething();
      }
  • 在Java5中引入了一种主要用于数组的增强型for循环

    for(声明语句:表达式){
    doSomething();
    }
    • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句内,值与对应数组中元素的值相等
    • 表达式:要访问的数组名,或者是返回值为数组的方法
    int[] numbers = {10,20,30,40,50,60};// 定义了一个数组
    
    //遍历数组的元素
    for(int x:numbers){
    System.out.println(x);
    }

break,continue,goto

  • break在任何循环语句的主体部分,均可被用于强行退出循环(switch语句中也使用)

  • continue语句用于循环语句中,用于终止某次循环过程,即跳过本次循环中尚未执行的部分,直接进行下一次循环的判定

  • 关于goto关键字

    • goto关键字很早在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字上的身上,我们仍然能够看到goto的影子---带标签的break和continue

    • “标签"是指后面跟一个冒号的标识符,例如:label:

      outer:for(;;){
      inner:for(;;){
      if(condition){
      continue outer;
      }
      }
      }
    • 对Java来说唯一用到标签的地方是在循环语句之前。而在循环语句之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于使用break和continue通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方

Java代码结构的更多相关文章

  1. 从Java代码到字节码(1)

    理解Java代码是如何被编译为字节码并在Java虚拟机(JVM)上执行是非常重要的,这将帮助理解你的程序是如何执行的.这样的理解不仅仅能够让你在逻辑上更好的掌握语言特性,而且能够有机会理解在做出重要决 ...

  2. java代码实现目录结构

    今天用java代码来实现.像我们电脑盘符那样的目录结构.在代码开始之前首先.介绍一下.用.java代码实现目录的思想. 第一步:完成基础的.大家想.我们是如何获取文件的.是不是用File类,直接就获取 ...

  3. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

  4. java代码打包成jar以及转换为exe

    教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...

  5. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  6. 如何解救在异步Java代码中已检测的异常

    Java语言通过已检测异常语法所提供的静态异常检测功能非常实用,通过它程序开发人员可以用很便捷的方式表达复杂的程序流程. 实际上,如果某个函数预期将返回某种类型的数据,通过已检测异常,很容易就可以扩展 ...

  7. Java代码规范

    Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改.本文档中没有说明的地方,请参看SUN Java标准代码规范.如果两边有冲突,以SU ...

  8. java代码注释规范

    java代码注释规范   代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二 ...

  9. Java 代码编译和执行的整个过程

    Java 代码编译是由 Java 源码编译器来完成,流程图如下所示: Java 字节码的执行是由 JVM 执行引擎来完成,流程图如下所示: Java 代码编译和执行的整个过程包含了以下三个重要的机制: ...

  10. 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件

    1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以 ...

随机推荐

  1. SQLite检查表是否存在

    通过检索SQLite的内置表sqlite_master,查询是否有需要检索的表信息,即可得出该表是否存在. SELECT * FROM sqlite_master WHERE type='table' ...

  2. win10事件查看器出现10016错误的解决办法

    该错误一般会重复出现在事件查看器,严重的会导致系统卡死. 以解决下列错误为例,给出步骤: 注意记录用户(划掉的部分)及要添加的权限(本例为"本地激活"权限) 1.运行regedit ...

  3. redhat单网卡配置多个IP

    单网卡配置多个IP 进入配置网络的文件目录 复制网络配置文件并修改名字 配置网络 网络1 网络2 激活网络设备 重启网络 重启计算机,查看IP地址 (有问题可以提出来)

  4. List进行分隔,分批插入数据库

    背景,当数据集合超过一定数据量时,则会插入失败,需要将集合进行分隔,分批插入 /** * 分批插入-公共方法 * @param objects:数据集合 * @param subSize:单次插入的条 ...

  5. Vmware 虚拟机Ubuntu系统,解决忘记用户名和密码解决办法

    1.在开机界面按住shift,会加载grub的启动界面,找到Advaced options for Ubuntu选项.按"e" 进入编辑模式. 2.光标移动至ro,改为rw,(Li ...

  6. Linux awk 替换文本字符串内容

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  7. demo----日常报错

    yolov5:报错1:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized ...

  8. jenkins +docker+python接口自动化之jenkins容器下安装python项目所需要的库(三)

    1.场景 1.centos系统,在docker的jenkins容器下安装python项目所需要的包 2.我们目前是搞接口自动化,代码放到码云上,运行环境是jenkins容器下,所以需要在jenkins ...

  9. postman收藏 -大佬玩法。

    请求顺序:    https://www.cnblogs.com/superhin/p/11454832.html 在Postman脚本中发送请求(pm.sendRequest) : https:// ...

  10. <三>JMeter逻辑控制器简介

    一.添加HTTP请求线程 1.运行jmeter.bat进入jmeter界面 2.修改语言为简体中文 3.右键测试计划添加一个线程组 4.右键线程组添加一个HTTP请求 5.填写HTTP请求服务名称和路 ...