超牛牪犇Java之循环&递归&函数简介

1.循环

          (1).do-while 循环

                不管判断语句是否成立 都会先执行循环体1次       

//fun1();

//fun2();

//while的死循环

//让判断条件恒成立

int number = 1;

while(true) {

System.out.println(number);

//添加一个出口 来停止你的循环

if (number == 5) {

//结束循环

//break后面的语句是永远不会执行的

//所以break后面不要写代码 会报错

break;//跳出循环语句

}

number ++;

            (2).for循环

           for(声明循环增量初值;判断条件;增量++){循环体}

           1->2->4->3->2->4->3...->5

           循环的执行顺序

                1️⃣       2️⃣     3️⃣

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

                4️⃣

           sout("哈哈");

           }

                   5️⃣

           sout("循环外");

                        注意:for循环中的循环增量 只在循环中有用

            (3).for循环的嵌套

                    1->2->4->5->7->6->8->3->....->9

                      1️⃣      2️⃣    3️⃣

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

          4️⃣       5️⃣     6️⃣

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

                    7️⃣

            sout("内循环");

    }

                8️⃣

        sout("外循环");

}

          9️⃣

  sout("循环外");


example:

for (int i = 1; i <= 9; i++) {

for (int j = 1; j <= i; j++) {

//使用制表符 \t 使前端对齐

System.out.print(j+"*"+i+"="+ (i*j) + "\t");

}

System.out.println();

}


            尖向上的三角形 修改内循环判断条件

            尖向下的三角形 修改初始值部分


               (4).break和continue在for循环中的作用

                    都只能影响到自己这层循环

                      break是跳出当前的内循环 并没有跳出整个循环

                      continue是结束本次循环 继续执行下一次循环

                (5).for循环的死循环

        for (;;) {

        System.out.println("我是死循环");

        }


                //明确了循环的停止条件时 一般使用while比较多


        }


2.随机数(Math类)

                            伪随机:通过一个计算的规则算出的随机数

                            double random = Math.random();

                            返回的随机数 范围[0,1)

                //猜数字

                //  随机一个[0,100]的数

                // 输入你猜的数 

                //  如果你猜的数比随机出来的大 就打印猜大了

                //  反之 猜小了  猜中 打印猜中了 结束程序 

int num = (int)(Math.random() * (100 - 0 + 1) + 0);

Scanner scanner = new Scanner(System.in);

while(true){

System.out.println("请输入一个数0-100:");

                         //接收用户输入的值

String number = scanner.nextLine();

                         //转化为int

int num1 = Integer.parseInt(number);

                         //判断

if (num1 > num) {

System.out.println("猜大了");

}else if (num1 == num) {

System.out.println("猜中");

break;

}else {

System.out.println("猜小了");

}

}


3.函数

写法: 关键字 返回值类型 函数名(参数类型1 参数名1,参数类型2 参数名2,......){

                            函数体(函数中的语句)

                            return 返回值;

         }    

注:没有返回值 使用void

函数的书写位置:

1.必须在类中

2.不能在函数中定义函数

函数重载:实现相同功能 但是内部实现不同 就可以使用函数的重载

函数的重载只和参数有关(只跟参数的类型 参数顺序 参数个数有关)

跟函数的返回值类型和函数的实现无关

return 后面可以不跟返回值

作用:直接结束这个函数

计算两个数和的函数 

如果需要使用返回值 就写 反之 不写输出就行

调用函数要在主函数里调用

通过传参 可以提高方法的扩展性

函数的返回值可以不接收

4.递归

递归函数

函数的实现部分 调用一个跟自己名字相同的函数(自己调自己)

public static int jiecheng(int a) {

//注意:递归函数 都需要一个出口

if (a == 1) {

return 1;

}

// 4 * 3 * 2 * 1 传进来的数自减

return a * jiecheng(--a);

}

public static void main(String[] args) {

int num = jiecheng(4);

System.out.println(num);

}


猜你喜欢

转载自blog.csdn.net/enchantedlll/article/details/80200184