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]); } }}
知识点重新总结复习了一下,感觉还不错
知识点太多 又看了不懂的 找我讨论下啊。。。
二维数组: 嘿嘿 !我还没学 二维数组,明天再介绍……
- Java学习之旅_基础篇_06
- java基础总结_06
- Java学习笔记_06
- Java学习之旅_基础篇_05
- EasyUi_学习之路_06
- C#之入门总结_继承_06
- 前端学习_06.Script语法基础
- 黑马程序员_Java基础_面向对象(二)_06
- JAVA语言学习_06(关于占位符)
- Java基础学习笔记之三_面向对象
- 7.15_ java学习_基础
- java基础学习_数组
- JAVA学习笔记_基础
- JAVA基础学习_方法
- java 从零开始,学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)
- 《Java就业培训教程》_张孝祥_书内源码_06
- java 从零开始,学习笔记之基础入门<类_方法_构造器>(三)
- java 从零开始,学习笔记之基础入门<重载_覆盖_继承>(十)
- Android中AsyncTask的依赖执行用法
- jquery post与ajax的区别?
- Android开发环境的建立
- 关于最近做cgi的一点感想
- 永久空间内存不足 java.lang.OutOfMemoryError: PermGen space
- Java学习之旅_基础篇_06
- 关于@property是否会自动release的一些想法
- Hibernate常见异常及解决办法(1)
- linux手动安装screen
- JavaBean
- 服务器文件自动备份工具
- Android Spinner
- permgen space这个异常解决方案
- 1040 Be Patient , Read Carefully !【子串和】