一、方法(函数)
方法,是指完成特定功能的代码块,在很多语言中都有函数的定义,在Java语言中函数被称为方法。
方法格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…)
{
函数体;
return 返回值;
}
格式解释:
修饰符:比较多,目前public static
返回值类型:用于限定返回值的数据类型
方法名:一个名称,为了方便我们调用方法
参数类型:限定调用方法时传入参数的数据类型
参数名:是一个变量,接收调用方法时传入的参数
方法体:完成功能的代码
return:结束方法以及返回方法指定类型的值
返回值:程序被return带回的结果,返回给调用者
举例
import java.util.Scanner; //导包
class MethodDemo
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入两个数");
int a=sc.nextInt();
int b=sc.nextInt();
int c=GetMax(a,b);
System.out.println("最大值为"+c);
}
public static int GetMax(int m,int n) //方法的功能是取得最大值
{
int x=(m>n)?m:n;
return x; //返回的x在上面赋值给了c
}
}
二、方法重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或者参数顺序不同即可。
特点:与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
举例:
三、数组
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
数组定义:
数据类型[] 数组名; 或者 数据类型 数组名[];
数组定义后数组中没有元素值,需要对数组进行初始化。
数据类型[] 数组名=new 数据类型[数组长度];
数组长度也就是数组中元素的个数。
举例:
int arr=new int[3];//定义了一个int类型的数组,名叫arr,数组中可以存放3个int类型的值。
四、Java中的内存分配
Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
栈:存储局部变量
堆:存储new出来的东西
方法区(面向对象编程相关知识)
本地方法区(和系统有关)
寄存器(给CPU使用)
比如上面的数组初始化语句:
int[] arr=new int[3];
内存图如下:
栈内存中的arr变量用于存放引用型变量,即地址,或者叫c语言中的指针,该地址即为堆内存中new出来的数组的第一个数据的位置。new出来的东西系统会自动做初始化,如下
byte short int long—0
float double—0.0
char—’\u0000’
boolean—false
string—null
引用类型—null
数组静态初始化
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
举例:
int[] arr = new int[]{1,2,3}; 或者 int[] arr = {1,2,3};
定义了一个int类型的数组,这个数组中可以存放3个int类型的值,并且值分别是1,2,3。