数组girl_1={16.5f,19.7f,20.3f,11.11f,18.7f,14.55f}
Java代码实现:
1public class Main {
2 public static void main(String[] args) {
3 float[] girl_1 = {16.5f, 19.7f, 20.3f, 11.11f, 18.7f, 14.55f};
4
5 // 查找元素11.11f的索引
6 int index = -1;
7 for(int i = 0; i < girl_1.length; i++) {
8 if(girl_1[i] == 11.11f) {
9 index = i;
10 break;
11 }
12 }
13
14 // 打印结果
15 if(index != -1) {
16 System.out.println("元素11.11F在数组girl_1中的索引是:" + index);
17 } else {
18 System.out.println("元素11.11F不在数组girl_1中。");
19 }
20 }
21}
这段Java代码定义了一个浮点数数组girl_1,然后通过一个循环遍历数组来查找数值11.11f,找到后记录其索引并跳出循环。最后根据找到的索引值打印相应的信息。如果找不到该元素,程序将打印表示该元素不在数组中的消息。
疑问:为什么if条件是-1,不是-2呢
解答:选择 -1 作为未找到元素的标记,主要是因为它是负整数中比较自然的一个选择,而且在计算机科学中具有一定的惯例性意义:
约定俗成:在很多编程场景中,-1 常被用作错误代码或特殊标记,表示“未找到”、“失败”或“无效”的状态。这种用法广泛存在于各种编程语言和库函数中,比如C语言中的字符串查找函数strstr()在目标子串不存在时返回NULL,但在某些情况下,人们也会用整数指针表示索引,这时-1就成为了自然的选择。
避免混淆:数组的合法索引通常是非负整数,从0开始。使用 -1 作为一个特殊的值,可以确保它不会与任何实际数组位置混淆。选择 -2 或其他负数理论上也是可行的,但 -1 更直观且不易于在逻辑上与其他可能的索引值相混。
编程习惯:由于历史原因和广泛的使用,-1 已成为一种编程习惯,特别是在返回索引或位置相关的场景中,它能快速传达“未找到匹配项”的含义。
综上所述,选择 -1 是基于其作为约定、清晰度和历史习惯的考虑,并且在大多数情况下能够清晰地表达“未找到目标”的意图。
Python实现:
1girl_1 = [16.5, 19.7, 20.3, 11.11, 18.7, 14.55]
2
3# 查找元素11.11的索引
4index = girl_1.index(11.11)
5
6print("元素11.11F在数组girl_1中的索引是:", index)
这段代码首先定义了一个列表girl_1,然后使用index()方法查找数值11.11在列表中的位置(索引),最后打印出该索引值。注意,在Python中,索引是从0开始的,因此如果找到该元素,其索引将是3。