黑马程序员-Java语法基础【2】(流程控制语句,方法,数组)

本文详细介绍了Java编程中的流程控制语句(if、switch、for、while、do...while)和方法概念、定义、重载及实践案例。同时涵盖了数组的基本概念、初始化、操作和常见问题,包括二维数组的定义与使用。并通过实例演示了如何打印99乘法表、实现数组元素查找、数组反转等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



一、流程控制语句

1、选择控制语句(if)

选择结构也被称为分支结构,选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码,Java语言提供了两种选择结构语句if语句和switch语句

if语句有三种格式:

     a:格式:

                    if(条件表达式) {

                          语句体     
                   }        

 执行流程:

首先判断条件表达式,看其结果是true还是false

 如果是true就执行语句体

如果是false就不执行语句体

 b:格式:

                if(条件表达式) {

语句体1

}else{

语句体2

}

执行流程:

首先判断条件表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

c:格式:

                if(条件表达式1) {

      语句体1;

}else  if (条件表达式2) {

           语句体2;

}

.......

else {

         语句体n+1;

}

执行流程:

首先判断条件表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断条件表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断条件表达式…看其结果是true还是false

如果没有任何条件表达式为true,就执行语句体n+1.

2、选择控制语句(switch)

格式:

switch(表达式) {

                     case 值1:

                            语句体1;

                            break;

                     case 值2:

                            语句体2;

                            break;

                     ...

                     default:

                            语句体n+1;

                            break;

              }

格式的解释说明:

       switch:表示这里使用的是switch语句。

switch:后面的小括号内通常是一个变量,是后面要判断的值。

       case:表示这里就是选项的值,它后面的值用来和表达式的值进行匹配。

       break:跳出switch语句。

default:它相当于if语句的else.当所有的case和表达式都不匹配的时候,就走default的内容。

执行流程:

        1:首先计算表达式的值

      2:和每一个case进行匹配,

如果有,就执行对应的语句体,

看到break就结束.

       3:如果没有匹配到,

就执行default的语句体n+1

注意事项:

1:switch(表达式):表达式可以取byte,short,int,char

              JDK5以后可以是枚举

                JDK7以后可以是字符串

       2:case后面只能是常量,不能是变量,而且case后面的值是不能够重复的

case没有先后顺序,所有的情况都是并列的

       3:default可以省略吗?

          可以省略,但是不建议,因为它的作用是对不正确的情况给出提示.

       4.:break可以省略吗?

           可以省略,但是结果可能不是我们想要的.

              会出现一个现象:case穿透.所以不建议省略.

       5.default一定要在最后吗?

              不是,可以在任意位置.但是建议在最后.

       6:switch语句的结束条件

              a:遇到break就结束了

              b:执行到末尾就结束了

3、循环控制语句(for)

格式:

for(初始化表达式①;条件表达式②;增量表达式④){

                     循环体③

}

  执行顺序: ①②③④>②③④>②③④… ②不满足为止

注意事项:

a:条件表达式结果必须是boolean类型

b:循环体如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略.建议永远不要省略.

c:一般来说:有左大括号就没有分号,有分号就没有左大括号

4、循环控制语句(while)

格式:

a:基本格式:

while(条件表达式){

循环体;

}

b:扩展格式:

初始化表达式;

while(条件表达式){

循环体;

增量表达式;

}

5、循环控制语句(do......while)

基本格式:

do{

循环体;

}while(条件表达式);

扩展格式:

初始化表达式;

do{

循环体;

增量表达式;

}while(条件表达式);


二、方法

定义:方法就是完成特定功能的代码块

格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;

 }

1、方法格式解释

修饰符 如:public static

返回值类型 :用于限定返回值的数据类型

方法名:一个名称,为了方便我们调用方法

参数类型:限定调用方法时传入参数的数据类型

参数名 :是一个变量,接收调用方法时传入的参数

方法体: 完成功能的代码

return :结束方法以及返回方法指定类型的值 

返回值: 程序被return带回的结果,返回给调用者

2、特点:

定义方法可以将功能代码进行封装,便于对该功能进行复用。

方法只有被调用才会被执行。

方法与方法是平级关系,不能嵌套定义

方法的出现提高了代码的复用性。
对于方法没有具体返回值的情况,返回值类型用关键字void表示,那么该方法中的return语句如果在最后一行可以省略不写。

3、方法重载:

方法重载概述:

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

方法重载特点:

与返回值类型无关,只看方法名和参数列表

在调用时,虚拟机通过参数列表的不同来区分同名方法

三、方法练习

1、打印99乘法表

[html]  view plain copy
  1. /*  
  2.   需求:打印99乘法表  
  3.   思路:使用for循环嵌套结构  
  4.   步骤:  
  5.         1、先用一个for循环控制打印的行数  
  6.         2、在嵌套一个for循环的确打印行数  
  7.         3、在嵌套的循环体中输出结果  
  8.   
  9. */  
  10. class ChengFaTest   
  11. {  
  12.     public static void main(String[] args)   
  13.     {  
  14.         chengFa();  
  15.     }  
  16.     public static void chengFa()  
  17.     {  
  18.         //外循环控制函数  
  19.         for(int i=1;i<=9;i++)  
  20.         {  
  21.             //内循环控制列数  
  22.             for(int j=1;j<=i;j++)  
  23.             {  
  24.                 //输出两数的乘积  
  25.                 System.out.print(j+"*"+i+"="+i*j+"\t");  
  26.             }  
  27.             //换行  
  28.             System.out.println();  
  29.         }  
  30.     }  
  31. }  

运行结果:


2、方法重载练习案例

[java]  view plain copy
  1. /* 
  2.   需求:分别求两个整数,小数和 
  3.   思路:使用方法重载 
  4.   步骤: 
  5.         1、写一个方法sum(),然后调用这个方法求和 
  6.         2、根据参数类型写出对象sum()方法 
  7.         3、输入结果查看 
  8. */  
  9. class ChongZhai   
  10. {  
  11.     public static void main(String[] args)   
  12.     {  
  13.         int sum1=sum(10,11);//两个整数  
  14.         int sum4=sum(1,2,3);//三个整数  
  15.         float sum2=sum(1.0F,43.0F);//两个float类型  
  16.         double sum3=sum(234.1,22.1);//两个double类型  
  17.           
  18.         System.out.println(sum1);  
  19.         System.out.println(sum2);  
  20.         System.out.println(sum3);  
  21.         System.out.println(sum4);  
  22.   
  23.     }  
  24.     //根据传的参数不同,调用对应的方法  
  25.     public static int sum(int a,int b)  
  26.     {  
  27.         //参数是整数  
  28.         return a+b;  
  29.     }  
  30.     public static int sum(int a,int b,int c)  
  31.     {  
  32.         //三个参数  
  33.         return a+b+c;  
  34.     }  
  35.     public static float sum(float a,float b)  
  36.     {  
  37.         //两个float  
  38.         return a+b;  
  39.     }  
  40.     public static double sum(double a,double b)  
  41.     {  
  42.         //两个double  
  43.         return a+b;  
  44.     }  
  45. }  
运行结果:



四、数组

1、数组的概念及格式

数组的概念:

数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。

数组既可以存储基本数据类型,也可以存储引用数据类型。

数组的定义格式:

格式1:数据类型[] 数组名;

 int[] arr ;

格式2:数据类型 数组名[];

2、数组初始化概述

Java中的数组必须先初始化,然后才能使用。

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

数组的初始化方式:

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。

静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。

3、数组的内存图解

数组初始化的时候是在堆内存里面开辟一片空间,用来存放数组的值,在栈创建对象存放地址指向堆内存。



4、数组操作常见的两个问题

a:数组索引越界

ArrayIndexOutOfBoundsException

访问到了数组中的不存在的索引时发生

b:空指针异常

NullPointerException

数组引用没有指向实体,却在操作实体中的元素时。

5、二维数组

格式1

数据类型[][] 变量名 = new 数据类型[m][n];

m表示这个二维数组有多少个一维数

n表示每一个一维数组的元素个数

举例

int[][] arr = new int[3][2];

定义了一个二维数组arr

这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]

每个一维数组有2个元素,可以通过arr[m][n]来获取

   表示获取第m+1个一维数组的第n+1个元素

格式2

数据类型[][] 变量名 = new 数据类型[m][];

m表示这个二维数组有多少个一维数组

这一次没有直接给出一维数组的元素个数,可以动态的给出。

举例:

int[][] arr = new int[3][];

arr[0] = new int[2];

arr[1] = new int[3]

arr[2] = new int[1];

格式3

数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};

简化版格式:

数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};

举例:

int[][] arr =  {{1,2,3},{4,5},{6}};

6、数组常见操作

a:获取一维数组的最值

[java]  view plain copy
  1. public class test {    
  2.     
  3.     public static void main(String[] args) {    
  4.         int arr[]={1,2,3,4,5,6,7,8,9,10};    
  5.         int max=0;    
  6.         //遍历数组  
  7.         for(int i=1;i<arr.length;i++){    
  8.                 if(arr[max]<arr[i]){    
  9.                     //判断找出最大的并返回索引  
  10.                     max=i;    
  11.                 }    
  12.             }    
  13.         System.out.println(arr[max]);  //输出最大值  
  14.     }    
  15. }    

b:数组反转

[java]  view plain copy
  1. public static void reverse(int[] arr){  
  2.         //反转    
  3.   
  4.         //定义角标  
  5.         int start = 0;  
  6.         int end = arr.length -1;  
  7.   
  8.         while ( start < end ){  
  9.   
  10.             //对调   
  11.             int temp = arr[start];  
  12.             arr[start] = arr[end];  
  13.             arr[end] =temp;  
  14.   
  15.             start++;  
  16.             end--;  
  17.         }  
  18.         return ;  
  19.     }  
  20.   
  21.     public static void printArray(int[] arr){  
  22.         System.out.print("[");  
  23.         for (  int x=0; x<arr.length; x++){  
  24.             //判断   
  25.             if ( x!= arr.length -1){  
  26.                 //x不是最后一个元素  
  27.                 System.out.print(arr[x] +",");   
  28.             }else{  
  29.                 System.out.print(arr[x]);  
  30.             }  
  31.         }  
  32.         System.out.print("]");  
  33.     }  
  34. }  

c:数组元素查找
[java]  view plain copy
  1. /* 
  2.     数组元素查找(查找指定元素第一次在数组中出现的索引)   
  3. */  
  4.   
  5. class  ArrayDemo6{  
  6.   
  7.     public static void main(String[] args){  
  8.   
  9.         int[] arr = {1,2,3,4,5,2,3,42342,2,3,244,657,763,4,768,92,3,4};  
  10.   
  11.         int index = getIndex(arr,2444);  
  12.         //判断index   
  13.         if (index < 0 ){  
  14.             System.out.println("您想查找的元素的并没有");  
  15.         }else{  
  16.             System.out.println("您想查找的元素的角标为:" + index);  
  17.         }  
  18.     }  
  19.   
  20.     /* 
  21.         两个明确: 
  22.             返回值类型: int 
  23.             参数列表: int[] ,int num  
  24.     */  
  25.   
  26.     public static int getIndex(int[] arr,int num){  
  27.         //定义索引变量   
  28.         int index = -1;  //-1表示就是没找到   
  29.   
  30.         //遍历   
  31.         for (int x=0; x<arr.length; x++){  
  32.             //比较   
  33.             if (num == arr[x]){  
  34.                 System.out.println("找到了!!!");  
  35.                 index = x;  // 赋值   
  36.                 return index; //找到了就结束程序,return   
  37.             }  
  38.         }  
  39.   
  40.         return index; // 缺少返回语句   
  41.     }  
  42. }  

一、流程控制语句

1、选择控制语句(if)

选择结构也被称为分支结构,选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码,Java语言提供了两种选择结构语句if语句和switch语句

if语句有三种格式:

     a:格式:

                    if(条件表达式) {

                          语句体     
                   }        

 执行流程:

首先判断条件表达式,看其结果是true还是false

 如果是true就执行语句体

如果是false就不执行语句体

 b:格式:

                if(条件表达式) {

语句体1

}else{

语句体2

}

执行流程:

首先判断条件表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

c:格式:

                if(条件表达式1) {

      语句体1;

}else  if (条件表达式2) {

           语句体2;

}

.......

else {

         语句体n+1;

}

执行流程:

首先判断条件表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断条件表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断条件表达式…看其结果是true还是false

如果没有任何条件表达式为true,就执行语句体n+1.

2、选择控制语句(switch)

格式:

switch(表达式) {

                     case 值1:

                            语句体1;

                            break;

                     case 值2:

                            语句体2;

                            break;

                     ...

                     default:

                            语句体n+1;

                            break;

              }

格式的解释说明:

       switch:表示这里使用的是switch语句。

switch:后面的小括号内通常是一个变量,是后面要判断的值。

       case:表示这里就是选项的值,它后面的值用来和表达式的值进行匹配。

       break:跳出switch语句。

default:它相当于if语句的else.当所有的case和表达式都不匹配的时候,就走default的内容。

执行流程:

        1:首先计算表达式的值

      2:和每一个case进行匹配,

如果有,就执行对应的语句体,

看到break就结束.

       3:如果没有匹配到,

就执行default的语句体n+1

注意事项:

1:switch(表达式):表达式可以取byte,short,int,char

              JDK5以后可以是枚举

                JDK7以后可以是字符串

       2:case后面只能是常量,不能是变量,而且case后面的值是不能够重复的

case没有先后顺序,所有的情况都是并列的

       3:default可以省略吗?

          可以省略,但是不建议,因为它的作用是对不正确的情况给出提示.

       4.:break可以省略吗?

           可以省略,但是结果可能不是我们想要的.

              会出现一个现象:case穿透.所以不建议省略.

       5.default一定要在最后吗?

              不是,可以在任意位置.但是建议在最后.

       6:switch语句的结束条件

              a:遇到break就结束了

              b:执行到末尾就结束了

3、循环控制语句(for)

格式:

for(初始化表达式①;条件表达式②;增量表达式④){

                     循环体③

}

  执行顺序: ①②③④>②③④>②③④… ②不满足为止

注意事项:

a:条件表达式结果必须是boolean类型

b:循环体如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略.建议永远不要省略.

c:一般来说:有左大括号就没有分号,有分号就没有左大括号

4、循环控制语句(while)

格式:

a:基本格式:

while(条件表达式){

循环体;

}

b:扩展格式:

初始化表达式;

while(条件表达式){

循环体;

增量表达式;

}

5、循环控制语句(do......while)

基本格式:

do{

循环体;

}while(条件表达式);

扩展格式:

初始化表达式;

do{

循环体;

增量表达式;

}while(条件表达式);


二、方法

定义:方法就是完成特定功能的代码块

格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;

 }

1、方法格式解释

修饰符 如:public static

返回值类型 :用于限定返回值的数据类型

方法名:一个名称,为了方便我们调用方法

参数类型:限定调用方法时传入参数的数据类型

参数名 :是一个变量,接收调用方法时传入的参数

方法体: 完成功能的代码

return :结束方法以及返回方法指定类型的值 

返回值: 程序被return带回的结果,返回给调用者

2、特点:

定义方法可以将功能代码进行封装,便于对该功能进行复用。

方法只有被调用才会被执行。

方法与方法是平级关系,不能嵌套定义

方法的出现提高了代码的复用性。
对于方法没有具体返回值的情况,返回值类型用关键字void表示,那么该方法中的return语句如果在最后一行可以省略不写。

3、方法重载:

方法重载概述:

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

方法重载特点:

与返回值类型无关,只看方法名和参数列表

在调用时,虚拟机通过参数列表的不同来区分同名方法

三、方法练习

1、打印99乘法表

[html]  view plain copy
  1. /*  
  2.   需求:打印99乘法表  
  3.   思路:使用for循环嵌套结构  
  4.   步骤:  
  5.         1、先用一个for循环控制打印的行数  
  6.         2、在嵌套一个for循环的确打印行数  
  7.         3、在嵌套的循环体中输出结果  
  8.   
  9. */  
  10. class ChengFaTest   
  11. {  
  12.     public static void main(String[] args)   
  13.     {  
  14.         chengFa();  
  15.     }  
  16.     public static void chengFa()  
  17.     {  
  18.         //外循环控制函数  
  19.         for(int i=1;i<=9;i++)  
  20.         {  
  21.             //内循环控制列数  
  22.             for(int j=1;j<=i;j++)  
  23.             {  
  24.                 //输出两数的乘积  
  25.                 System.out.print(j+"*"+i+"="+i*j+"\t");  
  26.             }  
  27.             //换行  
  28.             System.out.println();  
  29.         }  
  30.     }  
  31. }  

运行结果:


2、方法重载练习案例

[java]  view plain copy
  1. /* 
  2.   需求:分别求两个整数,小数和 
  3.   思路:使用方法重载 
  4.   步骤: 
  5.         1、写一个方法sum(),然后调用这个方法求和 
  6.         2、根据参数类型写出对象sum()方法 
  7.         3、输入结果查看 
  8. */  
  9. class ChongZhai   
  10. {  
  11.     public static void main(String[] args)   
  12.     {  
  13.         int sum1=sum(10,11);//两个整数  
  14.         int sum4=sum(1,2,3);//三个整数  
  15.         float sum2=sum(1.0F,43.0F);//两个float类型  
  16.         double sum3=sum(234.1,22.1);//两个double类型  
  17.           
  18.         System.out.println(sum1);  
  19.         System.out.println(sum2);  
  20.         System.out.println(sum3);  
  21.         System.out.println(sum4);  
  22.   
  23.     }  
  24.     //根据传的参数不同,调用对应的方法  
  25.     public static int sum(int a,int b)  
  26.     {  
  27.         //参数是整数  
  28.         return a+b;  
  29.     }  
  30.     public static int sum(int a,int b,int c)  
  31.     {  
  32.         //三个参数  
  33.         return a+b+c;  
  34.     }  
  35.     public static float sum(float a,float b)  
  36.     {  
  37.         //两个float  
  38.         return a+b;  
  39.     }  
  40.     public static double sum(double a,double b)  
  41.     {  
  42.         //两个double  
  43.         return a+b;  
  44.     }  
  45. }  
运行结果:



四、数组

1、数组的概念及格式

数组的概念:

数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。

数组既可以存储基本数据类型,也可以存储引用数据类型。

数组的定义格式:

格式1:数据类型[] 数组名;

 int[] arr ;

格式2:数据类型 数组名[];

2、数组初始化概述

Java中的数组必须先初始化,然后才能使用。

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

数组的初始化方式:

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。

静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。

3、数组的内存图解

数组初始化的时候是在堆内存里面开辟一片空间,用来存放数组的值,在栈创建对象存放地址指向堆内存。



4、数组操作常见的两个问题

a:数组索引越界

ArrayIndexOutOfBoundsException

访问到了数组中的不存在的索引时发生

b:空指针异常

NullPointerException

数组引用没有指向实体,却在操作实体中的元素时。

5、二维数组

格式1

数据类型[][] 变量名 = new 数据类型[m][n];

m表示这个二维数组有多少个一维数

n表示每一个一维数组的元素个数

举例

int[][] arr = new int[3][2];

定义了一个二维数组arr

这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2]

每个一维数组有2个元素,可以通过arr[m][n]来获取

   表示获取第m+1个一维数组的第n+1个元素

格式2

数据类型[][] 变量名 = new 数据类型[m][];

m表示这个二维数组有多少个一维数组

这一次没有直接给出一维数组的元素个数,可以动态的给出。

举例:

int[][] arr = new int[3][];

arr[0] = new int[2];

arr[1] = new int[3]

arr[2] = new int[1];

格式3

数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};

简化版格式:

数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};

举例:

int[][] arr =  {{1,2,3},{4,5},{6}};

6、数组常见操作

a:获取一维数组的最值

[java]  view plain copy
  1. public class test {    
  2.     
  3.     public static void main(String[] args) {    
  4.         int arr[]={1,2,3,4,5,6,7,8,9,10};    
  5.         int max=0;    
  6.         //遍历数组  
  7.         for(int i=1;i<arr.length;i++){    
  8.                 if(arr[max]<arr[i]){    
  9.                     //判断找出最大的并返回索引  
  10.                     max=i;    
  11.                 }    
  12.             }    
  13.         System.out.println(arr[max]);  //输出最大值  
  14.     }    
  15. }    

b:数组反转

[java]  view plain copy
  1. public static void reverse(int[] arr){  
  2.         //反转    
  3.   
  4.         //定义角标  
  5.         int start = 0;  
  6.         int end = arr.length -1;  
  7.   
  8.         while ( start < end ){  
  9.   
  10.             //对调   
  11.             int temp = arr[start];  
  12.             arr[start] = arr[end];  
  13.             arr[end] =temp;  
  14.   
  15.             start++;  
  16.             end--;  
  17.         }  
  18.         return ;  
  19.     }  
  20.   
  21.     public static void printArray(int[] arr){  
  22.         System.out.print("[");  
  23.         for (  int x=0; x<arr.length; x++){  
  24.             //判断   
  25.             if ( x!= arr.length -1){  
  26.                 //x不是最后一个元素  
  27.                 System.out.print(arr[x] +",");   
  28.             }else{  
  29.                 System.out.print(arr[x]);  
  30.             }  
  31.         }  
  32.         System.out.print("]");  
  33.     }  
  34. }  

c:数组元素查找
[java]  view plain copy
  1. /* 
  2.     数组元素查找(查找指定元素第一次在数组中出现的索引)   
  3. */  
  4.   
  5. class  ArrayDemo6{  
  6.   
  7.     public static void main(String[] args){  
  8.   
  9.         int[] arr = {1,2,3,4,5,2,3,42342,2,3,244,657,763,4,768,92,3,4};  
  10.   
  11.         int index = getIndex(arr,2444);  
  12.         //判断index   
  13.         if (index < 0 ){  
  14.             System.out.println("您想查找的元素的并没有");  
  15.         }else{  
  16.             System.out.println("您想查找的元素的角标为:" + index);  
  17.         }  
  18.     }  
  19.   
  20.     /* 
  21.         两个明确: 
  22.             返回值类型: int 
  23.             参数列表: int[] ,int num  
  24.     */  
  25.   
  26.     public static int getIndex(int[] arr,int num){  
  27.         //定义索引变量   
  28.         int index = -1;  //-1表示就是没找到   
  29.   
  30.         //遍历   
  31.         for (int x=0; x<arr.length; x++){  
  32.             //比较   
  33.             if (num == arr[x]){  
  34.                 System.out.println("找到了!!!");  
  35.                 index = x;  // 赋值   
  36.                 return index; //找到了就结束程序,return   
  37.             }  
  38.         }  
  39.   
  40.         return index; // 缺少返回语句   
  41.     }  
  42. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值