javaSE-day04--ArrayList基本用方法、类内定义方法和方法重载、静态方法static(类的方法)、工具方法(static)的定义和使用

ArrayList基本用方法

package day04;

import java.util.ArrayList;

public class ArrayListDemo {
     
	public static void main(String[] args) {
     
		ArrayList<Integer> a = new ArrayList<Integer>();
		//向ArrayList中添加数据
		a.add(1);
		a.add(2);
		a.add(3);
		//读取ArrayList中的数据
		int a1 = a.get(0);
		int a2 = a.get(2);
		System.out.println(a1+","+a2);
		System.out.println("-----------");
		//遍历ArrayList
		for(int i = 0;i<a.size();i++) {
     
			System.out.println(a.get(i));
		}
		System.out.println("-----------");
		//删除ArrayList中的数据
		a.remove(0);
		for(int i = 0;i<a.size();i++) {
     
			System.out.println(a.get(i));
		}
		System.out.println("------");
		//修改数值
		a.set(0, 5);
		System.out.println(a);
	}
}

总结:
操作对象类似于数组
<>中填入泛型参数:要装入的数据类型。Integer、String等或者自己创建的类的对象
ArrayList:是一种集合数据类型,可以有任意多个数据,长度可以改变。
a.add()添加的是元素。 a.get()、a.remove() 参数都是索引。a.set(x,y) x为索引值,y为具体数值。
获得ArrayList的方法用:a.size();

类内定义方法和方法重载

package day04;
public class Function {
     
	int a;
	int b;
	
	//没有参数,有返回值
	public int getSum() {
     
		return this.a + this.b;
	}
	//带参数且有返回值的方法
		public int sum(int a,int b) {
     
			return a+b;
		}
	//没有返回值的发方法,返回值类型为void
	public void say() {
     
		System.out.println("i miss you");
	}
	//带参数但没有返回值的方法.同名方法,但是参数列表不一样,叫做方法重载
	public void say(String name) {
     
		System.out.println(name+"i miss you");
	}
	//带有多个参数但没有返回值类型
	public void say(String a,String b) {
     
		System.out.println(a+"miss"+b);
	}
	
}



package day04;
public class FunctionDemo {
     
	public static void main(String[] args) {
     
		Function a = new Function();
		a.a = 50;
		a.b = 30;
		//调用无参,有返回值方法
		System.out.println(a.getSum());
		//调用有参,有返回值发方法
		int aa = a.sum(5,9);
		System.out.println(aa);
		//调用无参,无返回值方法
		a.say();
		//调用有参、无返回值方法
		a.say("xx ");
		//调用多个参数但没有返回值方法
		a.say("xx "," yy");
	}
}

总结:
方法:用来封装一段逻辑
方法格式:public 返回值类型 方法名(){//逻辑}
同名方法,但是参数列表不一样,叫做方法重载。
在类中定义方法,在main中用对象调用方法。

通过调用静态方法来排序并打印

package day04;

import java.util.ArrayList;

public class Arraylist {
     
	//对list进行排序
	public static void sort(ArrayList<Integer> list) {
     
		for(int i = 0;i < list.size()-1;i++) {
     
			for(int j = 0;i < list.size()-1-j;j++) {
     
				if(list.get(j) > list.get(j+1)) {
     
				int temp = list.get(j);
				list.set(j, list.get(j+1));
				list.set(j+1, temp);				
				}
			}
		}
	}
	//打印list
	public static void print(ArrayList<Integer> aa){
     
		for(int i =0;i<aa.size();i++) {
     
			System.out.println(aa.get(i));
		}
	}
}



package day04;
import java.util.ArrayList;

pblic class ArraylistTest {
     
	public static void main(String[] args) {
     
		
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(8);
		list.add(58);
		list.add(45);
		list.add(35);
		list.add(78);
		list.add(84);
		//调用排序
		Arraylist.sort(list);
		//调用打印
		Arraylist.print(list);
	}
}

总结:
普通类需要生成一个类对象才能调用函数:Arraylist bb = new Arraylist(); bb.sort(list); bb.print(list);
和具体得对象没有任何关系可以用静态方法来定义。静态方法,就可以直接用类名调用,称为类得方法。

工具方法的定义和使用

package day04;

import java.util.ArrayList;

public class ListUtils {
     
	// 类方法:对list排序
	public static void sort(ArrayList<Integer> list) {
     
		for (int i = 0; i < list.size() - 1; i++) {
     
			for (int j = 0; i < list.size() - 1 - j; j++) {
     
				if (list.get(j) > list.get(j + 1)) {
     
					int temp = list.get(j);
					list.set(j, list.get(j + 1));
					list.set(j + 1, temp);
				}
			}
		}
	}

	// 类方法:求最大值
	public static int getMax(ArrayList<Integer> list) {
     
		int temp = list.get(0);
		for (int i = 0; i < list.size(); i++) {
     
			if (list.get(i) > temp) {
     
				temp = list.get(i);
			}
		}
		return temp;
	}
	
	// 类方法:求最小值
	public static int getMin(ArrayList<Integer> list) {
     
		int temp = list.get(0);
		for (int i = 0; i < list.size(); i++) {
     
			if (list.get(i) < temp) {
     
				temp = list.get(i);
			}
		}
		return temp;
	}
	
	//类方法:求平均值
	public static float getAvg(ArrayList<Integer> list) {
     
		float temp = 0;
		for(int i = 0;i < list.size();i++) {
     
			temp +=list.get(i);
		}
		temp = temp/list.size();
		return temp;
	}
}




package day04;

import java.util.ArrayList;

public class ListUtilsTest {
     
	public static void main(String[] args) {
     
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(85);
		list.add(87);
		list.add(65);
		list.add(95);
		list.add(47);
		list.add(54);
		list.add(58);
		//调用类发方法排序
		ListUtils.sort(list);
		System.out.println(list);
		//调用类方法求最大值
		int a = ListUtils.getMax(list);
		System.out.println("最大值:"+a);
		//调用类方法求最小值
		int b = ListUtils.getMin(list);
		System.out.println("最小值:"+b);
		//调用类方法求平均值
		float c = ListUtils.getAvg(list);
		System.out.println("平均值:"+c);
		
	}
}

总结:
将不涉及到对象调用,只是对数据进行处理,可以定义为工具类;
工具类中不封装数据属性;
使用类方法的类名来调用其封装的静态方法;

你可能感兴趣的:(javaSE,java)