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数组的更多相关文章

  1. Java8 方式解决Stream流转其他数组

    Java8 方式解决Stream流转其他数组 一. 题记:原来的List转数组用的是如下方式: example private static void listToStringArray(List l ...

  2. java8 遍历数组的几种方式

    java8 遍历数组的几种方式 2017年04月05日 09:15:46 阅读数:4640 风格色 2017-02-11 18:41 有如下一个String数组 String[] array = {& ...

  3. Java8 方法引用与构造器引用,数组引用

    package java_8; import org.junit.Test; import java.io.PrintStream; import java.util.Comparator; impo ...

  4. 数组转字符串 java8

    public static String arrayToString(int[] arr) { // 1,2,3... StringBuffer sb = new StringBuffer(); fo ...

  5. 20190922 On Java8 第二十一章 数组

    第二十一章 数组 一等对象 对象数组和基元数组在使用上是完全相同的.唯一的不同之处就是对象数组存储的是对象的引用,而基元数组则直接存储基本数据类型的值. 多维数组 Array.deepToString ...

  6. Java笔记——Java8特性之Lambda、方法引用和Streams

    Java8已经推出了好一段时间了,而掌握Java8的新特性也是必要的,如果要进行Spring开发,那么可以发现Spring的官网已经全部使用Java8来编写示例代码了,所以,不学就看不懂. 这里涉及三 ...

  7. 取两个String数组的交集

    import org.testng.annotations.Test; import java.util.HashMap; import java.util.LinkedList; import ja ...

  8. 关于Java8函数式编程你需要了解的几点

    函数式编程与面向对象的设计方法在思路和手段上都各有千秋,在这里,我将简要介绍一下函数式编程与面向对象相比的一些特点和差异. 函数作为一等公民 在理解函数作为一等公民这句话时,让我们先来看一下一种非常常 ...

  9. Java8闭包

    闭包在很多语言中都存在,例如C++,C#.闭包允许我们创建函数指针,并把它们作为参数传递,Java编程语言提供了接口的概念,接口中可以定义抽象方法,接口定义了API,并希望用户或者供应商来实现这些方法 ...

随机推荐

  1. Cannot access org.springframework.context.ConfigurableApplicationContext

    Cannot access org.springframework.context.ConfigurableApplicationContext 需要将有问题的模块  删除 后重新导入 即可 IDEA ...

  2. Match3 Module For Game(THDN)

    介绍    THDN的核心机制为Match3的利用,本文对Match3 Gameplay进行记录,并对其进行改良.THDN作为RogueLIke性质的游戏,玩家在随机生成的dungeon里进行探索并获 ...

  3. python 多进程处理图像,充分利用CPU

    默认情况下,Python程序使用一个CPU以单个进程运行.不过如果你是在最近几年配置的电脑,通常都是四核处理器,也就是有8个CPU.这就意味着在你苦苦等待Python脚本完成数据处理工作时,你的电脑其 ...

  4. mac-air 搭建vue开发环境

    周末没事干,自己搭建个vue环境. 我用的是mac-air,自带brew很好用. 要安装vue 得先安装node.js的包管理工具npm. brew install npm 等待安装完成,查看node ...

  5. Babel+vscode实现APICloud开发中兼容ES6及以上代码

    本文出自APICloud官方论坛, 感谢论坛版主 penghuoyan 的分享.   使用APICloud开发时,考虑到兼容问题一直使用ES5开发,时间越久感觉越落后,整理了一个兼容ES6的开发环境, ...

  6. dp-01背包问题 (升级)

    The story happened long long ago. One day, Cao Cao made a special order called "Chicken Rib&quo ...

  7. 【转】.NET 在云原生时代的蜕变,让我在云时代脱颖而出

    原创:张善友 原文:https://www.cnblogs.com/shanyou/p/12198741.html .NET 生态系统是一个不断变化的生态圈,我相信它正在朝着一个伟大的方向发展.有了开 ...

  8. 域渗透之票据传递攻击(pass the ticket,ptt)

    票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法.PtT最常见的用途可能是使用黄金票据和白银票据,通过PtT访问主机相当简单. 1.ptt攻击的部分 就不是简单的N ...

  9. Redis系列-存储hash主要操作命令

    Redis系列-存储篇hash主要操作函数小结 hash是一些列key value(field value)的映射表.常常用其存储一些对象实例.相对于把一个对象的各个字段存储为string,存储为ha ...

  10. 个人任务day6

    今日计划: 学会将网页放到公用网络上,并生成快捷方式. 昨日成果:完成登录页面.