黑马程序员技术交流社区

标题: java API问题 [打印本页]

作者: 徐文豪    时间: 2015-5-26 22:45
标题: java API问题
public static void main(String[] args) {
        int [] arr = { 37, 92, 54, 18, 76};

       
//        第一种方法
        for (int x = 0; x < arr.length; x++) {
                if (arr[x] == 18) {
                        System.out.println("18的索引值是:"+x);
                }
        }
//        第二种方法
        System.out.println(Arrays.toString(arr).indexOf("18"));
第二种方法 为什么输出的是13?  这样做行不行?  还有别的什么方法吗?


作者: Amu    时间: 2015-5-26 22:47
可以用二分查找法那样更有效率啊
作者: 徐文豪    时间: 2015-5-26 23:06
Amu 发表于 2015-5-26 22:47
可以用二分查找法那样更有效率啊

用二分要先排序   排完序之后数组跟原来的都乱了   角标位置都变了
作者: 仅此一抹心醉    时间: 2015-5-26 23:09
使用System.out.println(Arrays.toString(arr));这个方法获得是一个字符串,[37, 92, 54, 18, 76],jvm会认为[是一个字符,逗号是一个字符,空格也是一个字符,你查找18这个字符,jvm就会查找到1
这个字符第一次出现的位置,然后返回了
作者: lizhi    时间: 2015-5-26 23:12
这样肯定不行的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2