1. Java中的数据类型
  •  基本数据类型:byte、short、int、long、float、double、char、boolean
  •  引用类型:类(class)、接口(interface)、数组(array)

java参数化类型 java中参数类型_System

     2.Java中参数传递问题

  • 基本类型:形式参数的改变不影响实际参数
  • 引用类型:形式参数的改变直接影响实际参数

     3.方法参数是类名

       如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。在传递过程中,传递的是该类对象的地址值.

注意:在Java里面基本类型和String是按值传递,因为String底层是char实现,char是基本数据类型,其它都是引用传递

      4.案例:

package day0520;

public class demo1 {
    public static void main(String[] args) {
        //基本数据类型形参改变不影响实参
        int a = 10;
        System.out.println("调用方法之前a的值为:" + a);
        Change(a);
        System.out.println("调用方法之后a的值为:" + a);
        //引用数据类型:数组
        //形参改变会影响实参的值
        int[] arr=new int[]{1,2,3};
        System.out.println("调用方法之前arr[0]的值为:" + arr[0]);
        ChangeArr(arr);
        System.out.println("调用方法之后arr[0]的值为:" + arr[0]);
        //String类型是引用类型,但在作为参数传递的过程中,表现出来的却是基本数据类型
        //因为String类型的底层数据结果是char
        String name="wtc";
        System.out.println("调用方法之前name的值为:" + name);
        ChangeName(name);
        System.out.println("调用方法之后name的值为:" + name);



    }
    public static void Change(int a){
        a=20;
        System.out.println("a的值为:"+a);
    }
    public static void ChangeArr(int[] arr){
        arr[0]=100;
        System.out.println("arr[0]的值为:"+arr[0]);
    }
    public static void ChangeName(String name){
        name="yyy";
        System.out.println("name的值为:"+name);
    }
}

      运行结果:

调用方法之前a的值为:10
                      a的值为:20
                      调用方法之后a的值为:10
                      调用方法之前arr[0]的值为:1
                      arr[0]的值为:100
                      调用方法之后arr[0]的值为:100
                      调用方法之前name的值为:wtc
                      name的值为:yyy
                      调用方法之后name的值为:wtc