Java中方法与数组

1:方法(掌握)
    (1)方法:就是完成特定功能的代码块。

        注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。

    (2)格式:

        修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {

            方法体语句;

            return 返回值;        }
        修饰符:目前就用 public static。后面再详细讲解其他修饰符

        返回值类型:就是功能结果的数据类型

        方法名:就是起了一个名字,方便我们调用该方法。

        参数类型:就是参数的数据类型

        参数名:就是变量

        参数分类:

            实参:实际参与运算的数据

            形参:方法上定义的,用于接收实际参数的变量

        方法体语句:就是完成功能的代码块

        return:结束方法

        返回值:就是功能的结果,由return带给调用者。

    (3)两个明确:

        返回值类型:结果的数据类型

        参数列表:参数的个数及对应的数据类型

    (4)方法调用

        A:有明确返回值的方法

            a:单独调用,没有意义

            b:输出调用,不是很好,因为我可能需要不结果进行进一步的操作。但是讲课一般我就用了。

            c:赋值调用,推荐方案

        B:void类型修饰的方法

            a:单独调用    (5)案例:        A:求和方案

        B:获取两个数中的较大值

        C:比较两个数据是否相同

        D:获取三个数中的最大值

        E:输出m行n列的星形

        F:输出nn乘法表

    (6)方法的注意事项

        A:方法不调用不执行

        B:方法之间是平级关系,不能嵌套定义

        C:方法定义的时候,参数是用,隔开的

        D:方法在调用的时候,不用在传递数据类型

        E:如果方法有明确的返回值类型,就必须有return语句返回。

    (7)方法重载

        在同一个类中,方法名相同,参数列表不同。与返回值无关。

        参数列表不同:

            参数的个数不同。

            参数的对应的数据类型不同。

    (8)方法重载案例

        不同的类型的多个同名方法的比较。

2:数组(掌握)

    (1)数组:存储同一种数据类型的多个元素的容器。

    (2)特点:每一个元素都有编号,从0开始,最大编号是长度-1。

             编号的专业叫法:索引

    (3)定义格式

        A:数据类型[] 数组名;

        B:数据类型 数组名[];

        推荐是用A方式,B方法就忘了吧。

        但是要能看懂

    (4)数组的初始化

        A:动态初始化

            只给长度,系统给出默认值

            举例:int[] arr = new int[3];

        B:静态初始化

            给出值,系统决定长度

            举例:int[] arr = new int[]{1,2,3};

            简化版:int[] arr = {1,2,3};

    (5)Java的内存分配

        A:栈 存储局部变量

        B:堆 存储所有new出来的

        C:方法区(面向对象部分详细讲解) 静态变量是在方法区。

        D:本地方法区(系统相关)

        E:寄存器(CPU使用)

        注意:

            a:局部变量 在方法定义中或者方法声明上定义的变量。

            b:栈内存和堆内存的区别

                栈:数据使用完毕,就消失。

                堆:每一个new出来的东西都有地址

                    每一个变量都有默认值

                        byte,short,int,long 0

                        float,double 0.0

                        char ‘\u0000‘

                        boolean false

                        引用类型 null

                    数据使用完毕后,在垃圾回收器空闲的时候回收。

    (6)数组内存图

        A:一个数组

        B:二个数组

        C:三个数组(两个栈变量指向同一个堆内存)

    (7)数组的常见操作

        A:遍历

            方式1:

                public static void printArray(int[] arr) {                    for(int x=0; x<arr.length; x++) {                        System.out.println(arr[x]);                    }                }

            方式2:

                public static void printArray(int[] arr) {                    System.out.print("[");                    for(int x=0; x<arr.length; x++) {                        if(x == arr.length-1) {                            System.out.println(arr[x]+"]");                        }else {                            System.out.println(arr[x]+", ");                        }                    }                }

        B:最值

            最大值:                public static int getMax(int[] arr) {                    int max = arr[0];

                    for(int x=1; x<arr.length; x++) {                        if(arr[x] > max) {                            max = arr[x];                        }                    }

                    return max;                }

            最小值:

                public static int getMin(int[] arr) {                    int min = arr[0];

                    for(int x=1; x<arr.length; x++) {                        if(arr[x] < min) {                            min = arr[x];                        }                    }

                    return min;                }

        C:逆序

            方式1:

                public static void reverse(int[] arr) {                    for(int x=0; x<arr.length/2; x++) {                        int temp = arr[x];                        arr[x] = arr[arr.length-1-x];                        arr[arr.length-1-x] = temp;                    }                }

            方式2:

                public static void reverse(int[] arr) {                    for(int start=0,end=arr.length-1; start<=end; start++,end--) {                        int temp = arr[start];                        arr[start] = arr[end];                        arr[end] = temp;                    }                }

        D:查表

                public static String getString(String[] strArray,int index) {                    return strArray[index];                }

        E:基本查找

            方式1:

                public static int getIndex(int[] arr,int value) {                    for(int x=0; x<arr.length; x++) {                        if(arr[x] == value) {                            return x;                        }                    }

                    return -1;                }

            方式2:

                public static int getIndex(int[] arr,int value) {                    int index = -1;

                    for(int x=0; x<arr.length; x++) {                        if(arr[x] == value) {                            index = x;                            break;                        }                    }

                    return index;                }
 
时间: 2024-11-08 21:56:54

Java中方法与数组的相关文章

深入理解Java中方法的参数传递机制

形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. 在程序设计语言中,参数有形式参数和实际参数之分,先来看下它们的定义: 形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数,简称"形参". 实际参数:在主调函数中调用一个函数时,函数名后面括号中的参数称为"实际参数",简称"

java中方法调用

JAVA中方法的调用[基础] 一.调用本类中的方法 方法一.被调用方法声明为static ,可以在其他方法中直接调用.示例代码如下: public class HelloWord { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="HelloWord!"; int a=0; int b=a+1; int result=

java中方法的重载与重写的区别

JAVA中方法的重载与重写 1)  方法的的参数上看:重载后的方法与源方法在参数的类型以参数列表的顺序上会发生改变,而重写后的方法在参数的数据类型与参数列表的顺序不会发生改变 2)原方法是否对被覆盖:重载后的方法不会覆盖原方法,而重写后的方法会覆盖父类中的方法,调用时也只会调用重写后的方法. 3)调用方法的对象上:重载后的方法被调用时,调用对象不同时,调用的方法不同,产生的结果也不同:而重写后的方法被调用时,无论调用的对象是父类或者子类的对象,调用的方法相同,产生的结果也一样

Java中集合与数组的切换

在Java开发中常常遇见集合与数组的互相切换,如何实现呢,呵呵呵,很简单: import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; public class Test { /** * 将Set集合转换为数组 * * @author GaoHuanjie */ private static void setT

java中的函数,数组

函数 程序中独立的过程 函数的语法: 函数的定义 声明 static 返回值类型 函数名 (参数表) 形式参数:形参 在函数内部有效的局部变量 实现 { 语句 } 函数的调用 函数名(参数); 实际参数:实参 为形参赋值 接收返回值 函数的作用: 1. 减少冗余代码,提高程序的可维护性 2. 可重用性 函数库 3. 加强代码的结构化 提高可读性 利于分工 非结构化编程(语句) ---> 结构化编程(函数) ---> 面向对象(类) 数组 一次性定义多个同类型的变量 数组空间在内存是连续的 定义

Java基础---Java中方法的重裁(四十一)

Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载: 问: 如何区分调用的是哪个重载方法呢? 答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行.如: 运行结果: 判断方法重载的依据: 1. 必须是在同一个类中 2.

在Java中怎样把数组转换为ArrayList?

翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在Stack Overflow上做很多事情的权限.这跟我没什么关系,我们还是先看看这个问题吧. 这个问题是"在Java中怎样把数组转换为ArrayList?" Element[] array = {new Element(1),new Element(2),new Element(3)}; 1

java中方法的定义

java中方法的定义: [修饰符]   [修饰符]   [返回值类型] 方法名字 [形参列表] //带[]的可以省略,返回值类型不能省略. 就拿main方法来说,public         static       void       main (String[] args){ 方法体: return 返回值://返回值要与返回值类型相匹配.没有返回值的话,返回值类型用void; } 方法的定义:为了完成某项功能,封装的一系列代码的集合: 方法的调用:同一个类中可以直接用方法名():调用:但

java中的对象数组

对象数组,很容易顾名思义理解为:数组中的元素都是一个个的对象.但这种理解是错误的,数组中存放的并不是对象本身,而是对象的引用,即指向对象的那个指针,而这个指针是存放在虚拟机内存的栈中. 对象数组的创建需要两个步骤:1)创建一个数组,存放对象的引用.2)具体指出每个引用指向哪个对象(用new实现).下面举例说明. 假设有一个类,类名为Test.1)Test[] array = new Test[2]; 创建一个数组取名为array,里面共有2个元素,每个元素的类型是Test对象的引用.此时arra