review

方法的调用:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
1. 无返回值的调用:

    只能直接调用

2.有返回值的调用

    1.直接调用

    2.赋值调用(建议)

    3.输出调用      

一 [判断数据是否相等]

package method_TestWork;  //导包

//(2) 判断两个数据是否相等(两个整数或者两个小数)

public class Code02 {
    public static void main(String[] args) {
        //思路:
        //有返回值类型boolean   直接调用  赋值调用  输出调用 都能用
        //参数列表  int类型或是double类型
        //输出调用
        System.out.println(method(122, 122));
        //赋值调用
        boolean b = method1(3.14, 3.23);
        System.out.println(b);

    }

    public static boolean method(int a, int b) {
        //if判断
        if (a == b) {
            return true;
        } else {
            return false;
        }
    }

    public static boolean method1(double d1, double d2) {
        if (d1 == d2) {
            return true;
        } else {
            return false;
        }
    }
}

二.[获取两个数的较大值]

package method_TestWork;
//(3)获取两个数中较大的值(两个整数或者两个小数)
public class Code03 {
    public static void main(String[] args) {
        //返回值类型  int类型   double 类型
        //参数列表数据类型  int类型  double 类型
        //赋值调用
        int max = compare(232,232343);  //int类型
        System.out.println(max);
        //输出调用
        System.out.println(method(343.4343,4343.3));   //double类型
    }
    //int 比较最大值
    public static int compare(int a,int b){
        int max = a>b?a:b;
        return max;
    }
    //double比较最大值
    public static double method(double d1,double d2 ){
        if(d1>d2){
            return d1;
        }else{
            return d2;
        }
    }
}

三.[三个数的最大值]

package method_TestWork;
//(5)求三个整数的最大值  (运用方法)
public class Code05 {
    public static void main(String[] args) {
        //返回值类型为  int
        //参数形参  int
        //三元运算符  或  if else  if     else if ...

        //赋值调用
        int max = compare(12,343,454);
        System.out.println(max);

        //直接调用
        //method(2.32,23.34,454.443);
        //输出调用
        System.out.println(method1(23.323,232.34,434.45));
    }
    //赋值调用
    public static int  compare(int a, int b, int c) {
        //if判断
        if (a > b && a > c) {
            return a;
        } else if (b > a && b > c) {
            return b;
        } else if (c > a && c > b) {
            return c;
        } else {
            return -1;
        }
    }
    //直接调用
    public static double method1(double a,double b,double c){
        //三元运算符
        double num = a>b?a:b;
        double max = num>c?num:c;
        return max;
    }
}

四.[if优化后的代码案例]

package method_TestWork;
/*
6.定义一个方法名blackjack接收两个大于0的int类型值,
    返回两个数中不大于21且最接近21的数,
    如果两个数都大于21,则返回0;
 */
/*
public class Demo01 {
    public static void main(String[] args){
        System.out.println(method(21,19));
    }

    public static int method(int a,int b){
        if(a>21&&b>21){
            return 0;
        }
        if(a>21){
            return b;
        }
        if(b>21){
            return a;
        }
        return a>b?a:b;
    }
}
*/

/*
6.定义一个方法名blackjack接收两个大于0的int类型值,
    返回两个数中不大于21且最接近21的数,
    如果两个数都大于21,则返回0;
 */
//1.有参有返回值    赋值调用
//2.都大于    不都大于(一个大于21  一个小于等于21)   都小于(取较大值作为返回值)

public class Demo01{
    public static void main(String[] args) {
        //赋值调用
        int i = fun(18,19);
        System.out.println(i);
    }
    public static int fun(int a,int b){
        if(a>21&&b>21){
            return 0;
        }
        if(a>21){
            return b;
        }
        if(b>21){
            return a;
        }
        int max =a>b?a:b;
        return max;
    }
}

五.[素数在方法中中的运用]

建议先写有需求的方法语句,然后再完善主方法------>提高代码的健壮性

/*    素数(质数): 只能被1和本身整除
    2, 3, 5, 7, 11, 13, 17, 19

    n % (1 ~ n) == 0
      整除的次数是2次, n就是一个素数

   10. 求100以内的所有素数?

    求一个数是否是素数?

*/
public class Demo03 {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            //赋值调用
            boolean b = isSuShu(i);
            if (b == true) {
                System.out.println(i + "是否为素数:" + b);
            }
        }
    }

    //1.有参有返回值   赋值调用
    //2.遍历1---100判断是素数的输出
    //3.素数取模为0的计数变量   count
    //4.for循环判断取模的结果  并递增count
    //5.判断count==2
    public static boolean isSuShu(int num) {
        //定义取模计数变量
        int count = 0;
        //for 循环
        for (int i = 1; i <= num; i++) {
            //判断除了1和本身之外有没有其他取模的次数
            if (num % i == 0) {
                count++;
            }
        }
        //判断count
        if (count == 2) {
            return true;
        } else {
            return true;
        }

    }
}

六.[for循环的优化]

package method_TestWork;

/*
public class Demo04 {
    public static void main(String[] args){
        //给定一个数组,给定一个和
        //获取数组中,,哪两个元素相加之后等于给定的和
        //求这两个元素在数组中的索引(不要相加同一个元素)
        int[] arr = {1,4,6,7,5};
        int toytal = 9;
        for(int i  = 0;i<arr.length;i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] + arr[j] == toytal) {
                    System.out.println("两个元素的索引为:" + i + "----------------" + j);
                }
            }
        }
    }
}
*/

/*
    1给定一个int[]
    2.给定一个和
    3.哪两个元素的和等于给定的和
    4.两个元素不能相同
 */
/*public class Demo04{
    public static void main(String[] args){
        int[] arr = {1,2,4,6};
        int sum = 10;
        //for循环遍历数组
        for(int i = 0;i<arr.length;i++){
            for(int j = i+1;j<arr.length;j++){
                if(arr[i]+arr[j]==sum){
                    System.out.println("两个元素的索引为:"+i+"     "+j);

                }
            }
        }
    }
}*/

import java.util.HashMap;

public class Demo04{
    public static void main(String[] args) {
        int[] arr ={2,32,34,454,43,4};
        int sum = 458;
        HashMap<Integer,Integer> map = new HashMap<>();
        for(int i = 0;i<arr.length;i++){
            map.put(arr[i],i);
        }
        for(int i = 0;i<arr.length;i++){
            if(map.containsKey(sum-arr[i])&&i!=map.get(i)){
                System.out.println(i+"--------"+map.get(sum-arr[i]));
                return;
            }
        }
    }
}

七.[打印等腰三角形]

package method_TestWork;
//打印一个等腰三角形
public class Tst06 {
    public static void main(String[] args) {
        for (int i = 1; i <= 6; i++) {   //行数控制
            for (int j = i; j <= 6; j++) {  //空白打印不能超过行数上限
                System.out.print(" ");
            }
            for(int k = 1;k<=i;k++){  //输出不加空格打印直角三角形    
                System.out.print("* "); //元素加空格起到元素右移对称的效果
            }
            System.out.println();
        }
    }
}

八.[九九乘法表]

package method_TestWork;
//打印九九乘法表
public class Tst06{
    public static void main(String[] args){
        //正排九九乘法表
        for(int i = 1;i<=9;i++){
            for(int j = 1;j<=i;j++){   //列数的上限不能超过行数
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
        System.out.println("-----------");
        //倒排九九乘法表
        for(int i = 1;i<=9;i++){
            for(int j =9;j>=i;j--){   //列数的下限不能低于行数
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
        }
    }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄