JAVASE第4天笔记

Day04课堂笔记

标签(空格分隔): java基础


for循环概述

格式
for(初始化表达式; 比较/判断表达式;循环后的操作表达式){
    循环体;// 要执行的语句,一些代码
}

执行流程:
第一步:执行初始化表达式
第二步:执行判断表达式,看结果是true还是false
如果是true则执行循环体;
如果是false则结束,不执行循环体;
第三步:如果判断出true执行完循环体语句后,就执行循环后的操作表达式
第四步:再次判断比较表达式,重复第二步
案例:循环输出十次helloword

举例:

class For_Demo {
    public static void main(String[] args) {
        //需求:输出十次HelloWorld
        for (int x = 1; x <= 10 ;x++ )
        {
            System.out.println("hello,world!");
        }
    }
}

案例:使用for循环输出1到10 ,输出10到1;

class For_Demo {
    public static void main(String[] args) {
        //需求:输出十次HelloWorld
        for (int x = 10; x >= 1 ;x-- )
        {
            System.out.println(x);
        }
    }
}

注意事项
    (1)比较表达式里面的结果必须是布尔类型 boolean类型
    (2)如果是一条语句,可以省略,如果多条语句,不允许省略,建议永远不要省略!
    (3)有左大括号左边就不能写分号;

while循环

格式:
    初始化语句;
    while(条件表达式/判断语句){
        语句体;
        循环控制语句;//改变条件
    }
执行流程:
    第一步:执行初始化语句;
    第二步:执行判断语句 
                如果:为true则执行循环体;
                如果:为false不执行循环体;
    第三步:如果执行了语句体,紧跟着就执行循环控制语句;如果没有循环控制语句,会无限循环;
    第四步:重复第二步
class Demo1_While {
    public static void main(String[] args) {
        int x = 1;
        while (x <= 10) {
            System.out.println("x = " +  x);
            x++;
        }
    }
}

注意事项:
(1)记得别漏写控制条件;
(2)有左大括号,就没有分号;

//某屌丝为了追求女神,写了一段代码示爱,但是女神也会java,改动一下把屌丝拒绝
        int j = 1;
        while (j <= 10000);
        {
            System.out.println("I Love You!!!");
            j++;
        }

do–while

格式:
    初始化语句;
    do {
        循环体;
        控制条件;
    }while(判断条件);
执行流程
    第一步:执行初始化语句;
    第二步:执行do里面的循环体,然后执行控制语句;
    第三步:执行判断条件,如果为true,继续执行循环体里面的代码,如果为false,则结束;
注意:do里面的循环体至少执行一次!

古语:先礼后兵 先砍后奏

三个循环区别

区别
for和while循环都要先判断后执行
do–while 先执行一次再开始判断

for 和 while区别
for里面初始化的表达式值只能作用域for循环里面,出了循环就不能使用
while循环的初始化语句定义在while循环的外面,所以循环结束后,该变量还可以继续使用.
补充: for的另外一种写法,可以让初始化语句的值在循环继续使用
初始化语句;
for(;判断语句;控制语句){
循环体;
}
如果我们不知道怎么使用循环结构,就用for循环,开发中,for循环最常用!

两种无限循环结构

    while(true){
        循环体;
    }

    for(;;){
        循环体;
    }

这两种无限循环,以后while(true)在开发中常用,虽然是无限循环,但是我们可以通过控制语句去跳出循环!
什么使用for循环,什么使用while循环
如果明确循环次数的情况下,我们推荐使用for循环,如果不明确循环的次数,这个时候可以考虑使用while循环,当你不知道用什么循环的使用,推荐用for循环.

嵌套循环

class Demo1_ForFor {
    public static void main(String[] args) {
        for (int i = 1;i <= 4 ;i++ ) {                  //外循环决定的是行数



            //循环体
            for (int j = 1;j <= 5 ;j++ ) {              //内循环决定的是列数
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

第一步:先执行了外面的循环的初始化语句,然后开始做判断
第二步:如果条件成立,紧接着执行循环体
第三步:一定要把循环体看成一个整体,把里面的代码全部执行完之后,才能继续下一步;
如果循环体里面是一个循环结构,那么这个循环结构必须先执行完,才能执行下一步,也就是控制语句;
第四步:回到外层循环,然后继续判断;

外层循环控制 行数 ,内存循环控制列数!

转义字符

转义字符功能
\t制表符
\n换行
\r回车

break关键字

作用 : 跳出循环 ,终止循环,可以控制循环
应用: switch 中 和 循环中

continue 关键字

作用: 终止本次循环操作,继续下次循环,在continue之后的代码,在当次循环中都不会被执行,而是直接跳到控制语句;
/*
* A:continue的使用场景
    * 只能在循环中 
*/
class Demo2_Continue {
    public static void main(String[] args) {
        for (int x = 1;x <= 10 ;x++ ) {
            if (x == 4) {
                //break;
                continue;                           //终止本次循环,继续下次循环
            }

            System.out.println("x = " + x);
        }
        System.out.println("----");
    }
}

标号控制

格式:
标识符 :
应用:
对单层循环结构而言,没有意义,如果需要在内层循环中,在符合特定要求的情况下,跳出外层循环,这个时候可以采用标号法,使用break+标号来跳出;

练习

class Test1 {
    public static void main(String[] args) {
        for(int x=1; x<=10; x++) {
            if(x%3==0) {
                //break;                        //我想在控制台输出2次:“Java基础班“
                //continue;                     //我想在控制台输出7次:“Java基础班“
                System.out.println("Java基础班");//我想在控制台输出13次:“Java基础班“   
            }
            System.out.println("Java基础班");
        }
    }
}

三个关键字区别

return和break以及continue的区别?
return : 结束方法
break : 结束循环,终止循环;
continue : 终止当次循环,继续下次循环!
    class Demo4_Return {
    public static void main(String[] args) {
        for (int i = 1;i <= 10 ;i++ ) {
            if (i == 4) {               
                //break; 相当于跳到位置1
                return;  相当于直接跳到位置2                     //返回的意思,用来返回方法
            }
        } // 位置1

        System.out.println("循环结束了");
    }//位置2 
}

方法(函数)

什么是方法
完成特定功能的代码块
方法的作用是什么?
提高代码的复用性,其实就是为了少写代码
定义方法的一般格式是什么?
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…){
代码;
}
//public static 修饰符
//void 返回值类型
//main 方法名 (其实就是标识符)
//参数类型 参数名 :数量不限,可以写,可以不写,根据实际功能要求来!
public static void main(String[] args){

}

怎么写方法?

1,明确返回值类型 : 我要返回什么
2,明确参数列表 : 我要你给我什么

注意:写方法时候,不要把方法写在main方法里面,否则报错!

class MethodDemo {
    public static void main(String [] args){
    //千万不要在这里面写方法
    //写好方法后 怎么调用?
    //在主方法里面,直接写方法名(传入相应参数)
       int  he =  add(10,20,30);
       System.out.println("he = " + he);
    }
    //要在大括号下面去书写
    //如果不需要返回任何值,就写void
    // 如果要返回具体的数据,看这个数据是什么类型的返回值就写什么类型的

    public static int add(int a,int b,int c){
        int sum = a + b + c;
        return sum;
    } 

}

方法的调用

方法的重载

方法名相同,参数列表不同 (方法重载),与返回值无关
参数列表不同
    参数个数不同
    参数类型不同
        顺序不同
思考:没有方法重载行不行? 不用也可以,只是需要起不同的名字
 方法重载解决什么问题?
    解决了我们在调用方法时候,我们对于类似功能的代码块,只需要记住一个方法名即可.不需要记住多个方法名!
    举例: 做两个数加法 和三个数的加法 都是做加法,add方法就够了
已知函数 : void show(int a, int b, float c){ },
哪个答案和show不是函数重载?

A.void show(int a,float c,int b){ } 
B,void show(int x,int y,float z){ } 
C.int show(int a, float c, int b){return a;} 
D.int show(int a, float c ){return a;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值