黑马程序员_java基础_函数&数组

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

一、函数
1、函数的好处:
1,对细节进行封装。
2,提高了代码的复用性。

方法要进栈的原因?
方法里面存储着局部变量,方法要进栈内存去将局部变量进行空间分配,运算完就出栈。(栈是一个运算区,方法区是一个存储区)
出栈以后,方法还在方法区中。

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
{
执行语句;
return 返回值;
}

2、函数的特殊情况。
当一个功能没有具体结果返回时。
java中对这种情况,用关键字 void 来表示返回值类型。
void代表着没有具体返回值的情况。

return :将具体的功能结果返回给调用者。
将函数结束。是一个结束标记。

当void类型的函数定义时,函数中的return后面直接分号结束。
同时,该return语句可以省略不写。但是编译器会帮你加上。

3、定义的函数的两个明确:
既然要定义一个功能。那么功能就一定要有结果。
1,明确功能的结果。 
其实就是在明确返回值类型。
2,在定义该功能的过程中,是否有未知的内容参数运算。
其实就是在明确参数列表。

4、函数的重载
在同一个类中,允许存在一个以上的同名函数,只要他们的参数列表不同即可
重载和返回值类型无关,只参照同名函数的参数列表

二、数组
int[] arr = new int[]{12,78,33,99};

int[] arr = {12,78,33,99,77,45,23};

int[] arr = new int[3];

数组的特点
1,必须是同一类型元素。
2,给元素进行编号,从0开始。
3,数组的定义都必须明确长度。

五片区域:
寄存器,栈内存,堆内存,方法区,本地方法区。

栈内存:存储的都是局部变量,先进后出。一旦局部变量生命周期结束立刻被释放。
堆内存:存储的是实体(对象,就是用于存储很多数据的堆内存空间)。
1,堆内存中的每一个实体都有自己的内存地址值。
2,堆内存中每一个变量都有默认初始化值,不同类型初始化值不同。
int 0,double 0.0 char \u0000,boolean false.
3,当实体被视为垃圾时,会在不定时的时间内,被垃圾回收。

常见异常:
ArrayIndexOutOfBoundsException:数组角标越界异常,发生在运行时期。当访问到不存在的角标时,就会发生该异常。
NullPointerException 空指针异常。当引用没有任何实体指向时,还在使用其操作实体,就会发生该异常。

获取最值
//第一种最大值

public static int getMax(int[] arr)
	{
		//1,定义变量,记录较大的值。
		int max = arr[0];//初始化是数组中的任意一个元素
		//2,遍历数组。
		for (int x=1; x<arr.length ;x++ )
		{
			//3,进行判断比较。
			if(arr[x]>max)
				max = arr[x];
		}
		return max;
	}

//第二种最大值。
public static int getMax2(int[] arr)
	{
		int maxIndex = 0;//初始化为数组中任意一个角标。
		for (int x=0; x<arr.length ;x++ )
		{
			if(arr[x]>arr[maxIndex]){
				maxIndex = x;
			}
		}
		return arr[maxIndex];
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值