JAVA学习记录day06

##不知道是不是昨天晚上空调吹得,今天感觉是感冒了!算了,继续码字.

##方法的重载
1-- 是指在一个类里的现象,存在多个同名的方法.但是,参数列表不同(可以个数相同但类型不同,也可以是参数个数不同)
2–为了体现程序的灵活性,对外提供多个同名方法,方便外界使用.

	//测试	
	public class Test2_Overload2 {
		public static void main(String[] args) {
			//数字求和
			add(5,10);//匹配add(int a,int b)
			add(1.1,2.2);
		}
		//add(1,2)
		public static void add(int a,int b) {
			System.out.println(a+b);
		}
		//add(1.1,2.2)
		public static void add(double a,double b) {
			System.out.println(a+b);
		}
		//add("jack",1,2)
		public static void add(String a,int b,int c) {
			System.out.println(a+b+c);
		}
		//add(1,2,"jack")
		public static void add(int a,int b,String c) {
			System.out.println(a+b+c);
		}
	}

##数组
1—概念:作用就是用来存储多个数据的容器.类似于水杯.英文名称叫Array.标志是[ ],专门用来存多个,相同类型的数据.
2–特点:
—数据都有下标.
—下标是从0开始的,下标的最大值是数组的长度-1.
—想要获取数组里的数据,存的是啥? --a[0] a[1] a[2].
—数组一旦创建,长度不能改变.

数组内存结构图
3–创建数组-- 数组类型[] 数组名 = new 数组类型[数组的长度] ;
–动态初始化
– int[] a = new int[5];
–静态初始化
– int[] b = new int[]{1,2,3,4,5};
– int[] c = {1,2,3,4,5};

数组中存入hello

	//测试 数组
	public class Test3_Array {
		public static void main(String[] args) {
			//1,创建数组
			//静态--char类型的默认值\u0000
			char[] a = new char[] {'h','e','l','l','o'} ;
			char[] b = {'h','e','l','l','o','e','l','l','o','e','				','o','e','l','l','o'} ;
			System.out.println(a.length);//获取数组长度
			System.out.println(b.length);//获取数组长度
			//动态
			char[] c = new char[5];//都是默认值\u0000
			c[0] = 'h' ;//把0下标对应的元素修改为'h'
			c[1] = 'e' ;//把1下标对应的元素修改为'e'
			//c[2] = 'l' ;//2下标没改,就是默认值本身
			c[3] = 'l' ;//把3下标对应的元素修改为'l'
			c[4] = 'o' ;//把4下标对应的元素修改为'o'
			
			//TODO  数组里有下标为5的元素吗????? 没有超过下标输出报错
			
			System.out.println(a);
			System.out.println(b);
			System.out.println(c);
		}
	}

数组的遍历/循环 --下标
for(开始位置;判断条件;更改条件){循环体}
for(从下标为0开始 ; 下标的最大值是<=数组的长度-1;下标++ ){循环体}
测试
package cn.tedu.array;

	import java.util.Random;

	//  测试  数组的练习
	public class Test4_Array2 {
		public static void main(String[] args) {
			//------练习1:输出每个月的天数
				// 1,创建数组 -- 动态 / 静态
				int[] a = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
				// 2,遍历数组 -- 用下标
				// int i = 0 是指从下标为0的位置开始--i代表下标
				//i < a.length 是指下标的最大值可以取到长度-1
				//i++  是指下标的变化规律是依次递增
				//for(int i = 0 ; i < a.length ; i++) {
				for (int i = 0; i <= a.length - 1; i++) {
					//System.out.println( a[i] );//打印
					System.out.println( i+1+"月有"+a[i]+"天" );//打印
				}
			//---------练习2:遍历数组,存入1到10
				//创建数组--动态
				int[] b = new int[10];
				//遍历数组,并存入1-10
				for (int i = 0; i < b.length; i++) {
					b[i] = i+1 ;
				}
				//打印数组
				for (int i = 0; i < b.length; i++) {
					System.out.println( b[i] );
				}
			//---------练习3:创建随机数组
				//创建数组--动态
				int[] c = new int[10];
				//遍历数组,并存入随机数
				for (int i = 0; i < c.length; i++) {
					c[i] = new Random().nextInt(100) ; 
				}
				//打印数组
				for (int i = 0; i < c.length; i++) {
					System.out.println(c[i]);
				}
		}
	}

数组工具类Arrays
–1,Arrays.toString(数组)–把数组里的数据,拼接成字符串展示
–2,Arrays.sort(数组)–把数组里的数据进行排序,默认是从小到大
–3,Arrays.copyOf(数组,新的长度)–把原数组进行复制
–4,测试

	import java.util.Arrays;

	//测试 数组工具类Arrays
	public class Test5_Arrays {
		public static void main(String[] args) {
			int[] a = new int[] {1,2,3,4,5} ;
			method(a);//toString()---用来把数组里的数据变成字符串展示
			sortArr();//sort()--可以对无序数组进行排序
			copyOfArr();//copyOf()---复制数组
		}
		//copyOf()---复制数组
		public static void copyOfArr() {
			//准备原数组
			double[] a = {1.1,2.2,3.3,4.4,5.5,6.6};
			
			//开始复制--copyOf(m,n)--m是原数组名称--n是新数组的长度
			//当 新数组的长度 > 原数组长度时,会扩充新的位置--相当于扩容
			double[] b = Arrays.copyOf(a, 10);
			//[1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 0.0, 0.0, 0.0, 0.0]
			System.out.println( Arrays.toString(b) );
			
			//当 新数组的长度 < 原数组长度时,会截取前面的一部分数据--相当于缩容
			double[] c = Arrays.copyOf(a, 4);
			//[1.1, 2.2, 3.3, 4.4]
			System.out.println( Arrays.toString(c) );
		}
		//sort()--可以对无序数组进行排序
		public static void sortArr() {
			//创建乱序数组
			int[] a = {9,12,3,7,10};	
			//排序
			Arrays.sort(a);
			//打印数组
			System.out.println(a);//数组在内存中的地址值--[I@15db9742
			System.out.println(  Arrays.toString(a) );//[3, 7, 9, 10, 12]
		}
		//toString()---用来把数组里的数据变成字符串展示
		public static void method(int[] arr) {
			//打印数组里的数据
	//		for (int i = 0; i < arr.length; i++) {
	//			System.out.println(arr[i]);
	//		}
			
	//		String arrs = Arrays.toString(arr);
	//		System.out.println(arrs);//[1, 2, 3, 4, 5]
			
			//1,toString()---用来把数组里的数据变成字符串展示
			System.out.println( Arrays.toString(arr) );//[1, 2, 3, 4, 5]
			
		}
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值