Import java .util.Scanner;
Public class Test6{
Pubilc static void main (String[] arge){
}
}
10.分支语句
语法:
swich(表达式){
case取值1: 语句块1;
break;
case取值2:语句块2;
break;
default:语句块N;
break;
}
Switch与if嵌套
switch(表达式){
case取值N:语句块N;
If(表达式){...}
break;
default:语句块N+1;
break;
}
Switch语句相关规则
1.表达式的返回值必须是以下几个类型之一,int,byte,char,short,确定的结果,jdk1.7 后支持String;
2.Case字句中的取值必须是常量。且所有的case字句中的取值应是不同的;
3.Default字句是可选的
4.Break语句用来执行完一个case分之后使程序跳出switch语句块,如果case后面没有写break则继续直接往下执行!
5.Case 后面的执行体科协{}也可不写{}
If vs switch区别
异(待补充)
3.方法的返回值
return:结束方法的。
返回值:就是功能的结果,由return带给调用者。
注意:
1.若当前方法没有返回值类型,即返回值类型是void,那么当前方法在可以不写return。
2.Return即表示结束一个方法,也可以讲返回值返回给调用当前方法的调用者
3.Return返回值时一次只能返回一个值,不可以返回多个值
4.一个方法在可以有多高return,但被执行的只能与一个,所以需要判断
练习:
1.判断任意给定的年份是否是闰年
Import java .util.Scanner;
public class test3{
Public stastic void main (String[]args){
//**调用方法**
//杯子=榨汁机(香蕉,苹果,梨);注意这是实参
//boolean 可换成其他类型,但要比形参大
Boolean bool =IsRunNian(2017);
If (bool){
System.out.println(“是闰年”);
}else{
System.out.println(“是平年”);
}
}
Public stastic boolean isRunNian(int year) {
If( (year%4==0 && year%400!=0 )|| year%400==0){
return ture; }
else{
Return false;
}
}
}
2.根据传入的参数数量打印直角三角形
原来的代码
Import java.until.Scanner;
Public class Test32{
Public stastic void main (String[] args){
//外循环控制行数
For(int i=1 ; i<=5 ; i++){
//内循环输出表格
For(int j=i ; j<5 ; j++){
System.out .print(“ ”);
}
//内循环输出*
For(int j=1 ;j<=i*2-1; j++){
System.out.print(“*”);
}
System.out.println();
}
}
}
改造后的代码
Import java .util.Scanner;
Publlic class Test4{
Public stastic void main (String[] args){
scanner input =new Scanner(system.in);
Int num =input.nextInt();
System.out.println(“请输入三角形的行数”);
printTrangle(num);
}
Public stastic void prinTriangle (int line ){
//外循环控制行数
for(int i=1 ; i<=line ; i++){
//内循环输出表格
for(int j=i ; j<line ; j++){
System.out .print(“ ”);
}
//内循环输出*
for(int j=1 ;j<=i*2-1; j++){
System.out.print(“*”);
}
System.out.println();
}
}
}
**
3.方法的重载
在类中可以创建多个方法,他们具有相同的名字,但具有不同的参数和不同的定义;
返回值不作为方法重载的条件。
如:
pubic void method(int a ){...}
pubic void method(char c ){...}
例5:
/*
方法(函数)
方法的重载:在同一个类中,方法名相同,参数列表不同,就可以重载(具有相同的函数名)
返回值不能作为重载的条件。
*/
import java .util.Scanner;
Public class Test5{
Public stastic void main(String []args){
Int result=add (10,20);
System.out.println();
}
Public stastic int add(int a,int b){
return a+b;
}
Public stastic float add(float a,float b){
return a+b;
}
Public stastic int add(int a,int b){
return a+b;
}
}