一、基本结构

Java语言中共有三种基本逻辑结构:顺序结构选择结构循环结构

1.顺序结构

语句执行的基本顺序按照各语句出现的位置先后顺序执行。

2.选择结构

选择结构根据条件来控制代码的执行分支,也叫分支结构。包括两种:if语句switch语句

  • if语句
    if语句中的条件表达式可以是关系表达式、逻辑表达式、算术表达式等
    单分支结构
    if(条件表达式)
    语句/语句块
    双分支结构
    if(条件表达式){
    语句/语句块1;
    } else
    语句/语句块2;
    多分支结构
    if(条件表达式1){
    语句/语句块1;
    } else if(条件表达式2){
    语句/语句块2;
    }…
    else if(条件表达式n){
    语句/语句块n
    }else
    语句/语句块n+1;
    if语句的嵌套
    if(条件表达式1){
    if(条件表达式11){
    语句/语句块1;}
    else{
    语句/语句块2;}
  • switch语句
    switch语句是java 的多路分支语句,提供了一种基于一个表达式的值来使程序执行不同部分的简单方法。不能做switch语句的参数类型有:long,float,double。
    语法结构:
    switch (表达式){
    case 值1 : 语句1
    break;
    case 值2 : 语句2
    break;

    default : 语句n
    break;
    }

3.循环结构

循环结构是指重复执行某段程序直到一个结束条件出现。java有三种循环结构:forwhiledo-while

  • for循环
    for循环语句是计数型循环语句,一般用于已知循环次数的情况,所以也叫定次循环。
    格式:
    for(初始语句;判断语句;步进){
    语句块;
    }

    for语句的执行顺序是:初始语句→判断语句→语句块→步进;
    for语句也有循环嵌套,将另一个for语句嵌套到上一个for语句中实现多次循环。
    for(初始语句;判断语句;步进){
    for(初始语句;判断语句;步进)
    语句块;
    }
  • while循环
    while循环语句当控制表达式为真时,while语句重复执行一个语句或语句块。
    格式:
    while(控制表达式){
    语句块(循环体);}
  • do-while循环
    do-while循环总是先执行循环体,然后再计算表达式,因此它的循环体至少被执行一次。
    格式:
    do{
    语句块(循环体);
    }while(表达式);

*4.跳转语句

跳转语句多用于无条件的转移控制,使用跳转语句执行分支,该语句会导致立即传递程序控制。跳转语句有:breakcontinuereturn

  • break语句
    break语句一般用在switch语句中,用来终止一个语句序列,或用在循环结构中,用来退出一个循环。(直接结束所有的循环!)
    ①使用break退出循环
    强制退出循环,忽略循环体中的任何其他语句和循环条件的测试。
    ②带标签的break
    终止一个或者几个代码块。要终止的代码块开头加break标签即可。
  • continue语句
    结束当前循环,本趟循环,结束之后,后面的所有代码不执行
    ①带标签的continue语句
    用于多层循环中,标签名定义在程序中外层循环语句的前面,用来标志这个循环结构。
    ②不带标签的continue语句
    在while和do-while循环中,continue语句使控制直接转转移给控制循环的条件表达式,然后继续循环过程。在for循环中,循环的反复表达式被求值,然后执行表达式,循环继续执行。
  • return语句
    return语句用来于终止方法的执行并将控制返回给调用方法。如果方法有返回类型,return语句必须返回这个类型的值;如果方法为void类型,应使用没有表达式的return语句。

二、举个栗子

1.用if语句判断输入的一个年份是不是闰年

闰年判断:如果能整除4并且不能被100整除,或者能整除400
代码
public class TestDemo2 {
    public static boolean isLeadYear(int year) {
        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
            return true;
        }
        return false;
    }
    
    public static void main(String[] args) {
         System.out.println("请输入一个年份:");
        Scanner scanner = new Scanner(System.in);//扫描类
        int a = scanner.nextInt();//从键盘获取数字
        boolean flg = isLeadYear(a);  //返回布尔类型
        System.out.println(isLeadYear(a));
    }
}

实现结果:

java 软件架构图 java程序的框架结构_while循环

2.判断一个数是不是素数

代码:
public static boolean isPrime(int num) {
        if (num == 1) {
            System.out.println("数字1既不是素数也不是质数");
            return false;
        } else {
            for (int i = 2; i < num; i++) {
                if (num % i == 0) {
                    return false;
                }
            }
            return true;
        }
    }
      public static void main(String[] args) { 
        System.out.println("请输入一个数字:");
        Scanner scanner = new Scanner(System.in);//扫描类
        int a = scanner.nextInt();//从键盘获取数字
        boolean flg = isPrime(a);
      System.out.println(isPrime(a));
    }
}

实现结果:

java 软件架构图 java程序的框架结构_while循环_02