@学习记录
开始学习Java
遵从同学的指导,从Java se开始学习
黑马的JavaSE零基础入门
day05-01 数组的创建
package com;
/*
数组:同时存放多个数据值
数组的特点:
1.数组是一种引用数据类型
2.数组当中的多个数据,类型必须统一
3.数组的长度在程序运行期间不可改变
数组的初始化:
两种常见的初始化方式:
1.动态初始化(指定长度)
2.静态初始化(指定内容)
动态初始化数组的格式:
数据类型[] 数组名称 = new 数据类型[数组长度]
静态初始化数组的格式:
数据类型[] 数组名称 = new 数据类型[] {元素1, 元素2, ...};
省略格式:
数据类型[] 数组名称 = {元素1, 元素2, ...};
*/
public class Array {
// 创建一个数组,里面存放300个int数据
int[] arrayA = new int[300];
// 创建一个数组,存放10个double类型的数据
double[] arrayB = new double[10];
// 创建一个数组,存放5个字符串
String[] arrayC = new String[5];
// 创建一个数组,存放int数据,分别是:5,10,15
int[] arrayD = new int[] {5, 10, 15};
// 创建一个字符串数组,用来装“Hello”, "World", "Java"
String[] arrayE = new String[] {"Hello", "World", "Java"};
}
day05-05 访问数组元素
package com;
import org.w3c.dom.ls.LSOutput;
/*
访问数组元素的格式:数组名称[索引值]
【注意】索引值从0开始,一直到“数组长度-1”为止
使用动态初始化数组的时候,元素将会拥有默认值,规则如下:
如果是整数类型,默认为0
如果是浮点类型,默认为0.0
如果是字符类型,默认为‘\u0000’
如果是布尔类型,默认为false
如果是引用类型,默认为null
*/
public class Array {
public static void main(String[] args) {
// 创建一个数组,存放int数据,分别是:5,10,15
int[] arrayD = new int[] {5, 10, 15};
System.out.println(arrayD[2]); // 直接打印数组当中的元素
// 将数组中的某一个元素赋值交给变量
int num = arrayD[1];
System.out.println(num);
int[] arrayF = new int[3];
System.out.println(arrayF[1]); // 0
System.out.println("==================");
// 将123赋值给数组中的1号元素
arrayF[1] = 123;
System.out.println(arrayF[0]); // 0
System.out.println(arrayF[1]); // 123
}
}
day05-13 获取数组长度
package com;
import org.w3c.dom.ls.LSOutput;
/*
如何获取数组的长度,格式:数组名称.length
将会得到一个int数字,代表数组的长度
*/
public class Array {
public static void main(String[] args) {
// 创建一个数组,存放int数据,分别是:5,10,15
int[] arrayD = new int[] {5, 10, 15};
System.out.println(arrayD[2]); // 直接打印数组当中的元素
// 将数组中的某一个元素赋值交给变量
int num = arrayD[1];
System.out.println(num); // 10
// 得到数组的长度
int len = arrayD.length;
System.out.println("数组的长度是" + len);
}
}
day05-14 数组遍历
package com;
import org.w3c.dom.ls.LSOutput;
/*
遍历数组:对数组中的每一个元素进行逐一处理,默认处理方式是打印输出。
*/
public class Array {
public static void main(String[] args) {
// 创建一个数组,存放int数据,分别是:5,10,15
int[] arrayD = new int[] {5, 10, 15};
System.out.println(arrayD[2]); // 直接打印数组当中的元素
// 遍历数组,使用循环,次数就是数组的长度
for (int i = 0; i < arrayD.length; i++) { // arrayD.fori,快捷命令
System.out.println(arrayD[i]);
}
System.out.println("==================");
}
}
day05-15 数组练习
package com;
public class Array {
public static void main(String[] args) {
// 练习:求出数组中的最大值
int[] array1 = new int[] {5, 15, 30, 20, 1000};
int max = 0;
for (int i = 0; i < array1.length - 1; i++) {
if (array1[i] < array1[i+1]) {
max = array1[i+1];
} else {
max = array1[i];
}
}
System.out.println("数组中的最大值是:" + max);
System.out.println("==================");
int[] array2 = new int[] {5, 15, 30, 20, 1000};
int max2 = array2[0];
for (int i = 0; i < array2.length; i++) {
if (array2[i] > max2) {
max2 = array2[i];
}
}
System.out.println("数组中的最大值是:" + max2);
System.out.println("==================");
}
}
day05-15 数组元素反转以及作为方法参数
package com;
/*
数组元素的反转:[1, 2, 3, 4] --> [4, 3, 2, 1],即对称位置的元素交换
为表示对称位置,需要两个索引,借助第三个变量
停止交换:min == max; min > max --> min < max时交换
*/
public class Array {
public static void main(String[] args) {
// 数组元素反转,不能使用新数组
int[] array3 = new int[]{10, 20, 30, 40, 50};
for (int i = 0; i < array3.length; i++) {
System.out.println(array3[i]);
}
System.out.println("==================");
printArray(array3); // 调用方法
for (int min = 0, max3 = array3.length - 1; min < max3; min++, max3--) {
int temp = array3[min];
array3[min] = array3[max3];
array3[max3] = temp;
}
for (int i = 0; i < array3.length; i++) {
System.out.println(array3[i]);
}
System.out.println("==================");
printArray(array3); // 调用方法
// 或者将输出定义为方法
}
public static void printArray(int[] array){ // 将数组作为参数
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("==================");
}
day05-18 数组作为方法返回值
package com;
/*
如果一个方法产生了多个结果数据进行,可使用一个数组作为返回值类型
*/
public class Array {
public static void main(String[] args) {
// 数组作为方法返回值
int[] array4 = cal(10, 20, 30);
System.out.println("总和是:" + array4[0]);
System.out.println("平均数是:" + array4[1]);
}
public static int[] cal(int a, int b, int c){
int sum = a + b + c;
int avg = sum / 3;
/*int[] array = new int[2];
array[0] = sum;
array[1] = avg;*/
int[] array = {sum, avg};
return array;
}
}