Java中的逻辑结构详解

Java中的逻辑结构

逻辑结构 Java中的逻辑结构 顺序结构分支结构循环结构

顺序结构

顺序结构顾名思义,就是按照代码的顺序依次往下执行,这个不必多讲

分支结构

分支结构又可以细分为两个:

if…else…这两个单词相信都认识,翻译成中文就是我们平时所说的如果…就…,那么在Java中该怎么用呢:

①:if else:
它的基本语法结构如下:
if(判断条件){
语句1;
}else{
语句2;
当判断条件为真的时候,执行语句1,否则执行语句2
示例:

import java.util.*;
public class TestDemo13 {
    public static void main(String[]args) {
        Scanner scanner = new Scanner (System.in);
        int n = scanner.nextInt();
        if (n>=5) {
            System.out.println("hello");
        }else{
            System.out.println("hehe");
        }

    }
}

这段代码的意思就是我们输入一个数字,如果这个数字大于等于5了,满足了if条件,就执行我们if里面的语句,如果不满足,就执行下面的语句。
注:if后面的括号里面只能是布尔表达式,不能是数学表达式,比如说if(5<=a&&a<=20),不能写成if(5<=a<=20)。
还有一种情况:

import java.util.*;
public class TestDemo13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int j = scanner.nextInt();

        if (n >= 5) {
            if (j >= 4) {
                System.out.println("hello");
            } else {
                System.out.println("hehe");
            }
        }

这里的else只能跟最近的那个if相匹配。

② if …else if … else… :
它的基本语法结构如下:
if(判断条件) {
语句1;
}else if(判断条件) {
语句2;
}else{
语句2;
当if的判断条件为真的时候,执行语句1,当else if的判断条件为真的时候,执行语句2,否则执行语句3
示例:

import java.util.*;
public class TestDemo13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();

        if (n == 5) {
            System.out.println("haha");
        } else if (n > 5) {
            System.out.println("hehe");
        } else {
            System.out.println("hello");
        }
    }
}

这段代码的意思是如果n等于5了,就输出哈哈,如果n大于5了,就输出呵呵,如果n小于5了,就输出hello,相当于在if…else的基础上把判断条件划分得更细,里面的else if可以加任意个,示有多少种情况而定。

switch():
它的基本语法如下:
in a = 5;
switch(a){
case 1:
语句;
break;
case 2:
语句;
break;
default: //当哪个条件都不满足的时候
语句3;
break;
示例:

import java.util.*;
public class TestDemo13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        switch (n) {
            case 1:
                System.out.println("hehe");
                break;
            case 2:
                System.out.println("haha");
                break;
            case 3:
                System.out.println("hello");
                break;
        }
    }
}

switch后面的括号就是判断条件,下面的case如果满足判断条件,则执行相应的语句,不能做switch参数的类型有:long float double boolean。
注:一定要写break,如果不写的话case语句会依次往下执行,从而失去了分支的效果。

循环结构

循环结构指在满足循环条件的情况下,一直执行,直到循环条件不满足为止,循环条件大致可分为三种:

while循环
“while”这个单词在英语中译为“当什么的时候”的意思,在Java中也可以这样理解,它的基本结构如下:
while(循环条件) {
循环语句;
}
当循环条件为真的时候,执行循环语句,否则跳出循环,注:循环条件只能是布尔表达式

示例:打印1到5的数字

public class TestDemo14 {
    public static void main(String[] args) {
        int a = 1;//初始条件
        while(a<=5) {//判断循环条件
            System.out.println(a);
            a++;//步进,指定循环的结束
        }
    }
}

while循环也可以嵌套使用
示例:计算1到5的阶乘的和

public class TestDemo14 {
    public static void main(String[] args) {
        int sum = 0;
        int a = 1;//初始条件
        while (a <= 5) {//判断循环条件
            int i = 1;
            int ret = 1;
            while (i <= a) {

                ret *= i;
                i++;
            }
            a++;
            sum += ret;
        }

        System.out.println(sum);
    }
}

for循环 它的基本结构如下:
for(表达式1;表达式2;表达式3) {
循环体;
执行顺序:先执行表达式1,且只执行一次,也叫做循环的初始条件,然后判断表达式是否为真,然后再循环体,第四步,执行表达式3;一直循环,直到为假
示例:打印1到10之间的数字

public class TestDemo14 {
    public static void main(String[] args) {
        int n = 1;
        for (; n <= 10; n++) { //i可以定义到外部,i++也可以放到下面
            System.out.println(n);
        }

    }
}

for循环也可以嵌套使用
示例:计算1——5的阶乘的和

public class TestDemo14 {
    public static void main(String[] args) {
        int sum = 0;
        int n = 1;
        for (; n <= 5; n++) {
            int i = 1;
            int ret = 1;
            for (; i <= n; i++) {
                ret *= i;
            }
            sum += ret;
        }
        System.out.println(sum);

    }

  }

do while 它的基本结构如下:

do {
循环语句:
}while(循环条件)//先执行一次循环语句,再判定循环条件
示例:

public class TestDemo14 {
    public static void main(String[] args) {
        int sum = 0;
        do {
            System.out.println("haha");
        } while (sum != 0);
    }
}

以上就是Java中三个逻辑结构的基本知识,和c语言没有多大的区别,建议大家多去找一些习题练一下,让自己的大脑里有一个java项目的大概框架。

到此这篇关于Java中的逻辑结构的文章就介绍到这了,更多相关Jav逻辑结构内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java数据结构之树基本概念解析及代码示例

    Java中树的存储结构实现 一.树 树与线性表.栈.队列等线性结构不同,树是一...节点与节点之间的父子关系,可以为每个节点增加一个parent域,用以记录该节点的父点 树是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点组成一个具有层次关系的集合.把 它叫做"树"是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的. 树定义和基本术语 定义 树(Tree)是n(n≥0)个结点的有限集T,并且当

  • Java JSON转成List结构数据

    先要引入对应的jar,然后调用net.sf.json库的 ObjectMapper mapper = new ObjectMapper(); JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, ApprWritUnionFormModel.class); /*List<FormModel> writUnionFormList = JSON.parseArray(params, FormM

  • Java常见数据结构面试题(带答案)

    1.栈和队列的共同特点是(只允许在端点处插入和删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D)      A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征 6.链表不具有的特点是(B)A.不必事先估计存储空间       B.可随机访问任一元素 C.插入删除不需要移动元素      D.所需空间与线性表长度成正比 7.用链表表示线性表的优点是(便于插入和删除操作) 8.在单链表中,增加头结点的目的是(

  • Java中的逻辑结构详解

    Java中的逻辑结构 逻辑结构 Java中的逻辑结构 顺序结构分支结构循环结构 顺序结构 顺序结构顾名思义,就是按照代码的顺序依次往下执行,这个不必多讲 分支结构 分支结构又可以细分为两个: if-else-这两个单词相信都认识,翻译成中文就是我们平时所说的如果-就-,那么在Java中该怎么用呢: ①:if else: 它的基本语法结构如下: if(判断条件){ 语句1: }else{ 语句2: 当判断条件为真的时候,执行语句1,否则执行语句2 示例: import java.util.*; p

  • Java中的静态内部类详解及代码示例

    1. 什么是静态内部类 在Java中有静态代码块.静态变量.静态方法,当然也有静态类,但Java中的静态类只能是Java的内部类,也称为静态嵌套类.静态内部类的定义如下: public class OuterClass { static class StaticInnerClass { ... } } 在介绍静态内部类之前,首先要弄清楚静态内部类与Java其它内部类的区别. 2. 内部类 什么是内部类?将一个类的定义放在另一个类的内部,就是内部类.Java的内部类主要分为成员内部类.局部内部类.

  • java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1

  • Java中初始化块详解及实例代码

    Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员. 非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量. 非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行. 括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行! 其实初始化块就是构造器的补充,初始化块是

  • Java中的HashSet详解和使用示例_动力节点Java学院整理

    第1部分 HashSet介绍 HashSet 简介 HashSet 是一个没有重复元素的集合. 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素. HashSet是非同步的.如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步.这通常是通过对自然封装该 set 的对象执行同步操作来完成的.如果不存在这样的对象,则应该使用 Collections.synchronizedSet 方法来"包装" set.

  • java 中cookie的详解及简单实例

    java 中cookie的详解 Java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题. 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下 HttpServletRequest request HttpServletResponse response Cookie cookie = new Cookie("cookiename","cookievalue&

  • Java中final关键字详解

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 主要介绍:一.final关键字的基本用法.二.深入理解final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能

  • Java 中的HashMap详解和使用示例_动力节点Java学院整理

    第1部分 HashMap介绍 HashMap简介 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口. HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的. HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子&quo

  • java 中归并排序算法详解

    java 中归并排序算法详解 归并排序算法,顾名思义,是一种先分再合的算法,其算法思想是将要排序的数组分解为单个的元素,每个元素就是一个单个的个体,然后将相邻的两个元素进行从小到大或从大到小的顺序排序组成一个整体,每个整体包含一到两个元素,然后对相邻的整体继续"合"并,因为每个整体都是排过序的,因而可以采用一定的算法对其进行合并,合并之后每个整体包含三到四个元素,继续对相邻的整体进行合并,直到所有的整体都合并为一个整体,最终得到的整体就是将原数组进行排序之后的结果. 对于相邻的整体,其

  • java中参数传递方式详解

    java中参数传递方式详解 java新手入门面临的一个经典的话题,本文意在终结这个话题,java中有说法:Java里面参数传递都是按值传递,怎么理解这句话?用文字说明恐怕不容易说明白,说明白恐怕也难以想明白. 前提 先明确一下,按值还是按引用的概念,它是来自c++语言,引用不是汉语词典中的一个词,而是c++的概念--"&"这个符号还记得吧? 为什么有这个话题呢?其一,是对按引用传递理解不透彻:其二,诸多java书籍及讨论论点并没有切中要害. 一句话概括,按值传参还是按引用传参,

随机推荐