package Javacode.chapter06;
public class Array01 {
public static void main(String[] args) {
double[] hens={3,5,1,3.4,2,50};
//遍历数组得到数组的和
double totalWeight=0;
for(int i=0;i<hens.length;i++){
//System.out.println("第"+(i+1)+"个元素的和="+hens[i]);
totalWeight +=hens[i];
}
System.out.println("总体重="+totalWeight+"平均体重="+(totalWeight/6));
}
}
package Javacode.chapter06;
import java.util.Scanner;
public class Array02 {
public static void main(String[] args) {
//创建一个double数组,大小为5
//double scores[]=new double[5];
double scores[];//声明数组,这是scores是null
scores=new double[5];//分配内存空间,可以存放数据
Scanner scanner=new Scanner(System.in);
//循环输入
for(int i=0;i<scores.length;i++){
System.out.print("请输入第"+(i+1)+"个元素:");
scores[i]=scanner.nextDouble();
}
System.out.println("数组的元素/值的情况如下:");
for(int i=0;i<scores.length;i++){
System.out.println("第"+(i+1)+"个元素:"+scores[i]);
}
}
}
package Javacode.chapter06;
public class ArrayDetail {
public static void main(String[] args) {
//1、数组是多个相同类型数据的组合,实现对这些数据的统一管理
//int[] arr1={1,2,3,60,"hello"};错误,String不能自动转换为int类型
double[] arr2={1.1,2.2,3.3,23.3,100};//int->double(自动转换)
//2、数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用
String[] arr3={"北京","jack","milan"};
//3、数组创建后,如果没有赋值,有默认值
//int、short、byte、long:0
//float、double:0.0;char:\u0000
//boolean:false;String:null
short[] arr4=new short[3];
System.out.println("======数组arr4======");
for(int i=0;i<arr4.length;i++){
System.out.println(arr4[i]);//输出short默认值0
}
//4、使用数组的步骤 1、声明数组并开辟空间;2、给数组各个元素赋值;3、使用数组
//5、数组的下标是从0开始的
//6、数组下标必须在指定范围内使用,否则报:下标越界异常,比如 int【】 arr =new int[5];有效下表是0-4
int[] arr=new int[5];
System.out.println(arr[5]);//输出时报下标越界错误
//数组属于引用类型,数组型数据是对象(Object)
}
}
package Javacode.chapter06;
public class ArrayExercise01 {
public static void main(String[] args) {
/*
创建一个char类型的26元素的数组,分别放置‘A’-‘Z’。
使用for循环访问所有元素并打印出来
提示:char类型数据运算‘A'+1->'B'
思路分析
1、定义一个数组char[] chars=new char[26]
2、因为'A'+1=’B‘类推,所以老师使用for来赋值
3、使用for循环访问所有元素
*/
char[] chars=new char[26];
//输入
for(int i=0;i<chars.length;i++){
//chars是char[]
//chars[i]是char
chars[i]= (char) ('A'+i);//‘A’+i是int,需要强转
}
System.out.println("chars数组========");
//输出
for(int i=0;i<chars.length;i++){
System.out.println(chars[i]+" ");
}
}
}
package Javacode.chapter06;
public class ArrayExercise02 {
public static void main(String[] args) {
//求出一个数组int[]的最大值{4,-1,9,10,23},并得到对应的下标
int[] arr={4,-1,9,10,23};
int max=arr[0];//假定第一个元素就是最大值
int maxIndex=0;//下标
for(int i=1;i<arr.length;i++){
if(max<arr[i]){
max=arr[i];//如果max《当前元素
maxIndex=i;//把max设置成当前元素
}
}
//当我们遍历这个数组arr后,max就是真正的最大值,maxIndex最大值下标
System.out.println("max="+max+",maxIndex="+maxIndex);
}
}
package Javacode.chapter06;
public class ArrayCopy {
public static void main(String[] args) {
//将int[] arr1={10,20,30};拷贝到arr2数组
//要求数据空间是独立的
int[] arr1={10,20,30};
//创建一个新的数组arr2,开辟新的数据空间
//大小aee1.length
int[] arr2=new int[arr1.length];
//遍历arr1,把每个元素拷贝到arr2对应的元素位置
for(int i=0;i<arr1.length;i++){
arr2[i]=arr1[i];
}
//修改arr2(因为开辟的新空间,修改arr2时arr1的值不变
arr2[0]=100;
//输出arr1
System.out.println("+=====arr1======");
for(int i=0;i<arr1.length;i++){
System.out.println(arr1[i]);//10,20,30
}
System.out.println("========arr2======");
for(int i=0;i<arr2.length;i++){
System.out.println(arr2[i]);//100,20,30
}
}
}