进入黑马学习已经快半个月了,每天都能在视频和导师的讲解下把每个模块的内容学习两遍,课后每个同学都有两份左右的课堂笔记(一份是当天视频讲解的笔记,另外一份是结合视频讲解更加重点和包含课外扩展的笔记)去复习当天的内容,可以使自己充分的掌握每天所学习的内容。
经过十几天的学习,目前自身感觉严重不足的部分在于for循环的循环嵌套使用,需要足够充分的逻辑思维能力去思考每一个环节的执行步骤,一但大脑卡壳了,的困在里面好久都出不来,自己总结了几个疑难杂症,分享给刚刚入门的小伙伴吧
//需求:随意定义一个数组 在控制台按照从大到小排列
public class Test03 {
public static void main(String[] args) {
//定义一个临时变量用于存放比较出来的较小值
int tempNumber = 0;
//定义一个数组
int[] arr = {2, 4, 65, 3, 43, 654, 23, 543};
//定义一个新的数组用来保存排序后的数组元素
int[] arr2 = arr;
//先使用for循环嵌套将数组进行遍历并进行元素之间的比较
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
//使用if语句判断元素之间的大小
if (arr[i] < arr[j]) {
//较小的值使用临时变量保存
tempNumber = arr[i];
//将比较之后的数组按照从大到小调换位置
arr[i] = arr[j];
arr[j] = tempNumber;
}
}
}
System.out.print("[");
//再次使用for循环将新的数组进行遍历然后打印在控制台
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " ");
}
System.out.println("]");
}
}
/*
需求:
已知一个数组 arr = {19, 28, 37, 46, 50}; 用程序实现把数组中的元素值交换,
交换后的数组 arr = {50, 46, 37, 28, 19}; 并在控制台输出交换后的数组元素。
思路:
1:定义一个数组,用静态初始化完成数组元素的初始化
2:循环遍历数组,这一次初始化语句定义两个索引变量,判断条件是开始索引小于等于结束索引
3:变量交换
4:遍历数组
*/
public class Test09 {
public static void main(String[] args) {
//定义一个数组,用静态初始化完成数组元素的初始化
int[] arr = {19, 28, 37, 46, 50};
//定义一个变量作为临时空间
int temp= 0;
//分别定义两个索引
//将数组进行遍历
for (int start= 0,end=arr.length-1;start<=end;start++,end--){
temp = arr[start];
arr[start]=arr[end];
arr[end]=temp;
if(arr[start]==arr[end]){
break;
}
}
for (int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
} |
|