Java代码结构简述

结构

顺序结构

  • JAVA的基本结构就是顺序结构,除非特意指明,否则就按照顺序,一句一句执行。
  • 顺序结构是最简单的算法结构
    Java代码结构简述
  • 语句与语句之间,框与框之间按照从上到下的顺序执行, *它是任何算法都离不开的基本算法结构

选择结构

  • if单选择结构
  • if双选择结构
  • if多选择结构
  • 嵌套的if结构
  • switch多选择结构

if选择结构

if单选择结构

很多时候需要判断一个东西是否可行,然后才去执行,这样一个判断在程序中用if语句来表示。
语法:

Java代码结构简述
Java代码结构简述
  • equals(比较字符):判断字符串是否相等
    这是举例说明if单选择的例图,就是看是否和输入的字符串相同
    代码如下:
import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入内容:");
        String s = scanner.nextLine();
        if (s.equals("hello")){
            System.out.println(s);
        }
        System.out.println("End");
        scanner.close();
    }
}

Java代码结构简述
Java代码结构简述

if双选择结构

语法:

Java代码结构简述
Java代码结构简述
假如我要判断某个人考了多少分,算及格还是不及格,可以写如下一串代码:
import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入成绩:");
        int score = scanner.nextInt();
        if(score>=60){
            System.out.println("及格");
        }else{
            System.out.println("不及格");
        }
        scanner.close();
    }
}

例图:

Java代码结构简述
这就是if双选择结构,true有一个结果,false也有一个结果。

if多选择结构

语法:

Java代码结构简述
F=false,T=true
Java代码结构简述
else if在if和else中间承接。
举例如下,依旧是上一个例子,不过对细节进行了细化。
Java代码结构简述
但是分数假如是小数,使用int会报错,因此改为double或float
Java代码结构简述

嵌套的if结构

  • 使用嵌套的if……else语句是合法的。也就是说可以在if或else if中使用if或else if语句,可以像if语句一样嵌套else if……else。
  • 语法:
    Java代码结构简述

switch多选择结构

  • 多选择结构除了if和嵌套if之外的另一种实现方式就是switch case语句。
  • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
    语法:
    Java代码结构简述
  • switch中的变量类型及注意事项:
  • 变量就是byte、short、int、char等八大基本类型
  • 从Java SE 7开始,switch支持字符串String类型的变量
  • 同时case标签必须为字符串常量或字面量
    case 穿透
    switch 匹配一个具体的值
    break 可选,停止循环
    default 就是在上面的case中找不到传入的值,会默认执行的语句

基本类型的展示

写完一个case后如果并不想它都出现在所有情况下后面要加上break将它们分割开,需要穿透叠加操作时就可以不写break。
比方说我这里选定的是C,却同时输出了C与D,但是没有输出E,因为break将E隔开了。

Java代码结构简述

字符串的展示

这里我就将字符串与default的功能展示了出来

Java代码结构简述

题外话

class 字节码文件
class文件没法儿直接看懂,可以使用开发工具进行反编译,比方说idea

  1. 首先如何查看已写的代码生成的class文件呢?
    可以在idea社区版右上角的设置里打开项目结构,就能看到输出文件夹的位置
    Java代码结构简述
    Java代码结构简述
  2. 将文件夹打开,找到自己想要进行反编译的class文件
    Java代码结构简述
  3. 随后打开代码行的文件夹,将想要反编译的class文件拖进去,就能看到想要反编译的class文件的代码内容了
    Java代码结构简述
    Java代码结构简述
  4. 也可以通过直接将class文件拖入idea实现上述操作

循环结构

  • while循环
  • do while循环
  • for循环
  • 主要用于数组的增强型for循环

while循环

while是最基本的循环,语法为:

Java代码结构简述
  • 只要布尔表达式为true,循环就会一直执行下去
  • 大多数情况会让循环停止,需要一个让表达式失效的方式来结束循环
  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等
  • 循环条件一直为true就会造成无限循环(死循环),正常的编程中应该尽量避免死循环。 死循环会影响程序性能或造成程序卡死崩溃!
    接下来进行一个输出1~100的循环:
public class WhileDemo01 {
    public static void main(String[] args) {
        //输出1~100
        int i=0;
        while (i

我这里给了i

do while循环

  • 对于while语句而言,如果不满足条件则不会进入循环。do…while循环和while循环类似,不同的是,do…while至少会执行一次。
    语法:
    Java代码结构简述
  • while是先判断后执行,do…while是先执行后判断。
    刚刚那个1+2+3+…+100=?的例子同样也能用do…while执行,并且执行结果没有区别。
    Java代码结构简述
    但是当我进行这样一串代码后就能明显看出两者的差别:
public class DoWhileDemo02 {
    public static void main(String[] args) {
        int a=0;
        while (a

中间的”=”是我用来做分割的文本。

Java代码结构简述
很显然,”=”前为空,表示了while并没有执行输出a这个行为,而do…while执行了一次,因此输出了基础赋予的0的值,但因为没有满足条件,没有输出接下来的a++给予的赋值。

for循环

  • 虽然所有循环都可以用while,do…while循环来表示,但java中还有一种语句:for循环——使一些循环结构变得更加简单
  • for循环语句是支持迭代的一种通用循环结构,是最有效最灵活的循环结构
  • for循环的执行次数是在执行前就确定的,语法格式如下:

    Java代码结构简述
    虽然和while循环一样需要初始化,条件判断与迭代,但是for循环的整体结构更为直观,对比如下:
    Java代码结构简述
    关于for循环的说明:
  • 最先执行初始化步骤,可以声明一种类型,可初始化一个或多个循环控制变量,也可以是空语句。

  • 检测布尔表达式的值,如果为true,循环体被执行,如果为false,循环终止,开始执行后续语句。
  • 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
  • 再次检测布尔表达式,循环执行上面的过程。
    这个代码即为for循环的死循环,无初始值,无条件判断与迭代:
for ( ; ; ){
}

for循环的展示

println输出完会换行,print输出完不会换行!!!
假如我要用for循环输出1~1000之内能被5整除的数,并且每行输出3个,就可以这样输入:

Java代码结构简述

嵌套for循环的展示

输出九九乘法表:

public class ForDemo04 {
    public static void main(String[] args) {
        for (int j = 1; j

Java代码结构简述

增强for循环

增强for循环的语法:

Java代码结构简述
  • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
  • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
    如下这串代码,上面的是普通for循环,下面的是增强for循环,实现的操作是一样的,都是将数组中的每个值都输出一遍。
  • for循环:numbers[i]中i是次数,从numbers数组中取值的次数,就是取值了5次numbers中的数值
  • 增强for循环:直接将数组的值赋予x
  • 本质一样,但是增强for更加简化
public class ForDemo05 {
    public static void main(String[] args) {
        int[]numbers={10,20,30,40,50};//定义数组
        for (int i = 0; i < 5; i++) {
            System.out.println(numbers[i]);
        }
        System.out.println("===================");
        for (int x:numbers){//遍历数组元素
            System.out.println(x);
        }
    }
}

输出结果如下:

Java代码结构简述

goto关键字

  • 关于goto关键字:
  • goto关键字很早就在程序设计语言中出现。尽管goto仍然是java的一个保留字,但并未在语言中正式使用, java没有goto。然而,在break和continue这两个关键字的身上,仍然能看出一些goto的影子——带标签的break和continue。
  • “标签”是指后面跟一个冒号的标识符,例如: label:
  • 对java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
    Java代码结构简述
  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
    Java代码结构简述
  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
    Java代码结构简述

Original: https://www.cnblogs.com/ALMARO-Blog/p/16330046.html
Author: Alamro
Title: Java代码结构简述

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/643047/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 微服务架构下的安全认证与鉴权

    https://www.jianshu.com/p/22610b276bee https://zhuanlan.zhihu.com/p/29345083 https://www.j…

    技术杂谈 2023年5月31日
    088
  • Yara安装使用教程

    一、安装 官方文档(含python调用yara):https://yara.readthedocs.io/en/v4.1.1/gettingstarted.html 开源yara规…

    技术杂谈 2023年5月31日
    090
  • Spring Boot 通用对象列表比较和去重

    1、前言 在Excel批量导入数据时,常常需要与数据库中已存在数据的比较,并且需要考虑导入数据重复的可能性。 导入的行数据,一般有一个实体类(对象)与之对应,往往这个实体类在数据库…

    技术杂谈 2023年6月21日
    080
  • 可能用得上

    Hibernate框架的简单使用: https://blog.csdn.net/youandme520/article/details/122899111 Original: ht…

    技术杂谈 2023年7月23日
    074
  • Python操作Excel表格

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/b0277e1c.html 你好,我是测试蔡坨坨。 上期我们分享了一个Python编写的小工具——「Py…

    技术杂谈 2023年7月11日
    082
  • 微服务拆分需要考虑的必要因素与坚持原则

    前言:创业公司往往因为有限的时间和投入,把系统所有的功能都聚集在一起。随着业务的不断发展,技术人员开始不断地对架构进行解耦和拆分。微服务在最近几年大行其道,很多公司的研发人员都在考…

    技术杂谈 2023年5月31日
    078
  • validform学习

    1 说明 validform非常实用,可以用来进行表单验证,是基于jquery框架的,一共就导出两个文件,一个css文件,一个js文件。启动也只需一句js语句即可,相当方便。 可以…

    技术杂谈 2023年7月25日
    084
  • MySQL基础

    DQL 查询完整语法 select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组后条件 order by 排序字段 limit…

    技术杂谈 2023年7月25日
    073
  • [Xcode DeviceSupport / Xcode真机调试包]:This operation can fail if the version of the OS on the device……

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:个人独立开发者➤博主域名:https://www.zengqiang.org➤Git…

    技术杂谈 2023年6月1日
    0131
  • 分布式任务调度平台XXL-JOB安装及使用

    一、为什么需要任务调度平台 在Java中,传统的定时任务实现方案,比如Timer,Quartz等都或多或少存在一些问题: 不支持集群、不支持统计、没有管理平台、没有失败报警、没有监…

    技术杂谈 2023年7月11日
    083
  • C++ 接口概念讲解及例子演示

    C++ 和 Java 不同的是,C++ 没有 interface 关键字。对于很多新手来说,C++ 当中接口的概念不容易像 Java 当中那样被理解。 然而接口是面向对象编程当中的…

    技术杂谈 2023年6月21日
    080
  • Java复习,Java知识点以及Java面试题(六)

    File类 文件和目录(文件夹)路径名的抽象表示形式 构造方法 File(String pathname):根据一个路径得到File对象 File(String parent, S…

    技术杂谈 2023年6月21日
    098
  • 力扣刷题之路-数组的遍历

    参考刷题顺序:力扣刷题顺序 本文章做自我总结,总结做题时自己的想法以及官方解题思路。 涉及题目 485 最大连续 1 的个数 495 提莫攻击 414 第三大的数 628 三个数的…

    技术杂谈 2023年7月11日
    072
  • JDK8下载安装及环境配置

    Java基础知识 Java的三种版本 JavaSE :标准版,主要用于开发桌面程序,控制台开发等等 JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少 Jav…

    技术杂谈 2023年6月21日
    0110
  • 分布式事务框架Seata入门案例

    Seata Server 部署 Seata分TC、TM和RM三个角色,TC(Server端)为单独服务端部署,TM和RM(Client端)由业务系统集成。 首先,下载最新的安装包 …

    技术杂谈 2023年7月23日
    080
  • gerrit系统如何配置访问控制

    .版本:v0.3作者:河东西望日期:2022-7-13. gerrit系统的上手使用有两个难点: 想要上手使用gerrit的同仁们,搭建部署好gerrit系统之后,会发现gerri…

    技术杂谈 2023年6月21日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球