Java编程:数组遍历的基本案例
一、一维数组遍历
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编程:数组遍历的基本案例相关推荐
- java for数组遍历数组_Java foreach操作(遍历)数组
语法: 我们分别使用 for 和 foreach 语句来遍历数组 运行结果: 练习: import java.util.Arrays; public class HelloWorld { public ...
- Java编程基础30——SE经典案例
方法的概念 class JavaObject {public static void main(String [] args) {int sum = add(10,20); //第一步:赋值调用,调用 ...
- Java基础-数组深入之经典案例实现-点名器
经典案例实现-点名器 运行代码,随机打印班级同学名字 //1.数组存储姓名,用String数据类型 String[] names={"杰克","戴维琼斯",&q ...
- java中数组遍历的三种方式
使用显示数组 for,for-each,和toString 题目描述 1.for循环遍历 程序: 运行结果: 2.foreach语句遍历 语法格式: 注: 运行结果: 程序: 运行结果: 3.Arra ...
- java .foreach数组遍历_foreach遍历ArrayList和数组
遍历ArrayList的方式有迭代器,foreach循环,get(i)等方式.其中迭代器和get方法都有具体的代码可以看到.foreach循环是怎么实现的呢? 下面通过反编译class的方式来看看JA ...
- java 字符串数组遍历_java数组遍历、java方法定义
1.遍历数组for与foreach String [] test = {"java","php","bootstrap","vu ...
- java集合的遍历删除
java集合的遍历删除. 案例 使用普通for循环遍历集合 //以下代码不会有任何问题List<Integer> list = new ArrayList();list.add(1);li ...
- java 中数组的创建 数组遍历 以及数组的输出(打印)
什么是数组? 如果我们需要创建一个 int 类型变量,那么我们只需要 int a; 如果我们需要创建五个 int 类型变量,那么我们只需要int a1; int a2; int a3; int a4; ...
- Java编程案例:买飞机票
编程案例: 一.目的 复习前半段课程学习的Java编程知识,能够使用所学的知识解决问题,提升同学们的编程能力. 二.涉及到的知识点 变量.数组. 运算符:基本运算符.关系运算符.逻辑运算符- 程序流程 ...
最新文章
- 03-Java的基础语法
- bzoj1007题解
- 分析堆栈溢出原因_我分析了有关堆栈溢出的所有书籍。 这是最受欢迎的。
- java内容置剪贴板
- Oracle online系列(上):Online Move Datafile
- mysql查询耗时_一种数据库高耗时查询的自动取消方法与流程
- 保送清华成博士,华为 12 年搞通信,他为何如此看待 5G ?| 人物志
- java+整合handwrite_解决java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad
- 中柏平板电脑刷linux,中柏平板电脑系统下载与安装教程
- 关于Mac OS的一些想法
- The Book of Mozilla
- windows10如何卸载edge浏览器 1809版本
- pthread_attr_setinheritsched,pthread_attr_setschedparam函数详解
- java-jar基础应用
- font-weight与ps字体粗细对应
- 燎原老师python_Python之火,可以燎原
- iOS--加载、滑动翻阅大量图片解决方案详解
- 计算机课真多,这节电脑课真爽啊
- 网络与信息安全笔记(更完)
- 如何恢复丢失的通讯录?
热门文章
- echarts初次渲染出不来效果
- oracle中的with函数
- 工作多年月薪不过万,30岁的我是否该转行
- 艾美捷抗人IL-12 (p70)单抗MT704相关参数说明
- 会议录音转文字app有哪些?教你三种录音转文字的方法
- html制作小车,HTML5 实现小车动画效果(Canvas/CSS3/JQuery) 付完整源码
- 自定义view实战(11):滑动解锁九宫格控件
- 服务器需要支持5g,5G时代需要什么样的服务器和数据中心?| MWC 2019
- 荣耀10xmax升级鸿蒙,荣耀10xmax和10x评测 荣耀X10 Max比X10“Max”在哪儿?
- 单周期CPU——verilog语言实现