一、一维数组遍历

1、数组遍历(依次输出数组中的每一个元素)

给定一个数组 int [] arr  = {44,6,66,7,965,};

 public static void main(String[] args) {//数组遍历(依次输出数组中的每一个元素)int [] arr  = {44,6,66,7,965,};System.out.print("[");//该方法为反向遍历,也可运用到元素逆序for (int i = arr.length-1; i >= 0; i--) {System.out.print(arr[i]+",");}System.out.print("]");

可以得到结果

[965,7,66,6,44,]

2、数组获取最值(获取数组中的最大值最小值)

public static void main(String[] args) {int [] arr  = {44,6,66,7,965,};//调用方法返回最值int max = getMax(arr);System.out.println("max="+max);int min = getMin(arr);System.out.println("min="+min);}public static int getMin(int[] arr) {int min = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i]<min) {min = arr[i]; }}return min;}public static int getMax(int[] arr) {int max =arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i]>max) {max=arr[i];}}return max;}

得到结果

max=965
min=6

3、数组排序和二分查找

二分查找需要数组是有序的

二分查找的基本思路:

获取最大和最小索引,求出中间元素的索引mid;

判断:若得到查找值key= mid,则满足条件,停止循环输出对应索引;

如得到key>mid,则取后半段,最新小索引为mid+1;

若得到key< mid ,则取前半段,新最大索引为mid-1;

若不存在则输出错误结果;

首先把数组进行排序,我们使用冒泡排序

public static void main(String[] args) {int [] arr = {4,874,41,44,81,478};//调用方法maopao(arr);//遍历冒泡排序后的数组System.out.print("排序后为:"+"[");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+",");}System.out.println("]");Scanner scanner = new Scanner(System.in);System.out.println("请输入需要查询的元素:");int index = scanner.nextInt() ;int min = 0;int max = arr.length-1;while (min <= max) {int mid =( max+min)/2;if (index == arr[mid]) {System.out.println(index+"的对应索引为:"+mid);break;} else if (index > arr[mid]) {min = mid +1;}else if (index < arr [mid]) {max = mid -1;}}if (max<min) {System.out.println("不存在");}
}public static void maopao(int[] arr) {for (int i = 0; i < arr.length-1; i++) {for (int j = 0; j < arr.length-1; j++) {if (arr[j] > arr[j+1]) {int t  = arr[j];arr[j]= arr[j+1];arr[j+1] = t;} }}  }

我们选择44为查询元素:

排序后为:[4,41,44,81,478,874,]
请输入需要查询的元素:
44
44的对应索引为:2

4、杨辉三角(二维数组练习)

分析:

A:如果是n行,那么最后一行是n列。

B:每一行的第一列和最后一列的元素是1。

C:规律:每一行的第二列开始数据是:上一行的上一列+上一行的同一列

D:把二维数组组成,然后遍历即可。

 public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入需要的行数:");int n = sc.nextInt();//确定n行n列的杨辉三角,建立一个二维数组int [][] arr = new int [n][n];for (int x = 0; x < n; x++) {//确定两边最外面的数为1arr[x][0]=1;arr[x][x]=1;}//从第三行开始计算for (int x = 2; x < n; x++) {//从第二列开始计算,两边数为1,计算时要减去for (int y = 1; y <= x-1; y++) {arr[x][y] = arr [x-1][y-1]+arr[x-1][y];}}//输出杨辉三角System.out.println("-----------------");for (int x = 0; x < arr.length; x++) {for (int y = 0; y <= x; y++) {System.out.print(arr[x][y]+"  ");              }System.out.println();}}

我们打印一个四行的杨辉三角

请输入需要的行数:
4
-----------------
1  
1  1  
1  2  1  
1  3  3  1

Java编程:数组遍历的基本案例相关推荐

  1. java for数组遍历数组_Java foreach操作(遍历)数组

    语法: 我们分别使用 for 和 foreach 语句来遍历数组 运行结果: 练习: import java.util.Arrays; public class HelloWorld { public ...

  2. Java编程基础30——SE经典案例

    方法的概念 class JavaObject {public static void main(String [] args) {int sum = add(10,20); //第一步:赋值调用,调用 ...

  3. Java基础-数组深入之经典案例实现-点名器

    经典案例实现-点名器 运行代码,随机打印班级同学名字 //1.数组存储姓名,用String数据类型 String[] names={"杰克","戴维琼斯",&q ...

  4. java中数组遍历的三种方式

    使用显示数组 for,for-each,和toString 题目描述 1.for循环遍历 程序: 运行结果: 2.foreach语句遍历 语法格式: 注: 运行结果: 程序: 运行结果: 3.Arra ...

  5. java .foreach数组遍历_foreach遍历ArrayList和数组

    遍历ArrayList的方式有迭代器,foreach循环,get(i)等方式.其中迭代器和get方法都有具体的代码可以看到.foreach循环是怎么实现的呢? 下面通过反编译class的方式来看看JA ...

  6. java 字符串数组遍历_java数组遍历、java方法定义

    1.遍历数组for与foreach String [] test =  {"java","php","bootstrap","vu ...

  7. java集合的遍历删除

    java集合的遍历删除. 案例 使用普通for循环遍历集合 //以下代码不会有任何问题List<Integer> list = new ArrayList();list.add(1);li ...

  8. java 中数组的创建 数组遍历 以及数组的输出(打印)

    什么是数组? 如果我们需要创建一个 int 类型变量,那么我们只需要 int a; 如果我们需要创建五个 int 类型变量,那么我们只需要int a1; int a2; int a3; int a4; ...

  9. Java编程案例:买飞机票

    编程案例: 一.目的 复习前半段课程学习的Java编程知识,能够使用所学的知识解决问题,提升同学们的编程能力. 二.涉及到的知识点 变量.数组. 运算符:基本运算符.关系运算符.逻辑运算符- 程序流程 ...

最新文章

  1. 03-Java的基础语法
  2. bzoj1007题解
  3. 分析堆栈溢出原因_我分析了有关堆栈溢出的所有书籍。 这是最受欢迎的。
  4. java内容置剪贴板
  5. Oracle online系列(上):Online Move Datafile
  6. mysql查询耗时_一种数据库高耗时查询的自动取消方法与流程
  7. 保送清华成博士,华为 12 年搞通信,他为何如此看待 5G ?| 人物志
  8. java+整合handwrite_解决java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad
  9. 中柏平板电脑刷linux,中柏平板电脑系统下载与安装教程
  10. 关于Mac OS的一些想法
  11. The Book of Mozilla
  12. windows10如何卸载edge浏览器 1809版本
  13. pthread_attr_setinheritsched,pthread_attr_setschedparam函数详解
  14. java-jar基础应用
  15. font-weight与ps字体粗细对应
  16. 燎原老师python_Python之火,可以燎原
  17. iOS--加载、滑动翻阅大量图片解决方案详解
  18. 计算机课真多,这节电脑课真爽啊
  19. 网络与信息安全笔记(更完)
  20. 如何恢复丢失的通讯录?

热门文章

  1. echarts初次渲染出不来效果
  2. oracle中的with函数
  3. 工作多年月薪不过万,30岁的我是否该转行
  4. 艾美捷抗人IL-12 (p70)单抗MT704相关参数说明
  5. 会议录音转文字app有哪些?教你三种录音转文字的方法
  6. html制作小车,HTML5 实现小车动画效果(Canvas/CSS3/JQuery) 付完整源码
  7. 自定义view实战(11):滑动解锁九宫格控件
  8. 服务器需要支持5g,5G时代需要什么样的服务器和数据中心?| MWC 2019
  9. 荣耀10xmax升级鸿蒙,荣耀10xmax和10x评测 荣耀X10 Max比X10“Max”在哪儿?
  10. 单周期CPU——verilog语言实现