for(int i=1;i< arr.length;i ++){
if(maxVal < arr[i]){
maxVal = arr[i];
}
}
System.out.println("最大值" + maxVal);
//求最小值
int minVal=arr[0];
for(int i=1;i< arr.length;i ++){
if(minVal > arr[i]){
minVal = arr[i];
}
}
System.out.println("最小值" + minVal);
//求和
int sum = 0;
for(int i=0;i < arr.length;i ++){
sum += arr[i];
}
System.out.println("和=" + sum);
//求平均值
int mean=sum / arr.length;
System.out.println("平均值=" + mean);
}
}
//查看所有随机数34 查看所有随机数46 查看所有随机数85 查看所有随机数71 查看所有随机数33 查看所有随机数30 查看所有随机数65 查看所有随机数79 查看所有随机数17 查看所有随机数25
//最大值85
//最小值17
//和=485
//平均值=48
[]( )数组复制
=======================================================================
1. 数组赋值不能直接将arr1赋值给arr2,这样只是将arr1的堆区域地址赋给了他,当我们对arr2进行改变时,arr1也会改变
错误示例:
public class copyArryTest7 {
public static void main(String[] args) {
int[] arr1=new int[]{1,6,3,78};
int[] arr2=arr1;
for (int i=0;i< arr2.length;i ++){
if(i %2 == 0){
arr2[i]=i;
}
}
for (int i=0;i < arr1.length; i++){
System.out.print("arr1值:");
System.out.print( arr1[i] +"\t");
}
}
}
//arr1值:0 arr1值:6 arr1值:2 arr1值:78
2. 正确做法是new出来一个新的,并遍历重新赋值
public class copyArryTest7 {
public static void main(String[] args) {
int[] arr1=new int[]{1,6,3,78};
int[] arr2=new int[arr1.length];
for (int i=0;i< arr1.length;i ++){
arr2[i]=arr1[i];
}
}
}
[]( )数组反转
=======================================================================
1. 这里反转执行长度为arr1.length / 2,也就是只是一半的交换,如果是arr1.length那么又会换回来
2. 需要定义一个中间变量暂时进行缓存
public static void main(String[] args) {
String[] arr1=new String[]{"aa","bb","cc","dd"};
for(int i=0; i < arr1.length / 2;i ++){
String temp=arr1[i];//中间变量temp缓存
arr1[i]=arr1[arr1.length - i - 1];
arr1[arr1.length - i -1]=temp;
}
for(int i=0;i < arr1.length;i ++){
System.out.println(arr1[i]);
}
}
}
//dd cc bb aa
[]( )查找(普通查找和二分法查找)
=================================================================================
1. 普通查找只需遍历所有数组,判断是否相等
2. 二分法查找有个前提条件,必须是有序列表,每次取中间值进行比较,然后缩减范围
public class findArryTest9 {
public static void main(String[] args) {
int[] arr=new int[]{-6,3,6,9,13};
//普通查找
boolean isFind1=true;
int num=13;
for(int i=0;i < arr.length;i ++){
if(num == arr[i]){
System.out.println("找到了,位置在" + i);
isFind1=false;
break;
}
}
if(isFind1){
System.out.println("没找到");
}
//二分法查找
int num2=13;
int start=0;
int end= arr.length;
boolean isFind2=true;
while(start <= end){
int middle=(start +end) /2;
if(num2 == arr[middle]){
System.out.println("找到了,位置在" + middle);
isFind2=false;
break;
}else if(num2 > arr[middle]){
start =middle;
}else if(num2 < arr[middle]){
end=middle;
}
}
if(isFind2){
System.out.println("没找到");
}
}
}
[]( )冒泡排序
=======================================================================
1. 两两之间相互比较,大的向后移
2. 一共执行arr.length-1轮排序
public class sortTest10 {
public static void main(String[] args) {
int[] arr=new int[]{0,4,89,23,-5};
for(int i=0;i < arr.length;i ++){
for(int j=0;j < arr.length - 1 - i;j ++){
if(arr[j] > arr[j + 1]){
int temp=arr[j];
arr[j]=arr[j + 1];
arr[j + 1]=temp;
}
}
}
for (int i = 0;i < arr.length;i ++){
System.out.print(arr[i] + "\t");
}
}
}
//-5 0 4 23 89
[]( )回形数
======================================================================
1. 首先定义最小,最大X轴值,最小,最大y轴值,以及初始值
2. 首先X1每次值增长到Y轴最大值,然后从这里继续向下增长到X轴最大值,顺着X轴增长到Y轴最小值,然后回到Xmin+1轴位置
public class arrTest5 {
public static void main(String[] args) {
int num=7;
int[][] arr=new int[7][7];
int count=0;//用于显示的起始数据
int maxX=num - 1;//X轴最大下标
int maxY=num - 1;//Y轴最大下标
int minX=0;//X轴最小下标
int minY=0;//Y轴最小下标
while(minX <= maxX){
//X1轴增长到7
for(int x=minX;x<= maxX;x++){
arr[minY][x]=++ count;
}
//就表示X1轴不存在了,下次从X2轴走起
minY++;
//Y7轴增长到13
for(int y=minY;y<=maxY;y++){
arr[y][maxX]=++ count;
}
//Y7轴也就不存在了
maxX--;
//X7轴从右向左增长到19
for(int x=maxX;x >=minX; x--){
arr[maxY][x]=++ count;
}
//X7轴也就不存在了
maxY--;
//Y1轴从下面增长到x2轴到24
for(int y=maxY;y>= minY;y--){
arr[y][minX]=++ count;
}
//Y1轴也就不存在了
minX++;
}
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr.length;j++){
System.out.print(arr[i][j] + " ");
}
System.out.println(" \t");
}
}
}
//1 2 3 4 5 6 7
//24 25 26 27 28 29 8
//23 40 41 42 43 30 9
//22 39 48 49 44 31 10
//21 38 47 46 45 32 11
//20 37 36 35 34 33 12
//19 18 17 16 15 14 13
[]( )杨辉三角
=======================================================================
1. 双层for循环
2. 这是杨辉三角公式 yanghui\[i\]\[j\]=yanghui\[i-1\]\[j-1\] + yanghui\[i-1\]\[j\]
public class arryTest5 {
public static void main(String[] args) {
int[][] yanghui=new int[10][];
//给每行定义有多少个数字
for (int i=0;i<yanghui.length;i++){
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
自己不成体系的自学效果低效漫长且无助。**
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-uWwVUyhB-1715532947844)]
[外链图片转存中…(img-avLlsSlN-1715532947845)]
[外链图片转存中…(img-L8MIXv9Q-1715532947845)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!