java 方法重载,引用数据类型整理 ArrayList集合整理

方法的重载   Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载。

 

public classDemo03 {
    public static void main(String[] args) {
        int sum1 = add(1, 2);
        int sum2 = add(1, 2, 3);
        double sum3 = add(1.2, 2.3);
        System.out.println("sum1=" + sum1);//3
        System.out.println("sum2=" + sum2);//6
        System.out.println("sum3=" + sum3);//3.5
    }
    public static int add(int x, int y) {
        return x + y;
    }
    public static int add(int x, int y, int z) {
        return x + y + z;
    }
    public static double add(double x, double y) {
        return x + y;
    }
}

 

重载注意事项

1.重载方法参数必须不同:

参数个数不同,如method(int x)method(int x,int y)不同

参数类型不同,如method(int x)method(double x)不同g

参数顺序不同,如method(int x,double y)method(double x,int y)不同

重载只与方法名与参数类型相关与返回值无关

void method(int x)int method(int y)不是方法重载,不能同时存在

 重载与具体的变量标识符无关

method(int x)method(int y)不是方法重载,不能同时存在

参数传递

 

参数传递:当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了。

这种传递方式,我们称为参数传递。

 

1.在这里,定义方法时,参数列表中的变量,我们称为形式参数

 

2.调用方法时,传入给方法的数值,我们称为实际参数

 

public class Demo01 {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        change(a, b);
        System.out.println("a=" + a);//5
        System.out.println("b=" + b);//10
    }
    public static void change(int a, int b){
        a=200;
        b=500;
    }
}

 

public class Demo02 {
    public static void main(String[] args) {
        int[] arr = { 1, 2, 3 };
        change(arr);
        
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

    public static void change(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i] *= 2;
        }
    }
}    //2.4.6

结论:

当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响

当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响

 引用数据类型

分类

第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用。

第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用。

自定义数据类型概述

 

类,它是引用数据类型,自定义类也是一种数据类型。只是自定义类型并非Java为我们预先提供好的类型,而是我们自己定义的一种引用数据类型用来描述一个事物。

类的定义与使用

public class Phone {
    String brand;
    String color;
    double size; 
}自定义类

类的使用格式     使用方式和使用引用数据类型Scanner类相似

导包,创建对象:数据类型 变量名=new 数据类型();调用方法,访问属性:变量名.属性

public class Test {
    public static void main(String[] args) {
        Phone p = new Phone();
                p.brand = "苹果6s";
                p.color = "白色";[为p中color属性赋值为”白色”]
                p.size = 5.5;[为p中size属性赋值为5.5]
System.out.println("手机品牌为" + p.brand);//手机品牌为苹果6s
System.out.println("手机颜色为" + p.color);//手机颜色为白色
System.out.println("手机尺寸大小为" + p.size);//手机尺寸大小为5.5
    }
}            

 ArrayList集合

集合的创建

导包:import java.util.ArrayList;

创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:

ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

注意:

集合中存储的元素,只能为<>括号中指定的数据类型元素;

“<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

下面给出8种基本数据类型所对应的引用数据类型表示形式:

集合中常用的方法:

 

import java.util.ArrayList;
public class ArrayListDemo01 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("stu1");
        list.add("stu2");
        list.add("stu3");
        list.add("stu4");
        System.out.println("集合的长度:" + list.size());
        System.out.println("第1个元素是:" + list.get(0));
        System.out.println("第2个元素是:" + list.get(1));
        System.out.println("第3个元素是:" + list.get(2));
        System.out.println("第4个元素是:" + list.get(3));
    }
}

长度可变,通过索引访问

集合的遍历

 import java.util.ArrayList;
 public class ArrayListDemo02 {
     public static void main(String[] args) {
 
         ArrayList<Integer> list = new ArrayList<Integer>();
         //添加元素到集合
         list.add(13);
         list.add(15);
         list.add(22);
         list.add(29);
         //遍历集合
         for (int i = 0; i < list.size(); i++) {
             //通过索引,获取到集合中每个元素
             int n = list.get(i);
             System.out.println(n);
         }
     }
 }

集合中其他常用方法:

|------boolean add(int index,  Object obj)

功能:在集合中指定index位置,添加新元素obj

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。

|------Object set(int index, Object obj)

功能:用指定元素obj替代集合中指定index位置的元素

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。

|------Object remve(int index)

功能:从集合中删除指定index处的元素,返回该元素

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。

|------void clear()

功能:清空集合中所有元素

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[]。

posted on 2018-09-27 08:44  旧时光1234  阅读(303)  评论(0编辑  收藏  举报