Java程序的逻辑控制和方法详解

 更新时间:2021年04月27日 11:34:22   作者:flyyyya  
这篇文章主要介绍了Java程序的逻辑控制和方法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、顺序结构

从上往下执行,非常简单,不做过多赘述。

二、分支结构

1.if语句

与c语言不同的是,java的if(布尔表达式)必须是布尔表达式
eg:判断某一年是否是闰年

 public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int year = scan.nextInt();
        if((year%4==0 && year%100 !=10)||(year%400==0))
        System.out.println("闰年!");
        else{
            System.out.println("不是闰年!");
        }
    }

2.switch语句

基础语法:

switch(整数|枚举|字符|字符串){
 case 内容1 : {
 内容满足时执行语句;
 [break;]
 }
 case 内容2 : {
 内容满足时执行语句;
 [break;]
 }
 ...
 default:{
 内容都不满足时执行语句;
 [break;]
 } 
}

面试问题:
不能做switch参数的类型有哪些?
long float double boolean

三、循环结构

1.while循环

注意事项:

  • 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句.,建议还是加上 { }
  • 和 if 类似, while 后面的 { 建议和 while 写在同一行。
  • 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行。

eg:

public static void main(String[] args) {
        int i=1;
        int ret=1;
        while(i<=5) {
            ret *= i;
            i++;
        }
        System.out.println(ret);

2.for循环

  • 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句,建议还是加上 { }
  • 和 if 类似, for 后面的 { 建议和 while 写在同一行。
  • 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行。

求阶乘的和

 public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int num = scan.nextInt();
        int sum=0;
        for(int j=1;j<=num;j++){
            int ret=1;
            for(int i=1;i <= j; i++){
                ret*=1;
            }
            sum+=ret;
        }
    }
}

3.do-while循环

基本语法:
do{
循环语句;
}while(循环条件)
先执行语句再判断循环条件。
注意事项:

  • do while 循环最后的分号不要忘记
  • 一般 do while 很少用到, 更推荐使用 for 和 while.

 四、Java的方法

方法就是一个代码片段. 类似于 C 语言中的 "函数“。
方法:功能
public static 返回值 方法名(形式参数列表){
方法体;
}
方法名:要采用小驼峰的形式,maxNum
public static:因为当前所有的方法写完之后会在Main方法中调用。
方法体:就是具体方法的实现。

public static void main(String[] args) {
 int a = 10;
 int b = 20;
        
        // 方法的调用
 int ret = add(a, b);
 System.out.println("ret = " + ret);
 }
    // 方法的定义
 public static int add(int x, int y) {
 return x + y;
 }

五、方法的重载

方法的重载:
1.方法名相同
2.返回值可以不同
3.参数列表不同(参数的个数和参数的类型不同)
4.必须要在同一个类当中。
eg:

public static void main(String[] args) {
 int a = 10;
 int b = 20;
 int ret = add(a, b);
 System.out.println("ret = " + ret);
 double a2 = 10.5;
 double b2 = 20.5;
 double ret2 = add(a2, b2);
 System.out.println("ret2 = " + ret2);
 double a3 = 10.5;
 double b3 = 10.5;
 double c3 = 20.5;
 double ret3 = add(a3, b3, c3);
 System.out.println("ret3 = " + ret3);
 }
 public static int add(int x, int y) {
 return x + y;
 }
 public static double add(double x, double y) {
 return x + y;
 }
 public static double add(double x, double y, double z) {
 return x + y + z;
 }
}

方法的名字都叫 add. 但是有的 add 是计算 int 相加, 有的是 double 相加; 有的计算两个数字相加, 有的是计算三个数字相加.
同一个方法名字, 提供不同版本的实现, 称为方法重载

六、方法的递归

一个方法在执行过程中调用自身, 就称为 “递归”。
递归相当于数学上的 “数学归纳法”, 有一个起始条件, 然后有一个递推公式。
递归:
1.要调用自己本身。
2.要有一个趋近于终止的条件。
3.推导出递归的公式。
eg:求N的阶乘

public static void main(String[] args) {
    int n = 5;
    int ret = factor(n);
    System.out.println("ret = " + ret);
}
public static int factor(int n) {
    if (n == 1) {
        return 1;
   }
    return n * factor(n - 1); // factor 调用函数自身
}

到此这篇关于Java程序的逻辑控制和方法的文章就介绍到这了,更多相关Java程序逻辑控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java多线程wait()和notify()方法详细图解

    Java多线程wait()和notify()方法详细图解

    wait()和notify()是直接隶属于Object类,也就是说所有对象都拥有这一对方法,下面这篇文章主要给大家介绍了关于Java多线程wait()和notify()方法详细图解的相关资料,需要的朋友可以参考下
    2022-10-10
  • 解决mybatis-plus自动配置的mapper.xml与java接口映射问题

    解决mybatis-plus自动配置的mapper.xml与java接口映射问题

    这篇文章主要介绍了解决mybatis-plus自动配置的mapper.xml与java接口映射问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • sin(x)如何求解的java代码实现方法

    sin(x)如何求解的java代码实现方法

    这篇文章主要为大家介绍了sin(x)如何求解的java代码实现方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Java如何用时间戳重命名上传的文件

    Java如何用时间戳重命名上传的文件

    这篇文章主要介绍了Java如何用时间戳重命名上传的文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Java中的WeakHashMap详解

    Java中的WeakHashMap详解

    这篇文章主要介绍了Java中的WeakHashMap详解,WeakHashMap可能平时使用的频率并不高,但是你可能听过WeakHashMap会进行自动回收吧,下面就对其原理进行分析,需要的朋友可以参考下
    2023-09-09
  • Spring+SpringMVC配置事务管理无效原因及解决办法详解

    Spring+SpringMVC配置事务管理无效原因及解决办法详解

    这篇文章主要介绍了Spring+SpringMVC配置事务管理无效原因及解决办法详解,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • jwt生成token和token解析基础详解

    jwt生成token和token解析基础详解

    这篇文章主要为大家介绍了jwt生成token和token解析基础,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 深入浅析Spring 中的Null-Safety

    深入浅析Spring 中的Null-Safety

    Spring Framework 本身利用了上面这几个注释,但它们也可以运用在任何基于Spring的Java 项目中,以声明空安全api 和 空安全字段。这篇文章主要介绍了Spring 中的Null-Safety相关知识 ,需要的朋友可以参考下
    2019-06-06
  • springboot项目之相互依赖报错问题(基于idea)

    springboot项目之相互依赖报错问题(基于idea)

    这篇文章主要介绍了springboot项目之相互依赖报错问题(基于idea),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java操作文件路径正反斜杠问题解决

    Java操作文件路径正反斜杠问题解决

    最近在实现文件上传时,windows与linux系统出现的问题,两个系统中操作文件使用"\","/"导致IOException,本文主要介绍了Java操作文件路径正反斜杠问题解决,感兴趣的可以了解一下啊
    2024-01-01

最新评论