栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA 数组中元素的查找

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA 数组中元素的查找

JAVA 字符串查找
  • 查找一
  • 查找二

如何判断字符串相等

我们之前判断两个数是否相等使用的是 == 符号,我们判断字符串是否相等能否用==符号呢?我们来看一段代码。

输出结果

为什么呢?
是因为==比较的是两个对象的内存地址,我们知道变量被创建的时候就相当于在内存中开辟空间,而案例中str和str1就是占用的两块不同的空间,所以他们的内存地址是不一致的,在用 == 符号判断的时候就不相等了,即为false。

也许你会这样子尝试:

这个时候的输出结果就可能会让你感觉疑惑:

这又是什么原因呢?是因为定义String str = "hello"和String str1 = "hello"没有进行对象的创建,而是同时指向的一个对象,所以他们的内存地址是相同的。

在这里插入图片描述

问题来了,既然==不能用,那我们应该用什么呢?

在Java中判断两个字符串是否相等,需要使用equals方法;

语法:字符串1.equals(字符串2) 如果字符串1等于字符串2返回true,否则返回false;

输出: str与str1是否相等true

查找一

实现代码

在已经知道此人在队列想确认其在数组第几个位置时。

import java.util.Scanner;
public class Test9 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        //str为要查找的字符串
        String str = sc.next();

        
        //创建数组   arr  给数组赋值 {"张三","张三丰","张无忌","王二麻子","张富贵"}
        String[] arr = new String[]{"张三","张三丰","张无忌","王二麻子","张富贵"};
        for(int i = 0;i
            if(arr[i].equals(str)){
                System.out.printf("%s在数组的第%d个位置",str,i+1);
                break;
            }
        }
    }
}

实现效果

查找二

实现代码

在得知数组中有几人,但不清楚此人在此数组第几个位置,甚至不确定此人是否在数组当中。

import java.util.Scanner;
public class Test9 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        //str为要查找的字符串
        System.out.println("请输入姓名,在五人中找朋友:");
        String str = sc.next();

        
        //创建数组   arr  给数组赋值 {"张三","张三丰","张无忌","王二麻子","张富贵"}
        String[] arr = new String[]{"张三","张三丰","张无忌","王二麻子","张富贵"};
        for(int i = 0;i
            if(arr[i].equals(str)){
                System.out.printf("%s在数组的第%d个位置",str,i+1);
                break;
            }else if(!arr[i].equals(str)){
                System.out.printf("数组的第%d个位置没发现n",i+1);
                continue;
            }
        }
    }
}

实现代码


本人也是初学者抱着互相学习的态度与大家分享,如果大家有更好的解决方法还请不吝赐教,共同进步!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872775.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号