目录
一、数组
定义:数组代表一组相同类型的元素的一种存储结构, 数组是一种数据类型(引用类型)
为什么用数组?当需要大量存储同一类型的多个数据时,就可以使用数组.
在java中,若声明了引用类型的变量,不赋值的话,默认是 null(空)
1. 数组的定义和初始化
int[] array;
静态初始化:当已知存储的数据及个数
eg.
int[] arr = {100,300,40};
// int[] arr1; 静态初始化时,声明和初始化要在一行完成。
// arr1 = {1,2};否则会报错!
动态初始化:当存储的数据未知,个数已知
eg.
int[] b = new int[3];//1.
int[] c = new int[]{};//2.
创建且开辟三个数据位置空间的int类型数组,数组名为array
2.数组的访问
eg. array[num] 下标和python一样,从0开始
3.数组相关的属性(变量)
打印数组的每个值的过程,称之为遍历数组.
获取数组长度的方式:数组名.length(可以直接用在for循环的限制条件里)
二、方法
方法也可以称之为函数,方法主要用来表示功能的。
适用性:当有一些重复性的逻辑代码时,我们可以用方法来进行复用,减少代码冗余。
方法的语法: [访问修饰符] 返回值类型 方法名 ([参数]) { 方法体 }
1.访问修饰符
控制当前内容的可见范围 (可以不写)
2.返回值类型
没有返回值类型,用void 来表示,如果有返回值类型,在定义方法时写上具体是类型即可,其次要在方法体中最后一行代码,要写上 return关键字返回,返回的内容要与方法的返回值类型匹配。
3.方法名
(遵循小驼峰命名法)见名知意
4.参数
在方法中的参数称之为形式参数,定义方法时,占了一个坑,供外部使用方法时传递进具体的内容。(可以不写)
5.方法体
用来存放方法的功能逻辑。
6. 方法的分类
1.无参无返回值
当仅仅只是为了解决代码的重复性问题时,而没有其它需求,则可以使用。
static void attack() {
System.out.println("直拳");
System.out.println("摆拳");
System.out.println("上勾拳");
System.out.println("侧踹");
System.out.println("下勾拳");
}
注意:自定义方法加static只是为了在main中能够被调用,并不是方法的必要语法。
2.有参无返回值
public static void main(String[] args) {
//给实际的参数,直接给直接量或者给形式参数符合类型的变量都可以。
//注意:当前name: 是编译器给的提示,不需要写!
//看参数要什么,把光标放到小括号中 按 ctrl + p 也会有提示所需传入的参数类型
// String name = "小明";
sayHi("小明");//调用方法(注意,这里可以直接输入要传入的实参)
}
//方法表示的是功能(行为)
//做(定义)一个问好的功能
// 语法: 返回值类型 方法名 () { 方法体 }
//方法中参数:表示形式参数,占一个坑,具体坑里是什么内容,要看调用着传递什么数据。
//程序中设计的一个要求:定义方法尽可能灵活,减少或避免修改!
static void sayHi(String name, int age) {
System.out.println(name + "同学你好!我的年龄是:" + age);
}
3.无参有返回值
public static void main(String[] args) {
//只有方法有返回值的时候,才可以接收,接收时要根据方法定义时的返回值类型 来接收
double p = getPI();
System.out.println(p);
}
//做一个功能,希望别人调用这个功能会返回给调用者一个PI值
// 语法: 返回值类型 方法名 () { 方法体 }
static double getPI() {
//需求是返回给调用者数据 pi -----3.1415926
//返回用 return 数据 与方法返回值类型要匹配
return 3.1415926;
}
4.有参有返回值
//定义用于进行加法的方法
// 语法: 返回值类型 方法名 () { 方法体 }
static int sum(int a,int b) {
//int c = a + b;
//return 返回 c 变量里面的数据
return a + b;//也可以直接 return a+b 的 和
}
三、方法的重载
好处:当方法参数个数和方法参数类型发生变化时,我们在定义相同的功能方法时,可以使用同一个方法名称,来表示这个功能下的方法。
对于调用者而言,无需记住所有的方法名,只需要记住一个,系统会根据传递进入的参数个数和类型,来自动匹配对应的方法。
重载的条件:当表示的功能是一样的,方法参数个数或者参数类型不同,即可构建成重载(可以使用用一个方法名)
调用重载方法时,系统会根据调用者传递的数据个数和类型来自动匹配对应的方法执行.
能不能重载成功:就看参数的个数 或者 参数类型 是否有不一样. 但是方法名要一样.