方法:
没有返回值的方法使用 void return可以用来跳出方法,可有可无。
有返回值的方法必须使用return返回值,而且需要对应类型。
注意 break是终止当前循环,如果循环嵌套,只能跳出一层循环,return不管有多少循环,直接跳出方法。
方法重载:在同一个类中,相同名字的方法具有不同的参数,与返回值无关。
方法递归:将一个大问题拆解成不同的小问题,将重复的解决思路多次使用,除数据规模不同外其他完全相同,需要确定终止条件。
Java中没有函数声明的概念,定义一个方法就要写他的实现。
Java方法的参数传递只有值的传递,只是将实参的值复制给形参。
例如上图代码,虽然交换了a和b但是在输出后发现并没有交换,可以理解为
如果想让他们完成交换,可以考虑借用数组
方法重载(overload)和方法重写 (override)的区别
方法重载 可以理解为定义了参数不同名字相同的方法(与返回值无关)
我们一般使用的println能够接受各种类型的输出就是因为在源码里有多次的方法重载。
再说下构造方法
构造方法是类的特殊使用方法,执行对对象的初始化操作,构造方法没有返回值声明,方法名称与类相同。 例 public 类名称(){
代码
}
利用构造方法产生对象的同时,会给相关属性赋值,构造方法的重载就是参数数量不同。构造方法的重载可以用this调用其他构造方法,需要写在第一行。
this的作用:
1.修饰属性,表示从本类中寻找属性。
2.修饰方法,表示调用本类的方法。调用普通方法 this.方法名() 调用构造方法 this(参数)。
数组:
创建方式: 静态初始化 int[] data = {1,3,5};
动态初始化 int[] data = new int[3]; int[] data = new int[]{1,3,5};
取得数组长度 数组名.length
取得数组元素 arr[index] index为索引。
遍历数组:就是把数组中所有元素都访问一遍。 如下
for-each循环遍历
之前在方法里提到过,想要修改实参的值可以使用数组,创建数组相当于创建了相连的空间,此时修改arr[i],会将对应的这个空间的值进行修改。
文字比较抽象,可以看图片理解。学过C的小伙伴可以把他理解成地址。
Java中内置了toString方法来打印,我们可以覆写这个方法来让其达到我们想要的输出格式。
java.util.Array中还有许多操作数组的方法,比如copyOf数组拷贝
使用这些方法前要在开头加入一行 import java.util.Arrays 导入这个包
基本概念如此,实际题目还有更多的应用,我会在以后出题目博客的时候写出自己对题目的看法,对相关知识的应用。
随笔部分:
类命名:大驼峰 第一个字母开始大写 例:Test
项目命名/包命名: 全小写 两个部分用_隔开。
final:终结器 例:
数据类型转换中:小->大 自动转换 先转换后运算 如int+long 先转换int为Long
大->小 强制转换,有丢失精度的风险