复习
循环结构
for循环、while循环、dowhile循环 嵌套循环
控制跳转语句
break 结束语句 continue 跳过当次循环 return
数组
存储多个相同类型的元素的容器
定义格式
1.给定数组长度 2.给定数据元素值,确定数组长度 3.给定数据元素值,确定数组长度
java内存分区
栈:(存储变量)(暂时),栈中存储的数据使用完毕立刻销毁 堆:存储对象,存储的对象如果不再使用会在某个时刻通过系统进行回收 方法区:(面向对象讲) 本地方法栈(不讲) 寄存器(PC计数器)(不讲)
系统默认初始值
(byte、short、int---0)、(char---\u0000\u代表编码使用的码表utf-16)、(long---0L)、(float---0.0F)、(double---0.0)、(boolean---false)、(所有引用类型数据---null)
数组的应用
遍历--依次输出数组元素值 数组名[下标]--确定任意数组元素
package com.zjr.tedu.day06.Array; import java.util.Arrays; public class ArrayBianLiDemo { public static void main(String[] args){ //给定数组 int [] arr = { 1 , 7 , 9 , 3 , 6 , 2 }; //通过for循环遍历数组元素 //数组长苏---数组名.length for (int i = 0 ; i < arr.length ; i++){ System.out.print(arr[i] + " "); } System.out.println(); System.out.println("-------------------------"); //增强for循环 //(元素类型 变量名:遍历的数组的名称) //把数组元素的值拷贝到变量身上 for (int i:arr){ System.out.print(i + " "); } System.out.println(); System.out.println("-------------------------"); for (int i = 0 ; i < arr.length ; i ++ ){ arr[i] += 2 ; System.out.print(arr[i] + " "); } System.out.println(); System.out.println("-------------------------"); System.out.println(Arrays.toString(arr)); } }
最值--求出数组元素中的最大值/最小值
package com.zjr.tedu.day06.Array; /* 最大值 */ public class ArrayMaxDemo { public static void main(String[] args){ int [] arr = { 3 , 5 , 7 , 9 , 2 , 1}; //提供参照物--默认选第一个元素 int max = arr[0] ; //for循环--依次比较 for (int i = 1; i < arr.length ; i++){ //和所有元素进行比较 if ( max < arr[i]){ //把较大的值赋值给max max = arr[i]; } } System.out.println("该数组的最大值为:" + max); } }
查找--指定一个数,根据这个数返回第一次出现的数组元素的下标 二分查找缺点:有序、查找数靠前
package com.zjr.tedu.day06.Array; /* 查找 */ public class ArraySearchDemo { public static void main(String[] args){ //给定数组 int [] arr = { 4 , 2 , 7 , 1 , 8 , 9 }; //给定查找数 int num = 1 ; //通过普通for循环依次遍历数组元素进行查找 for (int i = 0; i < arr.length ; i++){ //判断比较 if (num == arr[i]){ System.out.println("该元素的下标为:" + i); break; } } System.out.println("-----------------------------"); int count = 0 ; for (int i : arr){ if (i == num){ System.out.println("该元素的下标为:" + count); } count += 1 ; } //定义三个下标用变量表示 int min = 0 ; num = arr[1]; int max = arr.length - 1 ; int medium = ( min + max ) / 2 ; while (num != arr[medium]){ if (num < arr[medium]){ max = medium; }else{ min = medium ; } System.out.println(medium); } } }
排序--
扩容--