day07
一、特殊的流程控制语句
break(day06)
continue
1.理解:
作用于循环中,表示跳过循环体剩余的部分,进入到下一次循环
做实验:
while(true){
System.out.println(“111”);
System.out.println(“222”);
if(true){
continue;
}
System.out.println(“333”);
}
2.案例:
循环录入Java课5名学生的成绩,统计分数大于等于80分的学生比例。
解决方案一:Scanner scan = new Scanner(System.in);int count = 0;//分数大于等于80分学生的人数for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "名学生的成绩:");double score = scan.nextDouble();if(score >= 80){count++;}}double proportion = count/5.0*100;System.out.println("分数大于等于80分的学生比例为:" + proportion + "%");解决方案二:Scanner scan = new Scanner(System.in);int count = 0;//分数大于等于80分学生的人数for(int i = 1;i<=5;i++){System.out.println("请输入第" + i + "名学生的成绩:");double score = scan.nextDouble();if(score < 80){continue;}count++;}double proportion = count/5.0*100;System.out.println("分数大于等于80分的学生比例为:" + proportion + "%");
return
理解:
作用于方法中,表示结束该方法
做实验:
System.out.println(“111”);
System.out.println(“222”);
if(true){
return;
}
System.out.println(“333”);
label
1.理解:
给循环取名字(做标记)
2.面试题:
描述下列代码的运行结果
答:运行结果循环5遍
http://www.baidu.com
for(int i = 1;i<=5;i++){
System.out.println(i);
}
3.需求:
嵌套for循环,外层循环5次,内层循环3次,
当外层循环到第3次时,在内层循环中结束掉外层循环
a:for(int i = 1;i<=5;i++){
for(int j = 1;j<=3;j++){
System.out.println(i + " – " + j);
if(i == 3){
break a;//跳出指定循环
}
}
}
二、方法
概念:
特定功能的代码块
好处:减少了代码的冗余
分类:
无参数无返回值的方法
带参数的方法
带返回值的方法
理解:
参数是方法调用时传入的数据
返回值是方法执行完毕后返回的数据
无参数无返回值的方法
1.语法结构:
public static void 方法名(){
…代码块…
}
2.注意:
public表示公有的,意味着该方法在哪都可以调用
static表示该方法为静态方法,静态方法直接使用类名调用
void表示无返回值,该方法执行完毕后不会返回数据
方法写在类里
方法与方法之间是平级关系
方法必须被调用,不然永远是个摆设
方法可以重复调用
3.需求
public static void main(String[] args){调用方法Test04.play();Test04.run();调用方法run();play();}public static void run(){System.out.println("跑的方法 -- 500行");
}public static void play(){System.out.println("发技能的方法 -- 1200行");
}
带参数的方法
1.语法结构:
public static void 方法名(参数列表){
…代码块…
}
2.注意:
形式参数-形参:方法声明时设置的参数
形参必须设置类型
多个形参使用逗号分隔
局部变量表示方法里的变量,其作用域只能在方法中使用
形参也是局部变量
实际参数-实参:调用方法时传入的具体参数
多个实参使用逗号分隔
实参与形参的个数必须一致,并且类型必须兼容
3.需求:
设计一个方法(getMax),传入两个int类型的数字,输出最大值
public static void main(String[] args){//调用方法getMax(10,20);
}public static void getMax(int a,int b){int max = (a>b)?a:b;System.out.println("最大值为:" + max);
}
带返回值的方法
1.语法结构:
public static 返回值类型 方法名([参数列表]){
…代码块…
return 具体数据;
}
2.注意:
方法声明时规定返回值类型
返回的具体数据必须和方法声明时返回值类型兼容
方法功能的单一性(不要让一个方法的功能太强大)
3.需求:
设计一个方法(getMax),传入两个int类型的数字,返回最大值
public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入第一个数字:");int a = scan.nextInt();System.out.println("请输入第二个数字:");int b = scan.nextInt();System.out.println("请输入第三个数字:");int c = scan.nextInt();//调用方法int max = getMax(a,b);max = getMax(max,c);System.out.println("最大值为:" + max);
}public static int getMax(int a,int b){int max = (a>b)?a:b;return max;//1.将max返回给调用方 2.结束该方法
}
总结
1.特殊的流程控制语句
continue
return
label – 面试题2.方法
概念
分类(如何去理解参数和返回值)
无参数无返回值的方法
带参数的方法
带返回值的方法