方法与数组

来源:互联网 发布:阿里云虚拟主机 php 编辑:程序博客网 时间:2024/05/22 04:38

                   ------- android培训、java培训、期待与您交流! ---------- 

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

方法的结构

以方法为例

public static void main(String[] args){方法体; }

public static 修饰符

void 方法的返回值类型

main 方法名

(String[] args)方法的参数

 

方法的组成  

[修饰符 n] 方法的返回值类型方法名([参数列表 n]){

                           方法体

                            return;如果有返回值类型必须有return.

                     }

使用方法的注意事项

                     1.方法如果想要被执行,必须调用它

                     2.在类中我们可以有多个方法,方法是没顺序的,所有的执行都是从主方法开始。

                     3.java中方法要存在于类体内。绝对不允许在方法内嵌套方法

                     4.方法执行后回到方法的被调用处。

参数列表:它是用来接收外部数据以完成方法的功能.

      

参数声明时可以有几个,都可以是什么类型?

参数的个数无限制,参数的类型可以是java的任意数据类型。

       如果有多个参数,那么它们之间使用逗号(,)分开,并且每一个参数都要定义类型。

在调用方法时,如果方法有参数,必须传参,并且顺序要一致,类型要匹配.

 

实参:在调用方法是传递的参数.       

形参:在声明方法是定义的参数

我们在调用方法的过程中,是将实参赋值给形参

             

我们在声明方法时,什么时候需要参数?

             当我们的方法完成功能时,是否需要外部数据参与。

             如果需要外部数据就需要定义参数,如果不需要,那么就可以没有参数.因为变量是有作用范围的,如果想在某个方法内使用其它范围的数据。

       返回值类型

             如果一个方法没有返回值,那么必须声明成 void

             如果有返回值,可以声明成相应的类型,可以是java的任意类型

             如果有返回值,在方法体内必须有return关键字将值返回。

怎样使用返回值类型

                     1.在方法声明时定义返回值类型 类型是什么,要根据返回的具体的值分析

                     2.知道了返回值类型,我们先在方法体内声明一个与其类型匹配的变量来接收功能执行后的结果.

                     3.将这个变量返回   return变量名;

                     4.方法使用return返回后,我们可以在调用方法处接收方法的返回值。

什么时候方法要有返回值

一般情况下,如果一个方法完成功能后,得到一个结果,这个结果,我们需要在外部去使用,

                    这时这个方法就需要有返回值.

return 注意事项

                     return下面不能在有语句

                如果一个方法没有返回值类型,那么在方法内可以使用return。这种操作一般情况都是让方法结束。

 

在定义方法时两个明确

                     1.明确参数   方法是否需要外部数据

                     2.明确返回值 方法执行后是否有结果,并且这个结果外部是否要使用。

       方法重载

             在一个类内具有相同的方法名,参数的个数,类型,类型排列顺序不同可以形成方法重载.

              方法的返回值类型不同不可以做为判断重载的条件。

我们在定义名字时一直强调的  "见名知意"

为什么要使用重载?提高代码的阅读性,优化程序设计

 

数组是什么?

             数组是容器,它是用来数据。

             使用数组我们是将有关联的数据进行统一管理,这样就可以使用数组。

数组的特点

              1.数组中的元素类型一致。2.数组的长度固定。3.数组中的元素是有顺序的。

怎样创建数组

1.动态*在开发中动态创建比静态创建应用广泛。

                    

                    元素类型 数组名=new元素类型[长度];

 

                    长度只能是int类型 可以是0

2.静态

                    格式1

                    元素类型[]数组名={元素1,元素2,.....}

                    格式2

                    元素类型[]数组名=new元素类型[]{元素1,元素2,.....};

 

             创建数组示例

int[] arr=new int[5];

             

              /*

                    上面作用是:声明一个可以装入5int类型数据的数组。

                    等号左边

                     int[]arr

 

                            int----->数组中元素的类型

 

                            []------>代表它是一个数组

 

                            arr----->数组名

 

                    等号右边

                     newint[5];

 

                            new---->在内存中开辟空间 

 

                            int---->数组中元素的类型

                           

                            [5]----->代表数组的长度为5,数组最多可以装入5int类型数据。

 

              */

操作数组(操作数组中的元素)

 

             通过下标来操作数组中的元素。

 

             怎么使用下标

                    数组名[下标] ------>得到数组中指定位置上的元素.

             数组的下标最大值是数组长度-1 

             数组长度是使用  数组名.length得到,返回的是一个int值。

 

用下标操作数组元素时,不仅可以取值,还可以赋值。

 

        初学者经常错误.在对元素进行操作时,就不要在加类型了。 int arr[0]=10;

 

        以后一提到数组,马上想到  for+下标.

java的内存(栈和堆)的特点?

 1,栈内存中存放局部变量,当不在使用这些变量时,马上自动清理掉。
        2,堆内存存放的是数组,对象,当这些数组,对象不在使用时,
       变成垃圾,只有执行垃圾回收器才会被清理掉

数组操作中常见问题

              1.下标越界

                     Exceptionin thread "main" java.lang.ArrayIndexOutOfBoundsException:5

 

             下标的范围  0-数组长度-1      

             怎样可以得到数组长度      

                    数组名.length 得到的是一个int类型的值,它代表的是数组的长度

 

              2.空指针

                    引用没有指向任意堆内的实体。

                     Exceptionin thread "main" java.lang.NullPointerException

 

 

             数组本身是引用类型  null是引用类型的默认值

基本数据类型与引用数据类型内存分配

       示例

class Demo9

{

       publicstatic void main(String[] args)

       {

              inta=10;

              int[]arr=new int[]{10};

 

              change(a);

              change(arr);

 

              System.out.println(a);

              System.out.println(arr[0]);

       }

 

       publicstatic void change(int a){          

              a=100;

       }

 

       publicstatic void change(int[] arr){            

              arr[0]=100;

       }

}

原创粉丝点击