目录:
1.数组的静态初始化 目标:记住两种不同数组初始化形式
2.数组元素的访问
3 程序:定义一个数组,判断有几个是3的倍数
4 程序:定义一个数组,遍历元素,如果是奇数则扩大两倍,反则缩小到原来的二分之一
5 数组的动态初始化
6 数组求最值
7 生成10个1-100之间的随机数存入数组 求和 求比平均值小的数并表示出来
8 依次用键盘输入10个数 并录入数组中
9 定义一个数组将顺序颠倒
10 复习回顾
拓展小知识:将println的ln去掉 就可将所有元素都放在一行 避免一个元素占一行
1 数组的静态初始化 目标:记住两种不同数组初始化形式
package com.itheima.demo1.arraytest;
public class test1 {
public static void main(String[] args){
//数组的静态初始化 目标:记住两种不同数组初始化形式
//标准版和简约版
//int类型的数组
int[] arr1 =new int[]{5,6,7};
int[] array= {1,2,3};
//String类型的数组
String[] arr2 = new String[]{"wangweu","zhangsan","lisi"};
String[] arr3 = {"wangweu","zhangsan","lisi"};
//Double类型的数组
Double[] arr4 = new Double[]{10.9,6.6,7.9};
Double[] arr5 = {10.9,6.6,7.9};
System.out.println(array);
}
}
注意:如果直接用System.out.println(array);输出,输出的是数组的地址值
2 数组元素的访问
- 索引从0开始
package com.itheima.demo1.arraytest;
public class test2 {
public static void main(String[] args){
int[] arr1 = new int[]{1,2,3};
//int[] arr1 = {1,2,3};
arr1[0]=10;
int number = arr1[0];
System.out.println(number);
遍历数组(用arr1.length来代表数组的长度直接用在for循环的判断条件里)
//遍历数组
for(int i=0;i<arr1.length;i++){
System.out.println(arr1[i]);
}
package com.itheima.demo1.arraytest;
public class test3 {
public static void main(String[] args){
//定义一个数组,判断有几个是3的倍数
int[] arr1={1,3,4,6,7,9};
int count=0;
for(int i=0;i<arr1.length;i++){
if(arr1[i]%3==0){
System.out.println(arr1[i]);
count++;
}
}
System.out.println(count);
}
}
程序:定义一个数组,遍历元素,如果是奇数则扩大两倍,反则缩小到原来的二分之一
package com.itheima.demo1.arraytest;
public class test4 {
public static void main(String[] args) {
//定义一个数组,遍历元素,如果是奇数则扩大两倍,反则缩小到原来的二分之一
double[] arr1 = {1,2,3,4,5,6,7,8,9};
for(int i=0;i<arr1.length;i++){
if(arr1[i]%2==0) {
arr1[i]=arr1[i]*2;
}
else {
arr1[i]=arr1[i]/2;
}
}
//专家建议一个for循环干一件事
for(int i =0;i<arr1.length;i++){
System.out.println(arr1[i]);
}
}
}
package com.itheima.demo1.arraytest;
public class test5 {
public static void main(String[] args) {
//数组动态初始化,定义一个数组,用来存班级中50个学生的姓名,姓名未知
//定义数组的昌都必须用这种方式
// int 动态初始化默认为0
// double默认0.0 char '\u000'
// 布尔 false 引用数据类型:默认初始化 null
int[] arr1 = new int[4];
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
System.out.println(arr1[3]);
}
}
package com.itheima.demo1.arraytest;
public class test6 {
public static void main(String[] args) {
//索引不可以越界
//数组求最值
int[] arr1 = {1,3,5,6,4,9,6,8,3};
int max = arr1[0];
for (int i = 0; i < arr1.length; i++) {
if(max < arr1[i])
max = arr1[i];
}
System.out.println(max);
}
}
生成10个1-100之间的随机数存入数组 求和 求比平均值小的数并表示出来
package com.itheima.demo1.arraytest;
import java.util.Random;
public class test7 {
public static void main(String[] args) {
//生成10个1-100之间的随机数存入数组
//求和 求比平均值小的数并表示出来
int sum = 0;
int avg = 0;
int[] arr1 = new int[10];
Random r = new Random();
for (int i = 0; i < 10; i++) {
int number = r.nextInt(100) + 1;
arr1[i] = number;
sum += number;
}
System.out.println("总和是:" + sum);
avg = sum / 10;
for (int i = 0; i < 10; i++) {
if (arr1[i] < avg)
System.out.println("小于平值的有:" + arr1[i]);
}
}
}
package com.itheima.demo1.arraytest;
import java.util.Scanner;
public class test8 {
public static void main(String[] args) {
//依次用键盘输入10个数录入数组中
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
System.out.println("请开始输入:");
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
for (int i = 0; i < 10; i++) {
System.out.print(arr[i]+" ");
}
}
}
结果为:
请开始输入:
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
Process finished with exit code 0
package com.itheima.demo1.arraytest;
public class test9 {
public static void main(String[] args) {
//定义一个数组将顺序颠倒
int[] arr = {1,2,3,4,5};
int temp=0;
for (int i = 0; i < arr.length/2; i++) {
temp = arr[i];
arr[i]=arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
package com.itheima.demo1.arraytest;
import java.util.Random;
import java.util.Scanner;
public class test11 {
public static void main(String[] args){
//创建输入对象
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
//创建随机数对象
Random r = new Random();
int y = r.nextInt(11)+90; //生成90--100 的随机数
System.out.println(y);
//数组创建 两种方法
int[] arr = new int[] {1,2,3,4,5}; //1
int[] arr1 = {1,2,3,4,5}; //2
//给数组动态初始化 只有这一种方法
int[] arr2 = new int[4];
//用键盘给每个数组元素赋值
for (int i = 0; i < arr.length; i++) {
arr2[i]=sc.nextInt();
}
}
}