java8数组

public class jh_01_为什么需要数组 {
	public static void main(String[] args) {
		int [] arr = new int[5];
//		int a = 10;
	}

}

  

import java.util.Scanner;

public class jh_02_如何使用数组 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int [] arr = new int[5];
		for (int i= 0; i < arr.length; i++) {
			 System.out.println("shuru");
			arr[i] = sc.nextInt();
		}	
//		 arr[0] = 99;
//		 arr[1] = 98;
//		 arr[2] = 97;
//		 arr[3] = 96;
//		 arr[4] = 95;
//		 arr = null;//NullPointerException
		//System.out.println(arr.length);
		 System.out.println(arr[0]);
		 System.out.println(arr[1]);
		 System.out.println(arr[2]);
		 System.out.println(arr[3]);
		 System.out.println(arr[4]);
		// System.out.println(arr[-5]);//ArrayIndexOutOfBoundsException
		System.out.println("*********************");
		 for(int i = 0;i< 5;i++ ) {
			 System.out.println(arr[i]);
		 }
		 System.out.println("*********************");
		 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 += arr[i];
		 }
	
		
		
		String [] name= new String[5];
		name[0] = "张三";
		name[1] = "李四";
		name[2] = "张三";
		name[3] = "张三";
		name[4] = "张三";
		System.out.println(name[0]);
		System.out.println(name[1]);
		System.out.println(name[2]);
		System.out.println(name[3]);
		System.out.println(name[4]);
		System.out.println("********************");
		for (int i = 0; i < name.length; i++) {
			System.out.println(name[i]);
		}
		System.out.println("********************");
		for (int i = 0; i < 5; i++) {
			System.out.println(name[i]);
		}
		
		
	
	}

}

  

public class jh_03_数组赋值 {
	public static void main(String[] args) {
//		Scanner sc = new Scanner(System.in);
//		int [] arr = new int [5];
//		for (int i= 0; i < arr.length; i++) {
//			 System.out.println("shuru");
//			arr[i] = sc.nextInt();
//		}
		
		int [] arr03 = new int []{1,2,3,4,5};
		int [] arr02 = {1,2,3,4,5};
		for (int i = 0; i < arr02.length; i++) {
			if(i!=arr02.length-1 ) {
				System.out.print(arr02[i]+", ");
			}else {
				System.out.print(arr02[i]);
			}
		}
		
		
	}

}

  

public class jh_04_现场编程 {
	/*
	 * 有一个数列:8,4,2,1,23,344,12
	 * 循环输出数列的值
	 * 求数列中所有数值的和
	 * 猜数游戏:从键盘中任意输入一个数据,
	 * 判断数列中是否包含此数 
	 */
	public static void main(String[] args) {
		int [] arr={8,4,2,1,23,344,12};	
//		循环输出数列的值---迭代. 遍历.
		for (int i = 0; i < arr.length; i++) {
			System.out.println(i);
		}
		System.out.println("*******************");
//      求数列中所有数值的和
		// 数据类型 元素:
		for (int i : arr) {
			System.out.println(i);
		}
		int sum = 0;
		for (int i = 0; i < arr.length; i++) {
			sum += arr[i];
		}
		System.out.println(sum);
		System.out.println("*******************");
		int num = 1;
		boolean flag = false;
		for (int i = 0; i < arr.length; i++) {
			if (arr[i] == num) {
				flag = true;
				break;
			}
				
			}
		
		if (flag) {
			System.out.println("存在");
		} else {
			System.out.println("不存在");
		}
	
		
	
	}

}

  

public class jh_05_学员操作_显示商品名称2_1 {
//	int [] arr={8,4,2,1,23,344,12};
//	''""  ''''gad''
	public static void main(String[] args) {
		String []arr = {"xiaogege","dajiejie","xiaoayi"};
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
		System.out.println("**********************");
		for (String str : arr) {
			System.out.println(str);
		}
		System.out.println();
		double []arr01={1.75,1.73,1.79};
		for (int i = 0; i < arr01.length; i++) {
			System.out.println(arr01[i]);
		}
		System.out.println("*********************");
		for (double db : arr01) {
			System.out.println(db);
		}
			
	}

}

  

import java.util.Scanner;

public class jh_06_学员操作_购物金额结算 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 长度为五的容器,存储金额。double
		double []arr = new double[5];
		for (int i = 0; i < arr.length; i++) {
			System.out.println("请输入第"+ i +"个成绩");
			arr[i] = sc.nextInt();
		}
		System.out.println("序号 \t成绩:");
		// 罗列输入的数值:
		for (int i = 0; i < arr.length; i++) {
			System.out.println((1+i)+"\t"+arr[i]);
		}
		
	
	}

}

  

import java.util.Arrays;

public class jh_07_数组排序2_1 {
	public static void main(String[] args) {
		
//		Arrays类的sort()函数: 对数组进行升序排列
		// 对象名.函数名()。sc.nextInt();
		// 类名.函数名(); Arrays.sort(容器名称);
		int [] arr = {2,5,4,3,1,6,9,8,7};
		for(int i : arr) {
			System.out.print(i+", ");
		}
		System.out.println();
//		Arrays类的sort()函数
		Arrays.sort(arr);
		for(int i : arr) {
			System.out.print(i+", ");
		}
		System.out.println();
	}

}

  

public class jh_08_求容器最大值 {
	public static void main(String[] args) {
		/*
		 * 1:把第一个元素。arr[0]默认成最大的。---参照物。
		 * 2:后面的元素依次和参照物做比较。
		 * 3:如果后面的元素比参照物大。就把
		 * 后面的赋值给参照物。
		 */
		int [] arr = {2,5,4,3,1,6,9,8,7};
		// 1:把第一个元素。默认成最大的
//		int max = arr[0];
//		
//		for (int i = 1; i < arr.length; i++) {
//			if(arr[i] > max) {
//				// 把当前的元素赋值给max
//				max = arr[i];
//			}
//		}
//		System.out.println(max);
		int min = arr[0];
		
		for (int i = 1; i < arr.length; i++) {
			if(arr[i] < min) {
				// 把当前的元素赋值给max
				min = arr[i];
			}
		}
		System.out.println(min);
	}

}

  

public class jh_09_查找指定元素出现的位置 {
	public static void main(String[] args) {
		/*
		 * 查找指定元素出现的位置
		 * 3 --- index
		 * 如果不存在。就用-1表示。
		 */
		int []arr = {2,5,4,3,1,6,9,8,7};
		int index = getIndex(arr,19);
		System.out.println(index);
		
//		指定元素
//		int num = 19;
//		int index = -1;
//		// 1:依次取出每一个元素,并做比较
//		for (int i = 0; i < arr.length; i++) {
//			if(num == arr[i]) {
//				index = i;// 当前i的值是不是就是index位置。
//			}
//		}
//		System.out.println(index);
//	}
	
	/*
	 * 1:返回值类型。int 
	 * 2:参数列表。int[] arr,int num
	 */
	}
	public static int getIndex(int [] arr,int num) {
		for (int i = 0; i < arr.length; i++) {
			if(num == arr[i]) {
				return i;
			}
		}
		return - 1;

	}

}

  

import java.util.Scanner;

public class jh_10_学员操作求最低价格 {
	private static int i;

	public static void main(String[] args) {
		Scanner sc =  new Scanner(System.in);
		int [] arr = new int [4];
		for (int i = 0; i < arr.length; i++) {
			System.out.println("请输入值: ");
			arr[i] = sc.nextInt();
		}
		int min = arr[0];
		for (int i = 1; i < arr.length; i++) {
			if (arr[i] < min) {
				min = arr[i];
			}
		}
		System.out.println(arr[i]);
	}

}

  

import java.util.Arrays;  
import java.util.Scanner;

public class jh_11_插入算法 {
	/*
	 * 有一组学员的成绩{99,85,82,63, 60}, 将它们按升序排列。要增加一个学员的成绩, 将它插入成绩序列,并保持升序。
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
//		有一组学员的成绩{99,85,82,63, 60},
		int[] oldArray = { 99, 85, 82, 63, 60 };
//		将它们按升序排列。
		Arrays.sort(oldArray);
		// 创建一个容器,长度是原数组长度加1;
		int[] newArray = new int[oldArray.length + 1];
		// 数组copy 调用对应的函数,或者简单写下。
		for (int i = 0; i < oldArray.length; i++) {
			newArray[i] = oldArray[i];
		}
		// 看下效果,迭代新容器
		for (int i = 0; i < newArray.length; i++) {
			System.out.println(newArray[i]);
		}
		System.out.println("*************************");

		/*
		 *1: 给出要插入的数值 num 
*2: 找到要插入的位置。
*3: 从要插入的位置依次向后挪元素。
*4: 把num的值覆盖到index位置处
*5: 如果插入的值比容器中最大的值还大,应该插入到最后。
* 所以index的初始值默认给newArray.length-1; */ // 1:给出要插入的数值 num System.out.println("给出要插入的数值:");// 77 int num = sc.nextInt(); int index = newArray.length - 1; // 2:找到要插入的位置 for (int i = 0; i < newArray.length; i++) { if (newArray[i] > num) { // 记录当前位置 index = i; break; } } // 3:从要插入的位置依次向后挪元素。 // arr [8]= arr [7] // for(int i = index;i<newArray.length;i++) { //// 倒数第一个 = 倒数第二个 // newArray[newArray.length - 1- 0] = newArray[newArray.length - 1 - 1]; // // // // // } for (int i = newArray.length - 1; i > index; i--) { newArray[i - 0] = newArray[i - 1]; } // 看效果 for (int i = 0; i < newArray.length; i++) { System.out.println(newArray[i]); } System.out.println("************"); // 4:把num的值覆盖到index位置处 newArray[index] = num; // 看效果 for (int i = 0; i < newArray.length; i++) { System.out.println(newArray[i]); } } }

  

public class jh_12_如何对变量ab的值进行交换 {
	public static void main(String[] args) {
		int a = 10;
		int b = 8;
		int temp;
		temp = a;
		a = b;
		b = temp;
		System.out.println(a);
		System.out.println(b);
	}

}

  

public class jh_13_冒泡排序 {
	public static void main(String[] args) {
		/*
		 * 对数组中相邻的两个数进行比较, 
		 * 把数组元素从头到尾比较一次后
		 * 找到最大的那个值放到数组的末尾.
		 */
		int[] arr = { 54, 53, 12, 32, 56, 17 };
		for (int j = 0; j < arr.length-1; j++) {
			for (int i = 0; i < arr.length-1-j; i++) {
				if (arr[i] > arr[i + 1]) {
					int temp = arr[i];
					arr[i] = arr[i + 1];
					arr[i + 1] = temp;
				}
			}
		}
		for (int i : arr) {
			System.out.println(i);
		}
	}

}

  

public class jh_14_选择排序 {
	/*
	 * int[] arr = 
	 * { 54, 53, 12, 32, 56, 17 };
	 */
	public static void main(String[] args) {
		int[] arr = { 54, 53, 12, 32, 56, 17 };
		for (int i = 0; i < arr.length - 1; i++) {
			for (int j = arr.length - 1; j > 0; j--) {
				if (arr[j] < arr[j - 1]) {
					int temp = arr[j];
					arr[j] = arr[j - 1];
					arr[j - 1] = temp;
				}
			}
		}
		for (int j : arr) {
			System.out.println(j);
		}

	}

}

  

import java.util.Arrays;
//import java.util.Scanner;

public class jh_15_二分查找 {
	public static void main(String[] args) {
//		Scanner sc = new Scanner(System.in);
		int[] arr = { 54, 53, 12, 32, 56, 17 };
		Arrays.sort(arr);
//      12,17,32,53,54,56

		int num = 50;

		int startIndex = 0;
		int endIndex = arr.length - 1;
		
		for (;;) {
			int midIndex = (startIndex + endIndex) / 2;
			int midValue = arr[midIndex];

			if (num > midValue) {
				startIndex = midIndex + 1;
			} else if (num < midValue) {
				endIndex = midIndex - 1;
			} else {
				System.out.println("找到了");
				break;
			}
			if (startIndex > endIndex) {
				System.out.println("不存在");
				break;
			}

		}

	}

}

  

public class jh_16_二维数组的声明 {
	public static void main(String[] args) {
		int a;
//		int [] arr;
//		int arr[];
		int [][] intArray;
		double doubleArray[][];
		String [] strArray[];
		
		
	}

}

  

public class jh_17_二维数组的应用场景 {
	public static void main(String[] args) {
		// 学生成绩表.
		int [] arr = new int [3];
		int [][] Array = new int[3][3];
		
//		a[0]---
//		b[1][2]
		
		
		
		
		
		
		// [3]表示b里面有3个一维数组
		// 长度。
		
		// {1,2,3,4,5,6};
		
		// {{1},{4,5,6},{7,8}};
		
		int [][] c = new int[3][5];
		
		int [][] d = new int[3][];
		d[0] = new int[3];
		d[1] = new int[4];
		d[2] = new int[5];
//		{{1,2,3},{4,5,6,7},{1,1,1,1,1}}
		
		int [][] e = new int [3][3];
		e[0][0] = 55;		
		e[0][1] = 55;		
		e[0][2] = 55;	
		
		e[1][0] = 55;		
		e[1][1] = 55;		
		e[1][2] = 55;
		
		e[2][0] = 55;		
		e[2][1] = 55;		
		e[2][2] = 55;	
		
		for(int i = 0;i<3;i++) {
			for(int j=0;j<3;j++) {
				System.out.println(e[i][j]);
			}
		}
		System.out.println(e[0][0]);
		
		System.out.println("***************");
		
		for (int[] is : e) {
			for(int i :is) {
				System.out.println(i);
			}
		}
		
	}

}

  

public class jh_18_二维数组的应用二 {
	public static void main(String[] args) {
		int [] a = {1,2,3,4,5,6};
		System.out.println(a.length);
		
		int [][] arr =
			{{1,2,3},{4,5,6},{7,8,9}};
		//每一个小容器长度。
		// 先拿到小容器。arr[i]
		// 在取小容器长度。arr[i].length
		System.out.println(arr.length);
		
		System.out.println(arr[1].length);
		
		
	}

}

  

public class jh_19_循环输出二维数组的内容 {
	public static void main(String[] args) {
		int[][] arr =
			{{1,2,3},{4,5},{7,8,9}};
		for(int i = 0;i<arr.length;i++) {
			for(int j =0;j<arr[i].length;j++) {
				System.out.println(arr[i][j]);
			}
		}
		
		
		
		
//		for( int [] i :arr) {
//			for(int e :i) {
//				System.out.println(e);
//			}
//		}
		
		
		
		/*
		 * 1:先取出大容器里面的每一个小容器。
		 * 2:再取出每一个小容器里面的元素。
		 */
		
		
	}

}

  

import java.util.Scanner;

public class jh_20_二维数组编程练习 {
	/*
	 * 在一个二维数组中存放了三名学生的语文和 
	 * 数学的成绩,从键盘输入三名学生的成绩存 
	 * 储到二维数组中,分别求语文和数学的总 
	 * 成绩及平均分并输出。
	 */
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		/*
		 * 任务
		 * 1、定义一个三行两列的整型二维数组intArray
		 * 2、从键盘输入学生成绩,要求输入顺序与效果图一致。
		 * 3、求语文的总成绩和平均分
		 * 4、求数学的总成绩和平均分
		 */
//		1、定义一个三行两列的整型二维数组intArray
		int[][] intArray = new int[3][2];

		for (int j = 0; j < intArray.length; j++) {
			for (int i = 0; i < intArray[j].length; i++) {
				if (i == 0) {
					System.out.println("请输入第" + (j + 1) + "个学生的语文成绩");
					intArray[j][i] = sc.nextInt();
				} else {
					System.out.println("请输入第" + (j + 1) + "个学生的数学成绩");
					intArray[j][i] = sc.nextInt();
				}

			}
		}

		for (int[] is : intArray) {
			for (int i : is) {
				System.out.print(i + ", ");
			}
			System.out.println();
		}
		
		// 求每个学生的总成绩
		int chinese = 0;
		int math = 0;
		
		for(int i = 0;i<intArray.length;i++) {
			int sum = 0;
			for(int j = 0;j<intArray[i].length;j++) {
				sum += intArray[i][j];
				// 判断
//				if(j==0) {
//					chinese += intArray[i][j];
//				}else {
//					math += intArray[i][j];
//				}
			}
			System.out.println(sum);
		}
		
		System.out.println(chinese);
		System.out.println(math);
//		intArray[0][0]
//		intArray[0][1]

	}

}

  

posted @ 2019-07-11 15:34  笑傲一生  阅读(2871)  评论(0编辑  收藏  举报