1.练习一
第一题:需求:求出数组中的元素最大值
步骤:
1.定义一个max,接收两个元素之间的较大值
2.遍历数组,将每一个元素获取出来进行比较
3.判断,如果max小于遍历出来的元素,证明遍历出来的元素大,将大的元素赋值给max
4.直接输出max
public class Demo01GetMax {
public static void main(String[] args) {
int[] arr = {5,3,5,7,4,6,8,9};
//1.定义一个max,接收两个元素之间的较大值
int max = arr[0];
//2.遍历数组,将每一个元素获取出来进行比较
for (int i = 1; i < arr.length; i++) {
//3.判断,如果max小于遍历出来的元素,证明遍历出来的元素大,将大的元素赋值给max
if (max<arr[i]){
max = arr[i];
}
}
//4.直接输出max
System.out.println("max = " + max);
}
}
2.练习二
随机产生10个[0,100]之间整数,统计既是3又是5,但不是7的倍数的个数
步骤:
1.创建一个Random对象,用于搞随机数
2.定义一个数组,长度为10
3.定义一个变量count,用来统计个数
4.遍历数组,判断元素是否符合指定条件,如果符合,count++
5.输出count
public class Demo02Count {
public static void main(String[] args) {
//1.创建一个Random对象,用于搞随机数
Random rd = new Random();
//2.定义一个数组,长度为10
int[] arr = new int[10];
//3.定义一个变量count,用来统计个数
int count = 0;
for (int i = 0; i < arr.length; i++) {
arr[i] = rd.nextInt(101);
}
for (int i = 0; i < arr.length; i++) {
//4.遍历数组,判断元素是否符合指定条件,如果符合,count++
if (arr[i]%3==0 && arr[i]%5==0 && arr[i]%7!=0){
count++;
}
}
//5.输出count
System.out.println("count = " + count);
}
}
3.练习三
用一个数组存储本组学员的姓名,从键盘输入,并遍历显示
public class Demo03Print {
public static void main(String[] args) {
String[] arr = new String[3];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请您输入第"+(i+1)+"个学员姓名:");
arr[i] = sc.next();
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
4.练习四
需求:
1.定义一个数组 int[] arr = {1,2,3,4}
2.遍历数组,输出元素按照[1,2,3,4]
public class Demo04PrintRegex {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4};
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
} else {
System.out.print(arr[i] + ",");
}
}
}
}
5.练习五
需求:随机50个1-100之间的整数,统计偶数个数
public class Demo05Count {
public static void main(String[] args) {
//定义长度为50的数组
int[] arr = new int[50];
//创建Random对象
Random rd = new Random();
//存数据
for (int i = 0; i < arr.length; i++) {
arr[i] = rd.nextInt(100)+1;
}
//定义一个count,用于统计偶数个数
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]%2==0){
count++;
}
}
System.out.println("count = " + count);
}
}
6.练习六
键盘录入一个整数,找出整数在数组中存储的索引位置
步骤:
1.创建Scanner对象
2.定义数组,随便存几个数据
3.遍历数组,在遍历的过程中判断是否和录入的数相等,如果相等,输出索引
public class Demo06Search {
public static void main(String[] args) {
//1.创建Scanner对象
Scanner sc = new Scanner(System.in);
//2.定义数组,随便存几个数据
int[] arr = {11,22,33,44,55,66,22};
int data = sc.nextInt();
//3.遍历数组,在遍历的过程中判断是否和录入的数相等,如果相等,输出索引
for (int i = 0; i < arr.length; i++) {
if (data==arr[i]){
System.out.println(i);
}
}
}
}
7.练习七_数组扩容
数组扩容
需求:
定义一个数组:int[] arr1 = {1,2,3,4,5}
将数组由原来的长度扩容到10
public class Demo04Array {
public static void main(String[] args) {
int[] oldArr = {1,2,3,4,5};
//创建新数组
int[] newArr = new int[10];
//将老数组中的元素复制到新数组中
for (int i = 0; i < oldArr.length; i++) {
newArr[i] = oldArr[i];
}
//将新数组中的地址值给老数组
oldArr = newArr;
//遍历oldArr
System.out.println(oldArr.length);
System.out.println("==================");
for (int i = 0; i < oldArr.length; i++) {
System.out.println(oldArr[i]);
}
}
}
8.练习八_数组合并
数组合并
int[] arr1 = {1,2,3}
int[] arr2 = {4,5,6}
public class Demo05Array {
public static void main(String[] args) {
int[] arr1 = {1,2,3};
int[] arr2 = {4,5,6};
//创建新数组
int[] newArr = new int[arr1.length+arr2.length];
for (int i = 0; i < arr1.length; i++) {
newArr[i] = arr1[i];
}
/*
由于已经保存了arr1的三个元素
所以我们保存arr2的元素时,就不能从索引0开始了,不然从arr1中保存的元素会被arr2的元素覆盖
arr2的元素需要从newArr的索引3开始保存
*/
//先获取arr1的长度为3
int len = arr1.length;
for (int i = 0; i < arr2.length; i++) {
/*
newArr[3+0] = arr2[0] ;i++
newArr[3+1] = arr2[1] ;i++
newArr[3+2] = arr2[2]
*/
newArr[len+i] = arr2[i];
}
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i]+" ");
}
}
}