Java数组练习
public class ArrayDemo1 {
public static void main(String[] args) {
double arr []={1.97,1.75,1.73,8.97};
System.out.println(arr);//[D@4eec7777 地址值
//数组的地址值表示数组在内存中的位置
//D 表示当前数组里面的元素是double类型的
//[ 表示当前是一个数组
//@ 表示一个间隔符号
//4eec7777 才是真正的地址值
//数组遍历
//结束条件 数组的长度-1(最大索引)
for (int i=0;i<5;i++){
// i 0 1 2 3 4
System.out.println(arr[i]);
}
}
}
//自动生成数组的遍历方式
//数组名.fori
求和
public class ArrayDemo2 {
public static void main(String[] args) {
//遍历数组并且求数组里面的所有数据和
int arr1[]={1,2,3,4,5};
int sum=0;
//求和变量
for (int i = 0; i < arr1.length; i++) {
sum=sum+arr1[i];
}
System.out.println(sum);
}
}
ArrayDemo4
public class ArrayDemo4 {
public static void main(String[] args) {
//数据类型【】 数组名=new 数据类型【数组的长度】
//在创建的时候,由我们自己指定数组的长度,由虚拟机给出默认的初始化值
String[] arr=new String[50];
arr[0]="zhangsan";
arr[1]="lisi";
System.out.println(arr[0]);//zhangsan
System.out.println(arr[1]);//lisi
System.out.println(arr[2]);//null
}
}
//数组默认初始化的规律
//整数类型 0
//小数类型0.0
//字符类型 ‘/u0000’ 空格
//布尔类型 false
//引用数据类型 null
交换变量
public class ArrayDemo5 {
public static void main(String[] args) {
//交换数组中的数据
int[]arr={1,2,3,4,5};
//利用循环去交换数据
for (int i = 0,j=arr.length-1; i < j; i++,j--) {
//交换变量i和变量j指向的元素
int temp =arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
//遍历数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]+" ");
}
}
}
基本需求
求和
求平均数
比大小
import java.util.Random;
public class ArrayDemo13 {
public static void main(String[] args) {
/*需求 生成10个1-100之间的随机数存入数组
1 求出所有的数据和
2 求所有数据的平均数
3统计有多少个数据比平均值小
*/
int[] arr = new int[10];
//把随机数存入数组当中
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
int number = r.nextInt(100) + 1;
//把生成的随机数添加到数组当中
arr[i] = number;
}
//遍历数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
//求出所有数据的和
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
System.out.println("数据中所有数据的和为:" + sum);
//求所有数的平均数
int avg = sum / arr.length;
System.out.println("数组中平均数为:" + avg);
//统计有多少数据比平均值小
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] < avg) {
count++;
}
}
System.out.println("在数组中,一共有" + count + "个数据,比平均值小");
//遍历数组,验证答案
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
//println 去掉ln 打印的时候不用换行
}
}
}
获得数组中的随机索引
import java.util.Random;
public class ArrayDemo16 {
public static void main(String[] args) {
//打乱数据
//难点 如何获得数组中的随机索引
/*int[] arr={1,2,3,4,5};
//索引范围0-4
Random r=new Random();
int randomIndex=r.nextInt(arr.length);
System.out.println(randomIndex);*/
int[] arr={1,2,3,4,5};
//循环遍历数组,从0索引开始打乱数据的顺序
Random r=new Random();
for (int i = 0; i < arr.length; i++) {
//生成一个随机索引
int randomIndex =r.nextInt(arr.length);
//拿着随机索引指向的元素,跟i指向的元素进行交换
int temp=arr[i];
arr[i]=arr[randomIndex];
arr[randomIndex]=temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}