一个数组的长度可以是一个变量 变长数组 : 变量可以作为数组的长度
使用数组来记录学生的考试成绩并打印
数组的工具类
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中体现为一种引用数据类型,里面包含了描述特征/属性的成员变量以及描述行为的成员方法。
类是用于构建对象的模板,对象的数据结构由定义它的类来决定;