- 1.数组赋值机制
- 2.数组扩容
- 3.冒泡排序
- 4.二维数组
- 5.二维数组内存原理图
- 6.数组练习题
- 7.random( ) 产生[0.0 , 1.0) 的随机数
- 8.引出类与对象
- 9.对象
- 10.类中的属性
- 11.类中的行为(方法)
数组在默认情况下,是引用传递,赋的是地址值,(数据空间贡献)
为静态数组赋值,新创建一个容量更大的数组来存值,最后再将原来数组指向新数组
3.冒泡排序若有n个数据,总共比较 n - 1 轮【外循环】。且在第 i 轮比较中,需要比较 n - i 次。【内循环】
package demo.bubblesort;
import java.util.Iterator;
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {82,65,54,46,32,21,10,6};
//外层比较轮数 第arr.length-1轮
for(int j = 0;j < arr.length-1 ; j++) {
//内层循环每轮比较次数 该轮比较arr.length-1-j次
for(int i = 0;i < arr.length-1-j;i++) {
//如果前面的数字大于后面的数字
if(arr[i] > arr[i + 1]) {
int temp = arr[i+1];
arr[i+1] = arr[i];
arr[i] = temp;
}
}
}
for(int j = 0;j < arr.length ; j++) {
System.out.print(arr[j] + "t");
}
}
}
4.二维数组
(1)先声明,在创建空间
int [ ][ ] a ;
a = new int [3][4];
(2)列数不确定的情况,先声明一维数组个数,再更具情况具体为每个一维数组创建空间。
int [ ][ ] a = new int [3][ ];
(3)三种声明
int[ ][ ] y ;
int [ ] y [ ] ;
int y [ ][ ] ;
(4)二维数组中的一维数组长度可以相同也可以不相同
产生整数 1~100
(int)(Math.random() * 100 + 1)8.引出类与对象
(1)问题:用单独的变量不利于数据的管理;用数组,数据类型体现不出来,只能通过下标对信息进行管理
(2)目的:为了使数据获得更好的管理,提高效率
(3)方法:引入类与对象
类就是数据类型,对象就是一个具体的实例
(1)Java中对象的存在形式
注意:字符串放在常量池
(2)类创建对象时内存分配机制
(3)Java创建对象的流程分析
对象机制的练习:
类就是数据类型,对象就是一个具体的实例
类 = 属性 + 行为
(1)属性,又名:成员变量,field字段
(2)可以是基本数据类型,也可以是引用数据类型
(3)细节:
- 访问修饰符:public,protected,private(默认) 控制属性访问范围
- 属性不赋值,有默认值
类 = 属性 + 行为
(1)方法调用机制
- 栈内创建main栈
- main栈内执行Persion P1 = new Persion();堆中创建对象
- 执行对象的方法,在栈中开辟一个方法的独立空间栈
- 方法执行完之后将结果返回,并销毁方法栈
- 继续执行main栈内的其他代码
(2)细节
- 访问修饰符:public,protected,private(默认) 控制方法访问范围
- 方法可以通过返回数组来返回多个值
- 方法名用小驼峰
- 方法内不能嵌套定义方法
- 同类下的方法可以直接使用
- A类下的方法若要调用B类的方法,需要在A类该方法中创建B类对象,再通过对象使用(此时该情况与B类方法的访问修饰符有关系)
部分图片来自B站韩顺平老师



