java学习笔记(九)方法与数组
2017-04-06 12:22
344 查看
方法与数组
1.方法:
1.1 函数:Java就是方法。
方法: 就是完成特定功能的代码块 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) { 方法体; return 返回值; } 解释: 修饰符:public static 返回值类型: 用于限定返回值的数据类型 方法名: 方便我们调用方法 参数类型: 形式参数 就是接收实际参数的变量(定义时候的) 实际参数 就是实际参与运算的变量(调用时候的) 方法体: 就是完成功能的代码。 返回值: 就是功能的返回结果。 return 返回值: 结束方法,把返回值带给调用者
1.2 有明确返回值的方法调用
A:单独调用 没有意义 B:输出调用 不是特别好,因为我们可能需要对结果进行进一步的操作。 C:赋值调用 推荐方案
1.3 书写方法注意的事项:
做到两个明确: 返回值 结果的数据类型 参数 参数的个数,以及类型
1.4 方法的注意事项(
A:方法不调用不执行 B:方法与方法是平级关系,不能嵌套定义 C:方法定义的时候参数之间用逗号隔开 D:方法调用的时候不用在传递数据类型 E:如果方法有明确的返回值,一定要有return带回一个值
1.5 练习:求两个数据和的功能。
做到两个明确: 返回值:结果的数据类型 int 参数:参数的个数,以及类型 int a,int b
public class FunctionDemo3 { public static void main(String[] args) { System.out.println(add(10, 20)); } //写一个两个数相加的方法 public static int add(int a,int b){ return a+b; } }
2.方法重载
方法重载: 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 方法重载特点 与返回值类型无关,只看方法名和参数列表 在调用时,虚拟机通过参数列表的不同来区分同名方法
练习:比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型, 并在main方法中进行测试
public class FunctionOverload2 { public static void main(String[] args) { //定义两个byte类型的数据,进行比较 int a = 10; int b = 20; System.out.println(isEquals(a, b)); } /** * 比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型, * 两个int类型,两个long类型,并在main方法中进行测试 */ public static boolean isEquals(byte a,byte b){ System.out.println("比较两个byte类型的数据是否相等"); return a==b; } public static boolean isEquals(short a,short b){ System.out.println("比较两个short类型的数据是否相等"); return a==b; } public static boolean isEquals(int a,int b){ System.out.println("比较两个int类型的数据是否相等"); return a==b; } public static boolean isEquals(long a,long b){ System.out.println("比较两个long类型的数据是否相等"); return a==b; } }
3.数组
3.1 数组:
注意:数组既可以存储基本数据类型,也可以存储引用数据类型
3.2数组的定义格式
A:数据类型[] 数组名; int[] arr; B:数据类型 数组名[]; int arr[]; 区别:念法上区别 int[] arr; int类型的数组,arr int arr[]; int类型的,arr[]
3.3数组初始化概述:
A:Java中的数组必须先初始化,然后才能使用。 B:所谓初始化 就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
3.4如何为数组进行初始化呢?
A:动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。 B:静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
3.5动态初始化:
初始化时只指定数组长度,由系统为数组分配初始值。 格式: 数据类型[] 数组名 = new 数据类型[数组长度]; 数组长度其实就是数组中元素的个数。
int[] arr=new int[3]; int[0]=2; int[1]=3; int[2]=5;
3.6索引(下标)
为了方便我们获取数组中的元素,数组就为每个元素进行了编号,从0开始。 这个编号,专业叫法:索引。(角标,下标) 有了索引如何获取元素呢? 格式:数组名[索引]
3.7静态初始化:
初始化时指定每个数组元素的初始值,由系统决定数组长度。 格式: 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…}; 简化格式: 数据类型[] 数组名 = {元素1,元素2,…};
int[] arr={2,3,5};
3.8数组操作常见的两个小问题
A: ArrayIndexOutOfBoundsException:数组索引越界异常 怎么产生的: 你访问了不存在的索引。 如何解决: 修改你的访问索引。 B: NullPointerException:空指针异常 怎么产生的: 引用已经不再指向堆内存 如何解决: 一般来说,只要是引用类型的变量,我们在使用前,都要先判断是否为null。 如果不为null,才继续使用。
练习:求出数组中的最大值;
public class ArrayDemo{ public static void main(String[] args) { int[] arr = {5,7,9,10}; //假设数组中的第一个元素就是最大值 int max = arr[0]; //for循 9ef3 环遍历数组,在for循环中进行比较判断 for (int i = 0; i < arr.length; i++) { if (arr[i]>max) { max = arr[i]; } } System.out.println(max); } }
相关文章推荐
- Java学习笔记_003_方法和数组
- java学习笔记:Java语法基础2(循环,函数,重载,数组,方法)
- Java学习笔记33. 比较两个数组是否相等 Arrays.equals(A,B)方法
- Java学习笔记---数组操作的10大方法
- JNI学习笔记5——本地方法处理java数组/引用问题/缓存jfieldID/jmethodID
- Java学习笔记之 数组方法
- Java学习笔记003——继承、抽象类、类相等测试、泛型数组列表、可变参数方法
- java基础(个人学习笔记)E 合并两个数组的方法
- [学习笔记]Java数组和方法
- 【Java学习笔记】05.数组、方法和方法重载
- 【Java学习笔记】方法和数组
- Java学习笔记---5.Java数组和方法
- Java学习笔记32. 数组的填充 Arrays.fill( ) 方法
- [学习笔记]Java数组和方法
- JAVA学习笔记21——多维数组+数组常用方法
- [Java学习笔记] 为什么.length是数组的成员,是字符串的方法?
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- java学习笔记(十九)对象数组
- java学习笔记九——构造函数、方法重写、重载