数组创建
package chapter05.D1;
public class Array01 {
public static void main(String[] args) {
double[] nums={3,5,1,3.4,2,50};//静态分配
double total=0;
for (int i=0;i<6;i++){//通过下标访问数组元素,for循环就可访问 nums。length
System.out.println("第"+(i+1)+"个元素的值="+nums[i]);
total+=nums[i];
}
System.out.println("平均="+total/6);
}
}
package chapter05.D1;
import java.util.Scanner;
public class Array02 {
public static void main(String[] args) {
//创建数组
double A[]=new double[5];//动态分配,声明+分配空间
double B[];
B=new double[5];//动态分配,先声明后分配
//循环输入
Scanner myscanner = new Scanner(System.in);
for (int i = 0; i < A.length ; i++) {
System.out.println("请输入第"+(i+1)+"个元素的值");
A[i]=myscanner.nextDouble();
}
System.out.println("=====数组的元素值情况如下:=====");
for (int i=0;i
package chapter05.D1;
public class ArrayExercise {
public static void main(String[] args) {
char chars[]=new char[26];
for (int i = 0; i < chars.length ; i++) {
chars[i]=(char)('A'+i);//i是int
}
System.out.println("====chars数组=====");
for (int i=0;i< chars.length;i++){
System.out.print(chars[i]+" ");
}
}
}
package chapter05.D1;
public class ArrayExercise02 {
public static void main(String[] args) {
int []arr={4,-1,9,10,23,56,595,2};
int max =arr[0];
int maxIndex=0;
for (int i=1;i< arr.length;i++){
if(max
数组赋值
package chapter05.D1;
//值传递(值拷贝)和引用传递(地址拷贝)区别
public class ArraayAssign {
public static void main(String[] args) {
int n1=10;
int n2=n1;
n2=80;
System.out.println("n1="+n1);//10 n2的变化不影响n1值
System.out.println("n2="+n2);//80
int[] arr1={1,2,3};
int[] arr2=arr1;//把arr1赋给arr2 实则数据共享空间
arr2[0]=10;
for (int i = 0; i < arr1.length ; i++) {
System.out.println(arr1[i]);//arr2的变化影响arr1
}
}
}
元素添加
package chapter05.D1;
import java.util.Scanner;
public class ArrayAdd {
public static void main(String[] args) {
Scanner myscanner = new Scanner(System.in);
int []arr={1,2,3};
do{
int []arrNew=new int[arr.length+1];
for (int i = 0; i
数组复制
package chapter05.D1;
public class ArrayCopy {
public static void main(String[] args) {
int []arr1={10,20,30};
int []arr2=new int[arr1.length];//开一个新地址空间
for (int i = 0; i < arr1.length ; i++) {
arr2[i]=arr1[i];
}
arr2[0]=156;
for (int j=0;j< arr2.length;j++){
System.out.println(arr1[j]);
}
for (int j=0;j< arr2.length;j++){
System.out.println(arr2[j]);
}
}
}
数组翻转
package chapter05.D1;
public class ArrayReverse {
public static void main(String[] args) {
int []arr={11,22,33,44,55,66};
int []arr2=new int[arr.length];
for (int i = 0; i < arr.length ; i++) {
arr2[i]=arr[arr.length-i-1];
}
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);//加arr=arr2名字回去,共享空间
}
for (int i = 0; i
冒泡排序
package chapter05.D1;
public class BubbleSort {
public static void main(String[] args) {
int []arr={24,69,80,57,13};
int temp =0;
//将多伦排序使用外层循环包起来
for (int i = 0; i < arr.length-1 ; i++) {//由死变活4>>>arr.length-1
for (int j = 0; j < arr.length-1-i; j++) {//每i轮排序次数减少i
if (arr[j]>arr[j+1]){//优化:若无需排序可跳出
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
System.out.println("n"+"第"+(i+1)+"轮");
for (int g = 0; g < arr.length ; g++) {
System.out.print(arr[g]+"t");
}
}
System.out.println("n"+"最终结果如下");
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i]+"t");
}
}
}
查找功能
package chapter05.D1;
import java.util.Scanner;
public class SeqSearch {
public static void main(String[] args) {
String[] names={"天问","渊虹","太阿","干将莫邪","赤霄","水寒","凌虚","巨阙"};
Scanner myscanner = new Scanner(System.in);
System.out.println("请输入剑的名字");
String findName = myscanner.next();
int index=-1;//索引,用来判断有无找到 编程经典方法
for (int i = 0; i < names.length; i++) {
if (findName.equals(names[i])){
System.out.println("恭喜你找到"+findName);
System.out.println("排名第"+(i+1));
index=i;
break;
}
}
if (index==-1){
System.out.println("没有找到");
}
}
}