重庆—java互联网架构软件工程师学习记录—Day06

java互联网架构软件工程师——第一阶段

Day06–数组+数组的遍历+数组工具类Arrays


前言

1.学习数组
2.学习数组的遍历
3.学习数组的工具栏Arrays


提示:以下是本篇文章正文内容,下面案例可供参考

一、数组

1.1概述

可以存放 多个 相同类型的 数据
英文Array,标志是[]
数组中的元素都有下标(从0开始)
在这里插入图片描述

1.2 创建数组

一般分为 动态初始化 和 静态初始化

语法 : 数组类型[] 数组名 = new 数组类型[数组的长度];

动态初始化
int[] a = new int [10]; // a 是引用类型的变量
静态初始化
两种方式:
int[] b = new int []{1,2,3,4,5,}; 
int[] b = {1,2,3,4,5,};

在这里插入图片描述

1.3 入门案例

代码如下(示例):

// 测试 数组


public class Test01 {
	public static void main(String[] args) {
		
		//1.在内存中,开辟存储空间,容量自定义
		//2.完成数据初始化
		      //把默认值改成你想要的值,显示的初始化
		//3.给数组分配 唯一的标志 地址值
		//4.在内存中开辟空间,存放 引用类型的变量a
		//5.把地址值交给引用类型的变量 a 保存
		
		
	  // 练习->  把 hello 存入数组里
		
	  //静态初始化
	  //char [] a =new char[]{'h','e','l','l','o'};
		char [] a ={'h','e','l','l','o'};
		System.out.println(a);//hello 
		
	  // 动态初始化
		char[] i = new char [5];
		i[0] = 'h';//修改i数组中,0下标对应的数据
		i[1] = 'e';//修改i数组中,1下标对应的数据
		i[2] = 'l';//修改i数组中,2下标对应的数据
		i[3] = 'l';//修改i数组中,3下标对应的数据
		i[4] = 'o';//修改i数组中,4下标对应的数据
		System.out.println(i[0]);
		//获取i数组中,0下标对应的数据
		System.out.println(i);//hello


		System.out.println(i.length);//获取数组的长度
        
       // length属性获取数组长度
       // 数组一旦创建,长度不可变
       // 允许0长度的数组

        
		
		//访问了不存在的下标,就会报错:数组下标越界 -->使用数组常见错误
		
	    //System.out.println(i[5]);
	    
		//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 
		//at day01.Test01.main(Test01.java:33
	   
		
		
	}

}

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、数组的遍历/循环

2.1目的

就是根据下标,获取数组里的每个数据

2.2语法

 for(开始位置;循环条件;更改条件){
          循环体
        }
    for(从下标为0位置开始;下标最大值<=数组的长度-1;下标 ++){
          循环体
        }

2.3入门案例

代码如下(示例):

//测试 数组的遍历

public class Test02 {
	public static void main(String[] args) {
	
		method();//调用指定方法
		method1();//打印每个月的天数
		method2();//存入1到10
		
		int[] x=method3();//存入随机数
		method4(x);//打印随机数里的奇数
	}
	
        //打印a数组里奇数
	public static void method4(int[] e){
		//打印a数组里奇数
		for(int y=0;y<=e.length-1;y++){
			if(e[y]%2==1){
				System.out.println("输出"+e[y]);
			}
		}
	}
	    
	//创建方法  
    //存入随机数
	public static int[] method3(){
		System.out.println("\t");
    	System.out.println("数组中存入100以内随机数");
    	//定义动态数组
    	int[] e= new int [10];
    	for(int f = 0;f<=e.length-1;f++){
    		//把默认值改成随机数
    		e[f] = new Random().nextInt(100);
    		System.out.print(e[f]+"\t");
    	}
    	for(int f = 0;f<=e.length-1;f++){
    		//打印
    		System.out.print(e[f]+"\t");
    	}
    	return e; //把a的值返回给外界使用
	}
	    
	
	
	
	
	    //创建方法  
	    //存入1到10
	    public static void method2(){
	    	System.out.println("\t");
	    	System.out.println("数组中存入1到10");
	    	int[] c =new int [10]; 
	    	for(int d = 0; d<=c.length-1;d++){
	    		d=d++;
	    		System.out.println(d+1);
	    	}
	    	
	    }
	
	
	
	    //创建方法 
	    //输出每个月的天数
	    public static void method1() {
	    	System.out.println("\t");
	    	System.out.println("打印每个月的天数");
	    	int [] a = {31,29,31,30,31,30,31,31,30,31,30,31};
	    	for(int b =0;b<=a.length-1;b++){
	    		System.out.println("第"+(b+1)+"月有"+a[b]+"天");
	    	}
		
		
	}
	    	    
		//创建方法
	    public static void method(){
	    	// 1. 静态创建数组
	    	String [] i = {"Giao哥","马保国","药水哥","年轻人"};
	    	
	    	//2.遍历数组
	    	for(int m =0;m<=i.length-1;m++){
	    		//打印a数组中i下标对应的元素
	    		System.out.println(i[m]);
	    	}	
	    	
	    }
	
	    
	    
	
}

三、数组的工具类—Arrays

3.1 概述

专门为数组,提供了各种常见的方法

3.2 常用方法

(1)toString()–> 把数组里的数据变成字符串

      toString(int[] a)

(2)sort() --> 把无序进行排序

      sort(int[] a)	

(3) copyOf()–>复制

copyOf(int[] original, int newLength)	

3.1 入门案例

代码如下(示例):

// 测试  数组工具类Arrays
public class Test03 {
	public static void main(String[] args) {
		method();//toString ()
		method1();//sort()
		method2();//copyOf()
	}
	
	//copyOf()-->复制
	//copyOf(int[] original, int newLength)
	public static void method2() {
		//1.准备源数组
		String [] a = {"年轻人","不讲武德"};
		//2.调用方法完成复制
		//copyOf(1,2) --> 1是源数组名 , 2是新数组长度
		String  [] b=Arrays.copyOf(a , 4 );
		// 新数组的容量大于旧数组的容量,空出来的位置会用默认值代替
		// 新数组的容量小于旧数组的容量,只复制一部分数值过来
		//[年轻人, 不讲武德, null, null] -->  扩容--新数组容量 > 旧数组的长度
		//[年轻人] -->  缩容  -- 新数组容量 < 旧数组容量       
		//打印
		System.out.println(Arrays.toString(b));
	}



	// sort() --> 把无序进行排序
    public static void method1() {
    	//定义数组
    	int[] a  = {44,85,65,12,64};
    	//使用工具类进行排序
    	Arrays.sort(a);
    	//打印
    	System.out.println(Arrays.toString(a));
			
	}

    
	//创建 toString()--> 把数组里的数据变成字符串
	 public static void method(){
		 int[] a  = {1,2,3,4,5,6};
		 //遍历数组并打印		 
/**		 for(int b = 0;b<=a.length-1;b++){
			 System.out.println(a[b]);
		 }
		 */		 
//TOOD 优化 ---使用工具类的方法,展示a数组里的数据
		System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 5, 6]
		 
	 }
	
	

}

该处使用的url网络请求的数据。

四、扩展

4.1 实参和形参的区别

实参是调用方法时,具体要设置的值
形参是创建方法时,规定的参数的类型

	public static void add2(String x)//参数x是形参
	
	add2("tony");//参数tony是实参

4.1 数组练习

--统计数组中偶数的个数
--统计数组中奇数的和
--获取数组里的最大值最小值

总结

以上就是今天所讲的内容,自己多加练习就好了,一定要结合案例一起看,不然很难理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值