JavaSE-程序逻辑控制与方法定义

2023-03-26 21:39:54

1.Java中程序的结构与逻辑控制

在Java中一共有三种结构:顺序结构、分支结构、循环结构

(1)Java分支结构

分支结构:进行逻辑判断,当满足某些条件时才会执行某些语句

  • if语句

两种形式:

1.

if(布尔表达式){

     //条件满足时执行代码

}else{

     //条件不满足时执行代码

}

2.

if(布尔表达式1){

    //条件1满足时执行代码

}else if(布尔表达式2){

    //条件2满足时执行代码

}else{

    //条件都不满足时执行代码

}

→ 使用if-else语句可以实现对条件的判断,但如果要进行多值判断,可以使用switch语句

  • switch语句

语法如下:

switch(数字|枚举|字符|字符串){

    case 内容1:{

           内容1满足时执行语句;

           break;

    }

    case 内容2:{

           内容2满足时执行语句;

           break;

    }

    ...

    case default:{

           内容都不满足时执行语句;

           break;

    }

}

示例:

System.out.println("请输入字符:");
char x = (char)System.in.read();
switch(x){
    case 'a':{
        System.out.println("I am a cat.");
        break;
    }
    case 'b':{
        System.out.println("I am not a cat.");
        break;
    }
    default:{
        System.out.println("I am really not a cat.");
        break;
    }
}

运行结果如下:

→ 不带break的switch语句会将满足条件后的分支统统走一遍

示例:

System.out.println("请输入字符:");
char x = (char)System.in.read();
switch(x){
    case 'a':{
        System.out.println("I am a cat.");
    }
    case 'b':{
        System.out.println("I am not a cat.");
    }
    default:{
        System.out.println("I am really not a cat.");
    }
}

运行结果如下:

 

(2)Java循环结构 

循环结构:某几行代码一直被执行

  • while循环

语法结构如下:

while(循环结束条件判断){

     循环语句;

     修改循环结束判断;

}

while循环特点:如果条件不成立,一次也不执行;而do-while,至少执行一次

  • do-while循环

语法如下:

do{

    循环语句;

    修改循环结束判断;

}while(循环结束条件判断);

  • for循环

for(循环初始化;循环结束判断;修改循环结束条件){

    循环体;

}

循环使用规则:

    对于不知道循环执行次数,但知道循环结束条件的,使用while;

    明确知道循环次数的,使用for

(3)循环控制(continue,break)

    continue:跳出本次循环,直接进入下一次循环。

    break:直接跳出整个循环

2.Java中方法的定义与使用

方法是一段可以被重复调用的代码块

(1)方法定义(针对直接在主方法中调用的方法)

结构如下:

public static 方法返回值 方法名称([参数类型 变量...]){

    方法体代码;

    ...

    [return 返回值];

}

void关键字声明的方法没有返回值,可以用“return;”来结束函数的调用,示例如下:

public class Test{
    public static void main(String[] args) {
        myPrint(1);
        myPrint(2);
        myPrint(3);
        myPrint(4);
    }
    public static void myPrint(int x){
        if (x==2) {
            return ;//若执行此语句,则此语句后面的代码不被执行,方法结束调用。
        }else {
            System.out.println(x);
        }
    }
}

运行结果:

对于有返回值的函数,返回值可以是基本类型和引用类型

示例:

public class Test{

    public static void main(String[] args) {

        System.out.println(add(5,5));

    }

    public static int add(int x,int y){

        return x+y;

    }

}

3.方法重载

定义:方法名称相同,参数的个数顺序类型不同,与方法返回值无关。

方法的签名:指的是方法名与参数,返回类型不是签名的一部分

注:不能有两个名字相同、参数类型也相同却返回不同类型值的方法。

编码规范:重载函数的返回值类型一定要保持相同。

示例:

public class Test{
    public static void main(String[] args) {
        System.out.println(add(5,5));
        System.out.println(add(5,5,55));
    }
    public static int add(int x,int y){
        return x+y;
    }
    public static int add(int x,int y,int z){
        return x+y+z;
    }
}

开发原则:在进行方法重载时,要求方法的返回值一定相同

4.方法递归

定义:指的是一个方法自己调用自己的方式。

递归方法的特点:

    ① 方法必须有递归结束条件

    ② 方法在每次递归处理的时候一定要作出一些变更

示例:递归实现从1到100的叠加

public class Test{
    public static void main(String[] args) {
        System.out.println(sum(100));
    }
    public static int sum(int num){
        if (num == 1) {
            return 1;
        }else {
            return num+sum(num-1);
        }
    }
}

→ 通过代码我们可以看到,使用while循环的操作,大部分都可以使用递归替换,之所以使用递归,因为方法可执行的操作更多,结构也更好

 

  • 作者:xinyu_1772905676
  • 原文链接:https://blog.csdn.net/xinyu_1772905676/article/details/99968058
    更新时间:2023-03-26 21:39:54