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] } }
java8数组的更多相关文章
- Java8 方式解决Stream流转其他数组
Java8 方式解决Stream流转其他数组 一. 题记:原来的List转数组用的是如下方式: example private static void listToStringArray(List l ...
- java8 遍历数组的几种方式
java8 遍历数组的几种方式 2017年04月05日 09:15:46 阅读数:4640 风格色 2017-02-11 18:41 有如下一个String数组 String[] array = {& ...
- Java8 方法引用与构造器引用,数组引用
package java_8; import org.junit.Test; import java.io.PrintStream; import java.util.Comparator; impo ...
- 数组转字符串 java8
public static String arrayToString(int[] arr) { // 1,2,3... StringBuffer sb = new StringBuffer(); fo ...
- 20190922 On Java8 第二十一章 数组
第二十一章 数组 一等对象 对象数组和基元数组在使用上是完全相同的.唯一的不同之处就是对象数组存储的是对象的引用,而基元数组则直接存储基本数据类型的值. 多维数组 Array.deepToString ...
- Java笔记——Java8特性之Lambda、方法引用和Streams
Java8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进行Spring开发,那么可以发现Spring的官网已经全部使用Java8来编写示例代码了,所以,不学就看不懂. 这里涉及三 ...
- 取两个String数组的交集
import org.testng.annotations.Test; import java.util.HashMap; import java.util.LinkedList; import ja ...
- 关于Java8函数式编程你需要了解的几点
函数式编程与面向对象的设计方法在思路和手段上都各有千秋,在这里,我将简要介绍一下函数式编程与面向对象相比的一些特点和差异. 函数作为一等公民 在理解函数作为一等公民这句话时,让我们先来看一下一种非常常 ...
- Java8闭包
闭包在很多语言中都存在,例如C++,C#.闭包允许我们创建函数指针,并把它们作为参数传递,Java编程语言提供了接口的概念,接口中可以定义抽象方法,接口定义了API,并希望用户或者供应商来实现这些方法 ...
随机推荐
- React实现座位排布组件
React实现座位排布组件 最近在开发一个影院系统的后台管理系统,该后台可以设置一个影厅的布局. 后台使用的是react框架,一位大神学长在几天之内就把这个控件研究出来了,并进行了较为严密的封装,佩服 ...
- Javascript小白经典题型(一)
1. 输出是什么? function sayHi() { console.log(name) console.log(age) var name = 'Lydia' let age = 21 } sa ...
- Java添加、读取Excel公式
操作excel表格用公式来处理数据时,可通过创建公式来运算数据,或通过读取公式来获取数据信息来源.本文以通过Java代码来演示在Excel中创建及读取公式的方法.这里使用了Excel Java类库(F ...
- JVM之JVM的体系结构
一.JDK的组成 JDK:JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品.JDK中包含JRE(在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin ...
- 让vue-router渲染为指定的标签
<router-link :to="{name:'cart'}" tag="li"> cart </router-link> 在rout ...
- GeneXus DevOps 自动化构建和部署流程
以下视频详细介绍了GeneXus DevOps自动化构建和部署流程,包括通过MS Bulid来管理自动化流程,自动化的架构,以及在GeneXus Server上使用Jenkins做为自动化引擎. 视频 ...
- Java 设置Word页边距、页面大小、页面方向、页面边框
本文将通过Java示例介绍如何设置Word页边距(包括上.下.左.右).页面大小(可设置Letter/A3/A4/A5/A6/B4/B5/B6/Envelop DL/Half Letter/Lette ...
- MySQL UTF-8 常用字符排序规则
排序规则 解释 utf8_general_ci 不区分大小写 utf8_general_cs 区分大小写 utf8_bin 区分大小写,字符串每个字符串用二进制数据编译存储,且支持存储二进制数据
- 简单的 FFT 变形 - BZOJ 2194
「BZOJ2194」快速傅立叶之二 2015年4月29日3,8300 Description 请计算C[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,并且有 ...
- RTC时间设置
1.命令行输入date,查看系统时间. 2.命令行输入 date -s "2019-01-21 16:03:00" 修改系统时间. 3.命令行输入 hwclock -w 将修改后的 ...