JAVASE第4天笔记
来源:互联网 发布:淘宝脱毛仪器有效果吗 编辑:程序博客网 时间:2024/06/07 03:50
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(); } }}
第一步:先执行了外面的循环的初始化语句,然后开始做判断
第二步:如果条件成立,紧接着执行循环体
第三步:一定要把循环体看成一个整体,把里面的代码全部执行完之后,才能继续下一步;
如果循环体里面是一个循环结构,那么这个循环结构必须先执行完,才能执行下一步,也就是控制语句;
第四步:回到外层循环,然后继续判断;
外层循环控制 行数 ,内存循环控制列数!
转义字符
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;}
- JAVASE第4天笔记
- JAVASE第26天笔记
- JAVASE第2天笔记
- JAVASE第3天笔记
- JAVASE第5天笔记
- JAVASE第6天笔记
- JAVASE第6天笔记
- JAVASE第7天笔记
- JAVASE第8天笔记
- JAVASE第9天笔记
- JAVASE第10天笔记
- JAVASE第11天笔记
- JAVASE第12天笔记
- JAVASE第13天笔记
- JAVASE第14天笔记
- JAVASE学习笔记第5天
- JAVASE学习笔记第6天
- JAVASE学习笔记第7天
- 键盘录入两个文件路径,将其中一个文件夹中的所有的文件复制到另一个文件中
- JAVASE第2天笔记
- Lesson 11: 绘制三角形
- 简单小程序敲着练手额~
- JAVASE第3天笔记
- JAVASE第4天笔记
- JAVASE第5天笔记
- 动态规划总结
- JAVASE第6天笔记
- install salt & initial configuration(centos7)
- Vollery网络框架的源码分析
- ExtJS框架 使用树控件TreeNode \ TreeLoader
- JAVASE第6天笔记
- JAVASE第7天笔记