java基础的第二轮快速学习!day08

day08

1.无参无返回类型方法
//练习,输出1--100中的每个数,要求使用无参无返回类型的方法完成
语法格式:
    public static void 方法名称(){
        方法体
    }

代码省略
2.无参带返回类型方法
    
//练习;计算1+2的和,要求使用方法完成
分析:
    ---该题只有一个结果,此时就可以编写为带返回值类型的方法完成
    ---带返回类型的方法语法格式
        public static 返回类型 方法名称(){}
    ---该方法返回该题的结果,因此返回类型编写,为对应结果的类型
    返回类型编写为目前所学9种数据类型之一;
    ---必须在该方法体中通过return将结果返回
    ---使用变量接受,然后在输出变量中的值
         int a = Method03.sum();//点调用方法,然后将方法返回的结果,再赋给左侧的变量名称a
 

  public static int sun(){
        int s=1+2;
        return s;
    }
    public static void main(String[] args){
     int a = Method03.sum();
     System.out.println(a);
    }

 



3.break   continue  return区别:

break:表示中断,可以再循环中使用,循环中断
continue:表示继续,只能在循环中使用,当遇到continue时
    则结束本次(当次)循环,继续执行下一次循环
return:表示返回,只能在方法中使用,返回到方法的调用处
特殊形式:当方法是无返回类型时,则可以在方法体中编写return


练习:

class Method06{
//输出:1  2  Hello
    public static void print1(){
        for(int i=1;i<=5;i++){
            if(i==3){
                break;
            }
        System.out.print(i+"\t");
        }
    System.out.println("Hello");    
    }
//输出:1  2  4   5 yes
public static void print2(){
        for(int i=1;i<=5;i++){
            if(i==3){
                continue;
            }
        System.out.print(i+"\t");
        }
    System.out.println("yes");    
    }

//输出:1  2  
public static void print3(){
        for(int i=1;i<=5;i++){
            if(i==3){
                return;
            }
        System.out.print(i+"\t");
        }
    System.out.println("OK");    
    }

    public static void main(String[] args){
        print1();
        print2();
        print3();
        
    }
}

 


4.练习:根据输入的星期,得到结果

class Method07{
    public static String getInfo(){
        String week="星期五";
        switch(week){
        case "星期一":
        case "星期二":
        case "星期四":
        case "星期六":
        return "学习":
        //break;//出现编译错误,是无法访问的语句
            //原因:该条语句之上有return,当遇到return就返回调用处

        case "星期三":
        case "星期五":
        return "自习";
        //break;
        dafault:
        return "休息";
        //break;
        }
        
    }
}

 



5.带参数无返回类型方法
练习:使用方法完成,输出1--n中的每个数
    分析:--该题目中有未知的数,因此可以编写为带参数的方法
        --每个参数语法格式:数据类型 参数名称
            多个采纳数之间使用英文逗号隔开
        --方法中未知的编写为参数,称为形式参数简称形参
        --调用方法时参数为已知的称为实际参数简称实参
        也就是实参的值赋给形参变量,必须保证实参与形参的个数、类型、顺序一致

class Method08{
    public static void print(int n){//n就是形参
        for(int i=1;i<=n;i++){
            System.out.println(i);
        }
    }
    public static void main(String[] args){
        //调用本类中的print方法
        print(5);//5就是实参
    }
}

 



//练习:计算两个数的差,可以编写为带参无返回类型的方法完成

public static void sub(double num1,doublenum2){
    double result=num1-num2;
    System.out.println(num1+"-"+nuim2+"="+result);
}

public static void main(String[] args){
        double num1=5.6;
        double num2=0.9;
        sub(num1,num2);
    }

 



6.内存分析总结:
--方法中声明的变量为局部变量,其中形参也属于局部变量
--方法执行完毕,该方法出栈,同时该方法的局部变量也随之释放空间
--各自方法中声明的局部变量可以同名,没有任何影响,各自都是独立的

7.带参带返回类型方法
//练习:判断一个年龄,输出老年,中年,青年,少年

public sattic String getInfo(int age){
    if(age>=65){
        return "老年";
    }else if(age>=30){
        return "中年";
    }else if(age>=18){
        return "青年";
    }else{
        return "少年";
    }
}
public static void mian(String[] args){
    Scanner input=new Scanner(System.in);
    System.out.print("请输入年龄:");
    int age=input.nextInt();
    System.out.println(getInfo(age));
}

 



//练习:判断一个三位数是否是水仙花数
--该题有未知的三位数,编写为参数,int num
--该题有两种情况,但是只得到一个结果,因此可以编写为带返回类型
--当一个题中是否这种情况时,一般返回类型编写boolean

class Method09{
    public static boolean isFlag(int num){
    //先判断是否是三位数
    if(num>=100&&num<=999){
    //获取当前数num中的各个位
    int gw=num%10,sw=num/10%10,bw=num/100;
    //计算各个位的立方和
    int sum=gw*gw*gw+sw*sw*sw+bw*bw*bw;
    //判断立方和是否与当前数num相等
    /*if(sum==num){
        return true;
    }esle{
        return false;
    }*/
    return sum==num;

    }else{
        return false;//false表示不是水仙花数
    }
    }

    public static void main(String[] args){
        System.out.println(isFlag(123));
    }
}

 



//练习编写方法实现输出所有三位数的水仙花数

class Method10{
    public static void print(){
    for(int i=100;i<=999;i++){
        if(Method09.isFlag(i)){
            System.out.println(i);
        }
       }
      }
    public static void main(String[] args){
        print();
    }
}

 




posted @ 2019-03-30 18:37  小白咚  阅读(141)  评论(0编辑  收藏  举报