Java学习之旅_基础篇_06

来源:互联网 发布:杰刚队长知乎 编辑:程序博客网 时间:2024/05/18 03:55

我的JAVA学习之旅!
今天接触了两个知识点:方法+数组
方法的作用:代码复用
方法定义的格式:
修饰符 返回值类型 方法名([形参列表]){
}
修饰符:目前只需要写:public static
返回值类型:可以是任何的Java类型(基本数据类型、引用数据类型)。
如果没有返回值,这里要写void
方法名:自定义标识符;
形参列表:可以没有,但是一定写一对小括号。
如果有,每个形参是由:数据类型 形参名
多个形参,中间用逗号隔开;
需要特别注意:方法内不允许定义别的方法!!!
方法的注意事项:
1).方法不调用不执行;
2).方法与方法是平级关系,不能嵌套定义;
3).方法定义的时候参数之间用逗号隔开;
4).方法调用的时候不用在传递数据类型;
5).如果方法有明确的返回值,一定要有return带回一个值;
理论一大堆,是不是很难弄懂,不废话直接看代码里怎么运用:

class Demo {    public static void printXing(){        System.out.println("*****");        System.out.println("*****");        System.out.println("*****");        System.out.println("*****");    }    public static void main(String[] args)     {        System.out.println("HelloWorld");        //这里需要打印        printXing();//调用printXing()方法        System.out.println("方法调用完毕!");        //........        //还需要打印        System.out.println("需要再次调用:");        printXing();//再次调用printXing()方法        //........        //还需要打印        System.out.println("第三次调用:");        printXing();    }}

是不是还是不太懂?接下来我们看看“方法”的具体用法:方法概述
接下来让我们看看(有人看么o(╯□╰)o)带形参和返回值的“方法”:
带形参,和带返回值的方法:

修饰符 返回值类型 方法名(形参列表){
}
形参可以有多个

class Demo {    //练习1:定义一个方法能够计算1--100的整数和;    public static void sum(){//无形参,无返回值        int sum = 0;        for(int i = 1; i <=100 ;i++){            sum += i;        }        System.out.println("1--100的累加和为:" + sum);    }    //练习2:定义一个方法能够计算1--n的整数和;    public static void sum2(int n){//有形参,无返回值        int sum = 0;        for(int i = 1; i <=n ;i++){            sum += i;        }        System.out.println("1--" + n + " 的累加和为:" + sum);    }    //练习3:定义一个方法能够计算1--n的整数和,并且能够将结果返回;    public static int sum3(int n){        int sum = 0;        for(int i = 1; i <=n ;i++){            sum += i;        }        //最后,不要将结果打印出来,要还给"调用者"        return sum;    }    public static void main(String[] args)     {        sum();        sum2(10);        int n = sum3(10);        System.out.println("调用方法后,获取的返回值:" + n);    }}

方法里很重要的一个点——方法重载
为什么要方法重载呢?我们先看看方法重载的介绍
方法的重载:
1.我们可以在一个类中,定义多个”同名的方法”,但”形参列表”不能完全相同;
1.如果数量相同,可以是顺序不同;
2.跟”形参名”无关;
3.跟”返回值类型”无关;

方法重载的作用:可以不需要定义那么多的方法名,对于功能相同或相近的方法,可以使用”相同的方法名”,对于”调用者”非常的方便;

接下来的重点是“数组”:
1.一维数组:
1).定义的格式:
1.动态初始化:数据类型[] 数组名 = new 数据类型[数组长度];
2.静态初始化:
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,…..,值n};
数据类型[] 数组名 = {值1,值2,值3…..值n};
2).数组是”引用数据类型”,变量存储的是”引用(地址)”;
3).当new(实例化)一个数组对象时,其”值”的空间是在堆中分配的,对于各种数据类型,都会分配一个
默认值:
整数:0
小数:0.0
字符:’\u0000’
布尔:false
String:null
其它引用类型:null
4).数组的访问方式:使用:数组名[索引]
又是一堆理论(有人跟着学习的话跟我一样头大了吧 嘎嘎……)
o(╯□╰)o 还是不废话 看代码:

class Demo {    public static void main(String[] args)     {        //1.动态初始化,定义数组        int num = 5;        int[] array = new int[num - 10 + 10];//在内存中会产生130个连续的int空间;        //2.填充数组(仍然需要一个一个的填充)        //利用编号(索引、角标、下标),访问数组元素        //为数组的第一个元素赋值:89        array[0] = 89;        array[1] = 99;        array[2] = 88;        array[3] = 79;        array[4] = 60;        //3.获取数组元素:仍然是使用"编号"        System.out.println("第一位学员的分数:" + array[0]);        System.out.println("第二位学员的分数:" + array[1]);        System.out.println("第三位学员的分数:" + array[2]);        System.out.println("第四位学员的分数:" + array[3]);        System.out.println("--------------------------------------");        for(int index = 0 ; index < 5 ; index++){            System.out.println("第" + (index + 1) + " 位学员的分数:" + array[index]);        }    }}

在看一个静态数组的定义:

class Demo {    public static void main(String[] args)     {        int[] array = new int[]{89,78,99,100,77,76};        //遍历        for(int i = 0; i < array.length ; i++){            System.out.println(array[i]);        }        System.out.println("------------------------------");        int[] array2 = {13,4,423,25,4542,5,46,34};        //遍历        for(int i = 0; i < array2.length ; i++){            System.out.println(array2[i]);        }    }}

看看具体练习:

/*    数组元素查找(查找指定元素第一次在数组中出现的索引)*/class Demo5 {    //写个方法,查找某个值在某个数组中第一次出现的索引    //参数:int[] intArra : 要查找的数组    //      int value : 在数组中要查找的数    public static int getIndex(int[] intArr ,int value){//intArr = 0x2233,value = 8888        int index = -1;        for(int i = 0;i < intArr.length ; i++){            if(intArr[i] == value){                index = i;                break;            }        }        return index;    }    public static void main(String[] args)     {        int[] array = {1432,4,35,44,214,437,62,43,5,4,63,54,2};//array = 0x2233        //查找4在数组中第一次出现的索引        System.out.println("数字8888在数组中的索引:" + getIndex(array,8888));//getIndex(0x2233,8888)        int[] array2 = {1,42,432,43};        //在array2中查找43        System.out.println(getIndex(array2,43));        int[] array3 = {24,32,51,42,536,45};        //在array3中查找32        System.out.println(getIndex(array3,32));    }}

再来个经典练习题:

/*    数组元素逆序 (就是把元素对调)    2,3,45,32,656,12,5,6,7,8    方式一:        1.定义一个新数组;        2.从旧数组的最后一个元素开始遍历,取出每一个元素,          填充新数组;    方式二:        1.更改原数组的值;        2.            2,3,45,32,656,12,5,6,7            7                    2            7 6                3 2            7 6 5            45 3,2*/class Demo3 {    public static void main(String[] args)     {        int[] array = {2,3,45,32,656,12,5,6,7};        //方式一:        int[] newArray = new int[array.length];        //倒序遍历原数组        int index = 0;        for(int i = array.length - 1 ; i >= 0 ; i--){//倒序遍历原数组            newArray[index] = array[i];//index从0开始            index++;        }        for(int i = 0 ; i < newArray.length ; i++){            System.out.println(newArray[i]);        }        //方式二,遍历原数组        for(int i = 0;i < array.length / 2 ; i++){            int temp = array[i];            array[i] = array[array.length - 1 - i];            array[array.length - 1 - i] = temp;        }        System.out.println("-------------------------------");        for(int i = 0;i < array.length ; i++){            System.out.println(array[i]);        }    }}

知识点重新总结复习了一下,感觉还不错
知识点太多 又看了不懂的 找我讨论下啊。。。
二维数组: 嘿嘿 !我还没学 二维数组,明天再介绍……

0 0
原创粉丝点击