二刷java基础第三天

Posted 名字真的很急用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二刷java基础第三天相关的知识,希望对你有一定的参考价值。

数组的概念:
数组可以看成容器,可以存数,数组是一组数据的集合,数组中的每个数据被称为元素。数组可以存放任意类型的数据,但同一数组里存放的元素必须一致,数组可以分为一维数组和多维数组。
数组的优点:能够存多个,查询遍历效率快

数组的定义格式:数组类型 变量名 【】 = {数值};

另一种格式: 数据类型 【】 变量名;

例如:
Int a [] ;
float [] b;
String [] c;
也可以这样写:
int a[];
int b[];
数组的使用:

  • 从内存原理来看,数组是一个特殊的变量
  • 从内存中看,堆区的内存是空闲的,我们可以在堆区去定一个数组的变量,让其存多个数据。
  • 保证cpu的执行由栈区交给堆区(new)
  • 在堆区中,开辟内存的目的是存数据
  • 存数据:开辟内存空间,数据类型
  • 定义数组 = new 数据类型[长度]; //数组的动态初始化

数组的数据操作:
* 取值操作 : 注意:如果是整数,系统会赋默认值0 ,小数 :0.0 String : null
* 直接取值(将值打印到控制台)
* 取值方便
* 无法对数组中的数据进行多次操作
* 变量 = 数组的数值; int a =arr[1];
* 使用比较繁琐
* 可以对数组的数据进行多次操作
* 赋值操作
* 数组名[索引] = 数值;arr[5]=15;前提是明确数组的类型。

数组的特性:
length,表示数组的长度
数组名.length

数组的静态初始化

  • 数据类型[] 变量名= new 数据类型[]{数值1,数值2,…};
  • 数据类型[] 变量名 = {};
  • 静态和动态比
  • 动态,默认值:系统给的。长度自己给的
  • 静态,自己的 ;长度的是系统给的

数组常见的异常:

  • Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException
  • 数组索引越界异常
  • Exception in thread “main” java.lang.NullPointerException
  • 空指针异常

二维数组:
数组中嵌套数组
数据类型 [ ] [ ] 变量名 = new int [3] [4];

例如:

 int [] [] arr = new int [3] [4];

数据的操作:

  • 取数
    * 直接取
    * 赋值取
  • 赋值
  • 变量名[索引第几个数组][索引具体的内容]

演示代码:

 int [] a;
//		 
//		 int b [];//定义数组的二种格式。
		//new int [3];  没有对数组进行初始化,没有进行抢占CPU的执行权,执行权还在栈区的main方法下,
		
		int [] a = new int [3];//在堆区开辟内存空间,使得堆区和栈区关联起来。
		
		System.out.println(new int [3]);//sys可以抢占main方法的CPU执行权。
		
		
		// 数组的取值,直接取值和变量赋值取值
		
		//直接取值
		System.err.println(a[0]);
		System.err.println(a[1]);
		System.err.println(a[2]);
		
		//变量赋值取值
		int con=a[0];
		int b=con+100;
		
		
		//数组的赋值
		a[1] = 100;
		int c= a.length;//数组的长度
		
		// 二维数组
		int[] [] arr1 =new int [3] [4];//表示数组的嵌套 ,表示有三行,每行存四个,
		
		int [] [] arr2= {{1,2},{1,2,3},{1,2,3,4}};
		
		//二维数组的存取,
		
		int [] [] arr= new int [3] [4];
		
		for (int i = 0; i < arr.length; i++) {  
			for (int j = 0; j < arr[i].length; j++) { //外层数组的内层数组的长度。
				System.out.println(arr[i][j]);
			}
		}
		
	}

}

练习
一定要写注释和或者写需求分析
例如:数组中存5个整数,求和,以及求平均数

  • 第一步:创建项目,并进行测试
  • 第二步:需求分析
  • 第三步:定义数组,并在初始化的时候给5个长度
    * 数组的定义格式 : 数据类型[] 变量名 = new 数据类型[长度]
  • 第四步;往数组中存入5个整数
    * 数组的赋值操作
    * 数组名[索引] = 数值;
  • 第五步:在进行求和和平均数操作之前,先把数组中的数据取出来
    * 取值操作
    * 直接取值 :进行测试
    * 赋值取值
  • 第六步:求和操作
    * 求和会产生新的值,就需要变量进行存储
    * 数据类型 变量名 = 数值;
  • 第七步:求平均值,用sum值除以长度
public class test02 {
	
	 public static void main(String[] args) {    //新建项目 需求分析
		 //求数组中的平均值。
		Scanner sc = new Scanner(System.in);    //键盘输出
		int sum = 0;
		                              //定义个变量来铺垫所求的和与平均数
		 int begin =sc.nextInt();           //获取键盘输入值为数组的长度,
		int arr [] = new int [begin];
		for (int i = 0; i < arr.length; i++) {   //把键盘输入的值存入数组中
			arr[i]=sc.nextInt();
								}
		for (int j = 0; j < arr.length; j++) {     //利用循环求数组所有值的和;
			sum+=arr[j];
		}
		System.out.println(sum);          //输出和;
		System.out.printf("%.2f",sum/(arr.length)); // 输出平均数;保留二位小数
}
}

以上是关于二刷java基础第三天的主要内容,如果未能解决你的问题,请参考以下文章

PHP基础面试题 – 第三天

java基础第三天_数组

Java基础第三天_数组

java基础学习第三天

java基础第三天

IT十八掌作业_java基础第三天_数组