--------------------------------------------------------------------------------------------莫听穿林打叶声,一蓑烟雨任平生--------------------------------------------------------------------------------------------

Java笔记day06

day06
一、循环嵌套
    以九九乘法表为例
        for (int i = 1; i <= 9; i++) {      //第一个循环控制的是行
            for (int j = 1; j <= i; j++) {      //第二个循环控制的时列
                System.out.print(j + "*" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
        ****输出从1*1到9*9的乘法表****
二、控制语句
    break,continue,return
1、出现原因
    Java中的goto是保留字,目前不能使用,虽然没有goto语句可以增强程序的安全性,但是也带来很多不便
    比如说,想在某个循环知道到某一步的时候就结束,现在就做不了这件事情,为了弥补这个缺陷
    Java就提供了break,continue和return来实现控制语句的跳转和中断
    break,continue,return  它们都是关键字
2、break
    1)、break的使用场景
        switch语句和循环语句
        根据单独使用的时候报错信息可以得出,break语句是适用于switch语句和循环语句中
            1、在switch语句中使用
            2、在循环语句中使用
            3、单独在if语句中不能使用
    2)、break的意义
        结束这个循环(以九九乘法表为例)
    for (int i = 1; i <= 9; i++) {      
            for (int j = 1; j <= i; j++) {      
                System.out.print(j + "*" + i + "=" + (i * j) + "\t");
            }
            System.out.println();
            if(i==3){
                break;      //i=3时结束for的外层循环,若在内层循环中使用,则结束的是内层循环
            }
    }
    ****输出九九乘法表的前三行****
    3)、带标签的break
        单层跳出:在当前for循环中使用break,只结束当前for循环
        多层跳出:带标签的break,格式:标签名 : 循环语句(开发中如果没有特殊需求,一般不会去使用)
        举例:九九乘法表在内循环j是4的时候,break
        xiaomiyang : for(int i=1;i<=9;i++){         //外层控制行
            xiaocai : for(int j=1;j<=i;j++){        //内层控制列
                System.out.print(j+"*"+i+"="+(i*j)+"\t");
                if(j==4){
                    break xiaoyang;       //结束当前循环,结束外层循环,换成xioacai则是结束内层循环
                }
            }
            System.out.println();
        }
    ****输出九九乘法表的前四列****
2、continue
    1)、continue使用场景
        单独使用会报错,根据报错信息可以发现,continue只能在循环中使用
    2)、continue的意义
        结束这一次循环
        for(int i=1;i<=10;i++){
            if(i==3){
                continue;       //结束i=3这一次循环,然后继续i=4的循环
            }
            System.out.println(i);
        }
        ****输出结果为1 2 4 5 6 ... 9 10****
3、return
    1)、return的使用场景
        可以在任何地方中执行
    2)、return的意义
        结束这个方法,return后面的内容不在执行(结束自return开始往上最近的一个方法)
          在main方法中使用,就相当于结束了main方法,也就是结束当前java程序
        for(int i=1;i<=10;i++){
            if(i==3){
                return;       //当i=3时,结束自return开始往上最近的一个方法)
            }
            System.out.println(i);
        }
        ****for循环输出为1 2,要根据上下代码确定最终结果****
三、方法
1、概念
    简单的说:方法就是完成特定功能的代码块,在很多语言(譬如C语言)里面都有函数的定义
            函数在Java中被称为方法
2、格式:
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
            函数体;
            return 返回值;
    }    
    名词解释:
        1)、修饰符
                修饰符比较多,但是目前只需要记住一个组合public static
                后面面向对象的时候,会详细介绍有哪些修饰符,以及使用方法
        2)、返回值类型
                定义return返回值的数据类型。
        3)、方法名
                给这个方法起个名字(符合标识符的命名规则,单个单词小写,多个单词第一个小写,后面单词首字母大写)
        4)、参数
            a、形参
                定义在方法上面的参数名
            b、实参
                将来实际调用方法传入的值,叫实参
            c、参数类型
                限定将来调用方法需要传入参数的数据类型
        4)、参数名(形参)
                是一个变量,用于接收将来调用方法传入的参数,名字见名之意
        5)、函数体
                完成方法功能的代码,实现主要的方法逻辑
        6)、return:
                一般情况下,有返回值的方法,才会有return,return的作用是将计算好的
                结果返回给调用者,返回的类型是与方法定义的返回值类型一致
        7)、返回值:
                程序被return带回的结果,返回给调用者
3、分类
    1)、有返回值的方法、没有返回指定的方法
    2)、有返回值的方法
        有返回值的方法调用的时候,有两种处理方式
        a、定义一个变量,数据类型与方法返回的数据类型一致,
                  接收方法返回的值(推荐)
        b、直接使用   
    3)、没有明确返回值的方法
            没有返回值的时候,方法上定义的返回值类型为void
            void表示该方法,没有任何返回值
    4)、注意
        a、即使我们的方法没有写返回值类型,也是需要调用才能执行
        b、没有明确返回值类型的方法,是可以单独调用的
4、方法重载
        在同一个类中,方法名一样,参数列表不一样,这样的现象称之为方法的重载
        Java代码执行方法调用时会自动匹配符合要求的那个方法
        其中方法的重载与返回值类型无关
5、举例
    1)、有返回值举例
        需求,计算两个int类型的数之和
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int res = sum(a,b);
        System.out.println(res);        //也可以这样输出System.out.println(sum(a,b));
    }
    public static int sum ( int x1, int x2){
            return x1 + x2;
    }
    ****输出结果为a+b的和,30****
    ****上面的方法也可以写成下面的形式****
    ****    public static int sum(int x1,int x2){   ****
    ****    int result = x1+x2;                     ****
    ****    return result;                          ****
    ****    }                                       ****

    2)、没有返回值举例
        写一个没有返回值的吃饭的程序
    public static void main(String[] args) {
        eat();
    }
    public static void eat(){       //定义一个方法表示吃饭
        System.out.println("吃饭");     
    }
    ****输出结果:吃饭****

    3)、重载举例
        写一个能体现Java方法重载的求和方法,并调用执行
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;
        int res1 = sum(a,b);
        System.out.println(res1);
        int res2 = sum(a,b,c);
        System.out.println(res2);
    }
    public static int sum ( int x1, int x2){
            return x1 + x2;
    }
    public static int sum ( int x1, int x2,int x3){     //定义一个同名但功能不同的两个方法
            return x1 + x2 + x3;
    }
    ****输出中res1=30,res2=60****
6、注意事项
    1)、方法不调用不执行
    2)、方法与方法是平级的,不能嵌套定义,但是可以嵌套使用
    3)、方法定义时参数之间用英文逗号隔开
    4)、方法调用的时候不用再传递数据类型,只需要传递数据
    5)、如果方法有返回值,一定要有return带回一个返回值,不然会报错
四、附加
    报错修改快捷键:将鼠标光标移动至报错的横线上,按下alt+enter

            明天继续

 

posted @ 2021-11-28 11:13  等你回眸一笑  阅读(33)  评论(0)    收藏  举报