2024/1/2总结

1.break

break用于swich语句中,用于终止当前case语句

break用于循环语句中时,当执行到break语句就会终止循环

列如

    for (int i = 0; i < 10; i++) {

            System.out.println(i);

            if (i == 3) {

                System.out.println("找到了");

                break;

            }

        }

其中,当i=3时会执行到break语句,此时循环就会结束

2.continue

continue用在循环中,其作用是跳过本轮循环,然后进入下一轮循环

例如

    for (int i = 0; i < 10; i++) {

            if (i == 3) {

                continue;

            }

            System.out.println(i);

        }

其中,当i=3时会执行到continu语句,然后就会跳出本轮循环,不在执行continu之后的语句,所以本轮循环不会打印i的值

3.BreakOutfor

break和continue在默认情况下都是操作本层循环

如果想让它们作用于其他层的循环,可以给其他循环起一个名字(任意取)来标记

例如

outFor: for (int i = 0; i < 5; i++) {    //给外层循环起名outFor来标记

            for (int j = 0; j < 5; j++) {

                if (j == 2) {

                    break outFor;           

                    // continue outFor;

                }

                System.out.print(j + " ");

            }

            System.out.println();

        }

在内层循环操作外层循环,只需要用 break 名字;  或  continue 名字;  即可

4.方法

是什么?

方法是一堆代码的集合,代表一种固定的功能,是对这种功能的封装,在需要此功能时可以直接进行调用

优点:复用性强 方便维护 容易扩展 灵活度高 简洁

方法的声明

修饰符列表 返回值类型 方法名(参数列表)

其中,修饰符列表可以有也可以没有,也可以有多个且不区分顺序

        权限控制:public private protected 缺省   四选一

        static修饰静态 不加就是成员 

        返回值类型 可以写各种数据类型 如果没有返回值就写void

方法的类型

成员方法:没有被static修饰的方法

静态方法:被static修饰的方法

构造方法

public static void m1(){}  //无参无返回值的静态方法

public static void m2(int x){}  //有参无返回值的静态方法

public static void m3(int x,int y,double z){}  //多参无返回值的静态方法

public static int m4(int x,int y,double z){}   //多参有返回值的静态方法

public void (int x){}  //有参无返回值的成员方法

方法的调用

如果是静态方法   类名.方法名(参数)  同类中类名可以省略

如果是成员方法   对象.方法名(参数)

关于参数

形参:在声明方法是传入的抽象的参数

实参:在调用方法时传入的不同的具体的参数

入参;是参数列表,就是在调用这个方法时要传入的数据

出参:执行完方法后得到的返回值

方法重载(Overload)

方法重载就是方法名相同,但是参数列表不同

参数列表不同可以是参数的个数不同,也可以是参数的数据类型不同

重载的优点:功能相同且方法名相同,方便记忆

比如

public static void sum(int a,int b){}

public static void sum(double a,double b){}

public static void sum(long a,long b){}

public static void sum(int a,double b,long c){}

public static void sum(char str,int a){}

//这些都是对同一个方法的重载

递归
理解递归思想之前____要先清楚VM栈

栈的特点:后进先出

栈帧:在栈内存中保存的数据空间

栈底元素:第一个入栈的元素

栈顶元素:最后一个入栈的元素

压栈:把栈帧放入栈中

弹栈:把栈帧从栈中拿出

在程序的执行过程中,每一个方法就是一个栈帧,越外层的方法就会越早入栈

main方法作为程序的入口,一般会最早入栈

递归

"要理解递归,就要理解递归"

递归就是方法在内部调用自己

直接递归:当前方法调用自己

间接递归:A调用B,B调用A

递归的方法需要终止条件,否则会陷入死循环

递归的优点:代码比较简洁,可以解决一些特殊的问题(如数据结构中的"树"就是递归定义的数据结构)

递归的缺点:较难理解,时间复杂度较高

递归的经典问题;斐波那契数列------1,1,2,3,5,8,13,21,34........

public static int fibo(int i){
    if(i == 1 || i == 2)  //如果要求第1位或者第2位,直接返回1
        return 1;
    else  //否则,返回递归调用
        return fibo(i-1) + fibo(i-2);
}

public static void main(String[] args){
    int result = fibo(7);  //求第7位数字
    System.out.println(result);//打印结果为13
}

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值