IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 二刷java基础第三天 -> 正文阅读

[Java知识库]二刷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知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:35:34  更:2021-07-23 10:36:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/18 18:17:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码