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);
		
	}
}

总结:

  • 将不涉及到对象调用,只是对数据进行处理,可以定义为工具类;
    工具类中不封装数据属性;
  • 使用类方法的类名来调用其封装的静态方法;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值