Java 数组、排序和查找(3)

简介: 数组、排序和查找复习

前言

数组、排序和查找复习完成。

一、数组查找

(1)查找分类

       在java中,常用的查找有两种:

1)顺序查找

2)二分查找

(2)顺序查找

案例:

有一个数列:{"java" , "python" , "golang"};

从键盘输入一组字符串 判断数列中是否包含此字符串(顺序查找)

要求:如果找到了,就提示找到,并给出下标值 ; 没找到就给出提示

思路:

1. 定义一个字符串数组

2. 接收用户输入,遍历数组,逐一比较,如果有,则提示信息,并退出

直接上代码:

importjava.util.Scanner;
publicclassSeqSearch {
publicstaticvoidmain(String[] args) {
//定义一个字符串数组String[] names= {"java" , "python" , "golang"};
ScannermyScanner=newScanner(System.in);
System.out.println("请输入字符串:");
StringfindName=myScanner.next();
//遍历数组,逐一比较,如果有则提示信息并退出//判断有没有成功可以用一个 索引/标识符/标记 等intindex=-1; //不能为 i - names.equals 间的数for(inti=0; i<names.length ; i++) {
//比较字符串  equals , 如果要找到名字就是当前元素if(findName.equals(names[i])) {
System.out.println("恭喜你找到了"+findName);
System.out.println("下标为:"+i);
// 将i保存到indexindex=i;
break; // 退出            }
        }
if(index==-1) {
System.out.println("sorry , 没有找到"+findName);
        }
    }
}

可以看出在找到字符串后便会提示找到并且输出该字符串的下标。

未找到便会提示 sorry,没有找到。

二、二维数组

(1)快速入门

/*

       请用二维数组输出如下图形

        0 0 0 0 0 0

        0 0 1 0 0 0

        0 2 0 3 0 0

        0 0 0 0 0 0

        */

publicclassTwoDimensionalArray01 {
publicstaticvoidmain(String[] args) {
int[][] arr= { {0, 0, 0, 0, 0, 0}, 
                        {0, 0, 1, 0, 0, 0}, 
                        {0, 2, 0, 3, 0, 0}, 
                        {0, 0, 0, 0, 0, 0} };
for(inti=0;i<arr.length; i++) {// 遍历二维数组的每个元素for(intj=0;j<arr[i].length; j++) {
System.out.print(arr[i][j] +" "); // 输出二维数组            }
System.out.println( );  // 换行        }
    }
}

分析:

1)arr[i] 表示一维数组的第i + 1个元素。比如:arr[0] : 一维数组的第一个元素

2)arr[i].length 会 得到对应的每个一维数组的长度

3)访问第 (i + 1) 个一维数组的第 (j + 1) 个值即 arr[i][j];

例如: 访问3行 4列,它是第三个一维数组的第四个值 arr[2][3];

相关文章
|
2月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
33 4
|
2月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
40 2
|
2月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
95 2
|
2月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
55 9
|
2月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
26 3
|
2月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
31 6
|
2月前
|
存储 搜索推荐 算法
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
29 1
|
2月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
34 1
|
2月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
18 1
|
2月前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
129 9
下一篇
DataWorks