java基础

java 基础

方法(Method)

  • 格式:
  public static 数据类型 Method(数据类型 参数,...){
      方法体;
      return ...;
  }
  • 示例:
  package com.smithbee.day01;
  
  /*
  题目描述
  用一个方法判断两个数字是否相同
  */
  
  public class Demo03JudgNumIfSame {
      public static void main(String[] args) {
          ifSame(1,10);
  
          System.out.println("============");
          System.out.println(numSame(10,20));
  
      }
      public static void ifSame(int num1,int num2){
          if(num1 == num2){
              System.out.println("输入的两个数字相同");
          }else {
              System.out.println("输入的两个数字不相同");
          }
      }
  
      public static boolean numSame(int num1,int num2){
          //第一种方法
        /*  boolean same ;
          if(num1 == num2){
              same = true;
          }else {
              same = false;
          }*/
  
          //第二种方法
  //        boolean same = num1 == num2 ? true : false;
  
          //第三种方法
  //        boolean same = num1 == num2;
  
          //第四种方法
          return num1 == num2;
  
  
      }
  }
  

方法重载(Overload)

  • 格式:指在同一个类中,允许存在1个以上的同名方法,只要他们的参数列表不同即可,与修饰符和返回值类型无关。
  • 参数列表:
    • 个数不同
  • 数据类型不同
    • 参数顺序不同
  • 示例:
package com.smithbee.day01;
/*
方法重载练习:
用方法重载实现println这个实例
*/
public class Demo06MethodOverLoad {
    public static void main(String[] args) {
        achievePrint(10);
        achievePrint(19.3);
        achievePrint('a');
        achievePrint(true);
        

    }

    //定义相同的achievePrint
    public static void achievePrint(byte a){
        System.out.println(a);
    }
    public static void achievePrint(short a){
        System.out.println(a);
    }
    public static void achievePrint(int a){
        System.out.println(a);
    }
    public static void achievePrint(long a){
        System.out.println(a);
    }
    public static void achievePrint(float a){
        System.out.println(a);
    }
    public static void achievePrint(double a){
        System.out.println(a);
    }
    public static void achievePrint(char a){
        System.out.println(a);
    }
    public static void achievePrint(boolean a){
        System.out.println(a);
    }
}

  • IDEA小技巧:
    • 使用快捷键,shift + F6 可以选中更改相同的字段
    • 按住ctrl ,点击Java中的方法,可以查看源码
    • for循环,快捷键 次数.fori 直接生成

数组

定义

  • 定义格式:
    • 动态:数据类型[] 数组名字 = new 数据类型[长度];
    • 静态:数据类型[] 数组名字 = new 数据类型[]{元素1,元素2,...};
    • 静态的省略形式:数据类型[] 数组名字 = {元素1,元素2,...};
  • 示例:
package com.smithbee.day01;

public class Demo07ArrayDefine {
    public static void main(String[] args) {
        //第一种方式定义数组,动态
        int[] num = new int[2];
        //第二种方式定义数组,静态
        String[] idea = new String[]{"I am a student.","I like java.","I am a programmer."};
        //第三种方式定义数组,静态的省略
        int[] num1 = {1,2,3};
        
        //前两种定义的分开形式
        int[] num7;
        num7 = new int[7];
        
        String[] idea1;
        idea1 = new String[]{"come","on","baby!"};
    }
}

  • 注意事项:
    • 数组一旦确定,长度则不可变。
    • 动态和静态定义的格式,可以写成两个语句,而静态的省略形式则不行,在上面的是示例中会展示。
    • array.fori 循环的快捷键

数组的访问

package com.smithbee.day01;

public class Demo08ArrayUse {
    public static void main(String[] args) {
        //数组的访问
        int[] array = new int[]{10,20,30};
        System.out.println(array); //[I@1e643faf 这是内存地址哈希值
        System.out.println(array[0]);//10

        System.out.println("==================");
        //动态定义数组,访问
        int[] array1 = new int[3];
        System.out.println(array1[0]);//0  系统默认值
        System.out.println(array1[1]);//0
        System.out.println(array1[2]);//0

        //系统默认值:初始化数组时,系统会赋值默认值
        /*
        整数:0
        浮点数:0.0
        字符型:“\u0000”
        布尔型:false
        引用型:null
        */

        //静态定义数组时也有默认值的过程,只不过系统自动将默认值转化为{}内的具体数值了
    }
}

数组用作方法的参数类型的区别

  • 参数为基本类型
package com.smithbee.day01;

public class Demo11Result {
    public static void main(String[] args){
        int a = 1;
        int b = 2;
        System.out.println(a);  //1
        System.out.println(b);  //2
        change(a,b);
        System.out.println(a);  //1
        System.out.println(b);  //2


    }
    public static void change(int a,int b){
        a = a + b;
        b = b + a;


    }

}

  • 参数为引用类型(以数组为例)
package com.smithbee.day01;

public class Demo12Result01 {
    public static void main(String[] args) {
        int[] arr = new int[]{1,3,5};
        System.out.println(arr[0]);   //1
        System.out.println("====================");
        change(arr);
        System.out.println(arr[0]);   //100
    }
    public static void change(int[] arr){
        arr[0] = 100;
    }
}

  • 总结:方法的参数为基本类型时,传递的是数据值;方法的参数为引用类型时,传递的是地址值。
posted @ 2020-05-06 20:37  SmithBee  阅读(127)  评论(0编辑  收藏  举报