第五天 数组的工具类、杨辉三角,以及类与对象的概念

一个数组的长度可以是一个变量                   变长数组   : 变量可以作为数组的长度

 

使用数组来记录学生的考试成绩并打印

数组的工具类

java.util.Arrays  类:可实现数组中元素的遍历、查找、排序

 import java.util.Arrays;

        System.out.println(Arrays.toString(array1));

数组工具类实现元素的填充和查找;

        填充是不仅内容相同,次序也得相同

/*
	编程实现数组工具类的使用
*/
import java.util.Arrays;
public class ArrayTest {
	public static void main(String[] args){
		//1.声明一个初始值为 10、20、30、40、50的一维数组
		int[] array1 = {10,20,30,40,50}; 
		System.out.println(Arrays.toString(array1));
		//2.声明一个长度为5,元素类型为int类型的一维数组
		int[] arr2 = new int[5];
		//使用数组工具欸中的fill方法实现数组中元素的填充并打印
		
		//使用10来填充arr2中的每一个元素
		Arrays.fill(arr2,10);
		System.out.println(Arrays.toString(arr2));
		System.out.println("----------------------------------");
		//声明一个长度为5,元素类型为int类型的一维数组
		int[] arr3 = new int[10];
		System.out.println(Arrays.equals(arr2,arr3));
		System.out.println("----------------------------------");
		//对数组中的元素进行从小到大的排序
		int[] arr4 = {88,66,67,79,91}; 
		Arrays.sort(arr4);
		System.out.println(Arrays.toString(arr4));
		System.out.println("----------------------------------");
		//从数组中查找所在元素的下标
		System.out.println(Arrays.binarySearch(arr4,67));
		//  如果出现不合理的值   不在数组0-(num-1)下标之内,则证明数组中不存在这个元素
		System.out.println("----------------------------------");
	}
}

二维数组的基本概念;

一维数组:一段连续的存储单元

二维数组:本质上就是由多个一维数组摞在一起,二维数组中的每一个元素都是一维数组,一维数组中的每一个元素都是数据内容

 杨辉三角代码段

默写杨辉三角

/*
	编程使用二维数组来实现杨辉三角的生成和遍历
*/
import java.util.Scanner;

public class ArrayTrisngleTest {
	public static void main(String[] args){
		//1.首先提示用户输入一个行数
		System.out.println("请输入一个行数:");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		//2.申请一个二维数组来控制杨辉三角的行数与列数
		//二维数组的行数知道,但是不知道二维数组的列数具体有多少;
		int[][] arr = new int[num][];
		//3.找到二维数组行数和列数的关系, 列数每一列第一列和最后一列的数字都是1;
		//从第三列开始中间的元素数值  等于上一行的数字+上一行前一列的数字
		//循环第一层控制行数,第二层控制列数
		
		for(int i = 0;i < num; i++){
			//针对二维数组的每一行进行内存空间的申请
			arr[i] = new int[i+1] ;  //此处给第i行申请数组长度;如果i=0就是一个,1=1,就是两个
			for(int j = 0;j <= i;j++){
				if(j == 0 || j == i){
					arr[i][j]=1;
				}else{
					arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
				}
			}
		}
		//遍历数组得到整个杨辉三角
		for(int i = 0;i < num;i++){
			for(int j = 0;j<=i;j++){            ///  把j写成i   导致浪费了了大量时间找错误; 低级错误
				System.out.print(arr[i][j]+" ");
			}
			System.out.println();
		}
		
	}
	
}

 注:出现很多问题     : 大多是粗心  要不没写分号,要不i和j的字母打错,导致检查了好长时间

//常见的二维数组的考点

 声明一个具有三行不知道多少列的二维数组

 任务总结:

一维数组

        基本概念、两种声明方式、增删改查操作、优缺点、案例、数组的工具类

二维数组

        基本概念、两种声明方式等、

*面向对象编程(java se 的核心)

        概念:万物皆对象。面向对象是指以属性和行为的观点去分析现实生活中的事物。

        面向对象编程的概念:是指先以面向对象的思想进行分析,然后使用面向的对象的编程语言        进行表达的过程。

        c:面向过程    c++既面向过程又面向对象     java:面向对象

        面向对象编程是软件产业化发展的需求     

        理解面向对象的思想精髓(封装、继承、多态、),至少掌握一种编程语言

类和对象的概念

        对象:主要指现实生活中客观存在的实体,在java中对象体现为内存空间中的一块存储区域。

        :简单来就是分类,是对具有相同特征和行为的多个对象共性的抽象描述,在java中体现为一种引用数据类型,里面包含了描述特征/属性的成员变量以及描述行为的成员方法。

        类是用于构建对象的模板,对象的数据结构由定义它的类来决定;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值