一、Java中的方法
1、方法(函数)的作用:最重要的作用是代码重用
2、定义方法的格式
修饰符 返回值类型 方法(形参类型 形参名,形参类型 形参名……)
2/1修饰符:如pubic static(目的是在main()方法中方便调用)
2/2返回值类型:任何的java类型(基本数据类型和引用数据类型),他表示这个方法的
工作结果,可以返回给调用者。一个方法可以没有返回值,定义为void
2/3方法名:属于自定义标识符,遵循自定义标识符的命名规则和命名规范
2/4形参列表:不是必须的,但小括号不可少
可以包含多个形参,每个形参由形参类型和形参名组成,形参类型可以是任何的java类型
3、如果一个方法声明了某返回值类型,那么次方法内部必须return一个此类型的值,否则编译错误
如果一个方法没有声明返回某类型,那么次方法不能返回任何类型的值,但可以写“return;”语句,表示结束方法的执行
4、方法的重载
4/1方法的重载和方法的返回值无关,即多个方法仅方法的返回值类型不同将编译失败
4/2与形参的参数名无关
4/3与形参的顺序有关
5、结束方法的两种方式
5/1使用return
5/2抛出异常
方法的分类
【1】自定义构造方法
1、语法要求:
1/1 构造方法的"方法名"必须和"类名"相同;
1/2 构造方法不能定义"返回值类型",甚至是void;
1/3 构造方法内部不能返回任何值。但可以写return;语句;表示:结束构造方法的执行
2、如果我们程序员没有定义构造方法,编译器会自动生成一个无参构造函数。当我们实例化这个类对象时,虚拟机就会
自动调用这个构造方法。
【2】构造方法的作用:
1、由于它是在实例化一个对象时,被调用。一般它内部可以做一些"初始化"的工作,和其它一些"先期的准备工作"。
2、理解构造方法的作用:
给了我们一个机会,在实例化一个类对象之前,如果想做什么事情,就可以将代码写在"构造方法"里。这个方法每当实例化一个此类对象时,会被调用。
【3】构造方法注意事项
1.如果我们不定义构造方法,系统添加一个:无参,什么都不做;
2.如果我们定义了构造方法,那么系统将不再添加无参构造方法了;
3.构造方法也是可以"重载"。
【4】成员方法
1、成员方法:定义在类体中,跟我们之前讲过的"方法"是一样的。可以带参数,可以具有返回值;
2、成员方法的分类:
成员方法的特点:必须要通过类的对象调用。必须先期实例化此类对象,因为只有实例化对象后,方法的空间才会被分配。
Studentstu = new Student();
stu.show();
//不能直接调用show()
show();//错误。show()在Student类的内部,不能这样直接调用;
//不能通过类名调用:
Student.show();//错误:不能用"类名"调用;
3、分类:
3/1 无返回值,无形参;
3/2 有返回值,无形参;
3/3 无返回值,有形参;
3/4 有返回值,有形参;
二、Java中的数组
一维数组
1、数组的定义和初始化
1/1定义:
数据类型[]数组名 = new数据类型[数据长度]
数据长度可以是一个整型值、字面常量、变量或表达式
1/1/1 静态初始化:
在定义数组时,我们直接指定数组元素,有系统为我们指定数组长度
数据类型[]数组名 = new数据类型[]{值1,值2,值3,……}
数据类型[]数组名 = {值1,值2,值3,……}
方括号内不能指定数组长度
例:
String[] names = newString[]{"AA","BB","CC"};
或:
String[] names = {"AA","BB","CC"};
1/1/2动态初始化:
先指定数组的长度,由系统为数组分配初始值
数据类型[]数组名 = new数据类型[数据长度]
或
数据类型数组名[] = new数据类型[数组长度]
整数默认初始值:0
double默认初始值:0.0
字符型默认初始值:空字符
布尔类型默认初始值:false
String类型同其他的引用数据类型全部默认初始值:null
String[] names = new String[3];//此处定义了一个数组,并将数组的个元素都初始化为0
names[0] = "AA";
names[1] = "BB";
names[2] = "CC";
1/1/3 String[] names;
names = newString[]{"AA","BB","CC"};
等价于下列语句(省略new String[]):
String[] names ={"AA","BB","CC"};
不可写成下列方式
String[] names;
names={"AA","BB","CC"};
2、数组的长度:使用数组的length属性
打印数组的长度:
System.out.println(names.length);
允许定义0长度数组,数组有地址,但是打印第一个数组元素时会抛出数组越界异常
定义数组时长度为负数,编译通过,运行时抛出NegativeArraySizeException
3、数组的默认值
3/1对于byte、short、int、long型数组,数组元素的默认值为0
3/2对于float和double型数组、数组元素的默认值为0.0
3/3对于char型数组,数组元素的默认值为空格
3/4对于boolean类型,初始值默认为false
3/5对于引用数据类型,初始值默认为null
二维数组
1、二维数组的定义格式
格式一:
数据类型[][]变量名 = new数据类型[第一维的长度][第二维的长度];
或:
数据类型变量名[][] = new数据类型[第一维的长度][第二维的长度];
或:
数据类型[]变量名[] = new数据类型[第一维的长度][第二维的长度];
格式二:
数据类型[][]变量名 = new数据类型[第一维长度][];
格式三:
数据类型[][] 数组名 = new 数据类型[][]{{值1,值2,....},{值3,值4,.....},{值5,值6,....}};
或者:
数据类型[][] 数组名 = {{值1,值2,....},{值3,值4,.....},{值5,值6,....}};