package 软件包;
import java.util.Scanner;
public class array {
/* //注释起始
public static void main(String[] args){
double hens[] ={3,5,1,3.5,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);
}
public static void main(String[] args){
//输入和输出代码
//double scores[] =new double[5];
double scores[];//先声明
scores = new double[5];//再分配空间
Scanner myScanner = new Scanner(System.in);
for(int i=0 ;i<scores.length;i++){
System.out.println("请输入第"+(i+1)+"个元素");
scores[i]=myScanner.nextDouble();
}
}
String[] arr3 = {"北京","jack"};
short[] arr4 = new short[3];
public static void main(String[] args){
//用数组保存A~Z的英文字母,并输出
char[] chars = new char[26];
for(int i = 0 ; i < chars.length ; i++){
chars[i] = (char) ('A'+i);//'A'+i是int类型,chars是char[]类型,要强制类型转换,chars[i]是char类型
System.out.print(chars[i]);
}
}
public static void main(String[] args) {
//求数组的最大值,并找到对应的下标
int[] arr = {4, -1 , 9 , 10 , 23};
int max = arr[0];
int maxi = 0;
for(int i = 1 ; i < arr.length ; i++){
if(arr[i] > max) {
max = arr[i];
maxi = i;
}
}
System.out.println("max="+max+",maxIndex="+maxi);
}
public static void main(String[] args) {
//数组分配ArrayAssign
//基本数据类型赋值,赋值方式为值拷贝
//n2的变化,不会影响到n1
int n1 = 10;
int n2 = n1;
n2 = 80;
System.out.println("n1="+n1);
System.out.println("n2="+n2);
//数组
//赋值方式为引用传递,赋值方式是地址,arr2的变化会影响arr1
int[] arr1 = {1 , 2 , 3};
int[] arr2 = arr1;
arr2[0] = 4;
for(int i = 0 ; i<arr1.length ; i++)
System.out.println(arr1[i]);
}
public static void main(String[] args) {
int arr1[] = {10,20,30};
int arr2[] = new int[arr1.length];//开辟一个新的空间
//遍历arr1,把每个元素拷贝到对应的位置
for(int i = 0; i < arr2.length; i++)
arr2[i]=arr1[i];
arr2[0]=100;//修改arr2不会影响arr1
for(int i = 0; i < arr1.length; i++)
System.out.println(arr1[i]);
for(int i = 0; i < arr2.length; i++)
System.out.println(arr2[i]);
}
public static void main(String[] args) {
//数组逆置
int arr1[] = {1,2,3,4};
int t;
for(int i = 0; i < arr1.length/2; i++) {//arr1.length/2
t=arr1[i];
arr1[i]=arr1[arr1.length-i-1];
arr1[arr1.length-i-1]=t;
}
for(int i = 0; i < arr1.length; i++){
System.out.println(arr1[i]);
}
}
public static void main(String[] args) {
//数组逆置2,使用辅助数组,把arr中的元素,逆序复制到arr2
int arr[] = {1,2,3,4};
int arr2[] = new int[arr.length];
for(int i = arr.length-1 , j=0 ; i >=0 ; i-- ,j++){
arr2[j] = arr[i];
}
for(int i = 0; i < arr.length; i++){
System.out.println(arr2[i]);
}
}
public static void main(String[] args) {
//数组添加元素
int arr[] = {1,2,3};
int arrNew[] = new int[arr.length + 1];
int i;
for(i = 0; i < arr.length; i++){
arrNew[i] = arr[i];
}
arrNew[i] = 4;
for(i = 0; i < arrNew.length; i++){
System.out.println(arrNew[i]);
}
}
public static void main(String[] args) {
//数组添加
//创建一个Scanner可以接受用户输入
//用do-while循环输入
Scanner myScanner = new Scanner(System.in);
int arr[] = {1,2,3};
do {
int arrNew[] = new int[arr.length + 1];
int i;
for (i = 0; i < arr.length; i++) {
arrNew[i] = arr[i];
}
System.out.println("请输入你要添加的元素");
arrNew[i] = myScanner.nextInt();
arr = arrNew;
for (i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");//用加号连接,\t放在“ ”里
}
System.out.println("是否要继续添加 y/n");
char key = myScanner.next().charAt(0);
if(key == 'n') break;
}while(true);
}
*/ //注释结尾
}