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,并希望用户或者供应商来实现这些方法 ...
随机推荐
- 杂谈.netcore的Buffer相关新类型
1 文章范围 本文将.netcore新出现的与Buffer操作相关的类型进行简单分析与讲解,由于资料有限,一些见解为个人见解,可能不是很准确.这些新类型将包括BinaryPrimitives.Span ...
- 小白学 Python 爬虫(38):爬虫框架 Scrapy 入门基础(六) Item Pipeline
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 【转】分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...
- No property andp found for type String! Traversed path: CmsPage.siteId.
Respository没有找到该参数 1)由该参数,函数名写错,不符合JPA规范 2)实体类没有该参数
- 灵魂画师,在线科普多云平台/CMP云管平台/中间件/虚拟化/容器是个啥
原创: 灵魂工作室 速石科技 经常碰到有人问: 你们是云管吗? 你们和CMP多云管理平台有什么区别? 你们这个多云平台到底是个啥? emmmmm,问题还挺不好回答. 为了说清楚这些问题,但又不希望你们 ...
- APICloud发布低代码开发平台
云原生的出现,致使传统IT模式正在集中向云架构.云开发转型,其中在企业业务的互联网化.数字化进程中尤为突出,并衍生出“敏捷开发”.“快速迭代”的刚性需求.面对双模IT,如何打造全新的IT团队与模式?并 ...
- 【DPDK】【ring】从DPDK的ring来看无锁队列的实现
[前言] 队列是众多数据结构中最常见的一种之一.曾经有人和我说过这么一句话,叫做“程序等于数据结构+算法”.因此在设计模块.写代码时,队列常常作为一个很常见的结构出现在模块设计中.DPDK不仅是一个加 ...
- 关于django中的get_or_create方法的坑
最近在项目中发现了这样的一个坑,那就是我们的需求是不能添加一个相同的对象到数据库中,就通过某些字段的值组合成唯一值到数据库中去查找数据,如果没有找到对象,那就创建一条新的数据库记录,而刚好django ...
- WingIDE注册破解方法 CalcActivationCode.py
1) 安装WingIDE成功后启动,激活时输入license id CN123-12345-12345-12345 2) 点击Continue后弹框,拷贝框中的request code 3) 修改Py ...
- Gitlab应用——系统管理
查看linux系统信息 查看日志 创建账号 选择regular,这是一个普通账号,点击“create user”账号创建完成 点击“User”,然后点击“New user”.使 ...