1.方法重载:在一个类里面,方法名相同,参数类型,顺序,个数不同。()里只要有一个不同就是重载
重载注意事项
l 重载方法参数必须不同:
参数个数不同,如method(int x)与method(int x,int y)不同
参数类型不同,如method(int x)与method(double x)不同g
参数顺序不同,如method(int x,double y)与method(double x,int y)不同
l 重载只与方法名与参数类型相关与返回值无关
如void method(int x)与int method(int y)不是方法重载,不能同时存在
l 重载与具体的变量标识符无关
如method(int x)与method(int y)不是方法重载,方法名相同不能同时存在
class Demo01 { public static void main(String[] args) { System.out.println("Hello World!"); } //需要:写方法计算求和 public static int add(int a,int b){ return a+b;//返回值 return是方法的结束 } public static double add(double a,double b){ return a+b; } public static double add(int a,double b){ return a+b;//int+double型 得出浮点型 } public static double add(double a,int b){ return a+b; } }
2.参数传递:两种类型 :值类型传递和引用类型传递 一个传值 一个传地址
传值是基本数据类型和String时,形参改变对实参没影响;
传值是引用数据类型(String除外),形参改变对实参有影响
值传递
class Demo05 { public static void main(String[] args) { int a=0; change(a); System.out.println(a);//0 } public static void change(int b){ b=9; } }
引用传递 class Demo06 { public static void main(String[] args) { int[] arr={1,2,3}; change(arr); System.out.println(arr[1]);//10 } public static void change(int[] a){ a[1]=10; } }
3、引用数据类型(1.系统提供的2.自定义的):
类中包括属性 和 方法;
①、定义格式:
创建java文件,与类名相同
public class 类名{
数据类型 属性名称1;
数据类型 属性名称2;
…
}
②、导包:将所有的类放到同一文件夹,无需导包
创建格式:数据类型 变量名 = new 数据类型();
变量名.属性
③、内存图解;
4、ArrayList集合(长度可变的数组/容器):
①、创建:
导包:import java.util.ArrayList;
ArrayList<引用数据类型>变量名 = new ArrayLIst <引用数据类型>();
(基本数据类型要转化为引用数据类型,注意int为integer、char为character、首字母一定大写)
import java.util.ArrayList; class lianxia { public static void main(String[] args) { //创建对象 ArrayList<String> list=new ArrayList<String>(); //添加元素 list.add("a");//0 list.add("e");//1 list.add("s");//2 list.add("d");//3 //获取元素 用get方法 System.out.println(list.get(2)); //获取集合的长度 System.out.println(list.size()); //遍历 for(int i=0;i<list.size();i++) System.out.println(list.get(i)); } }
---------------------------------------------------------------
import java.util.ArrayList;
class Demo06
{
public static void main(String[] args)
{
//创建对象
ArrayList<Integer> list=new ArrayList<Integer>();
//添加元素
list.add(0);
list.add(1);
list.add(4);
//在指定下标位置添加元素
list.add(0,55);
list.add(0,66);
//删除元素
list.remove(4);
list.clear();
//修改元素
list.set(0,100);
//遍历
for (in i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
②、常用方法:
.add(元素) 添加元素到集合末尾
.get(位置) 返回集合中指定位置上的元素
.size() 返回元素个数
.add(位置,元素) 将元素添加到指定位置
.remove(位置) 删除指定位置的元素,并返回该元素
.clear() 清空集合中的所有元素
.set(位置,元素) 用元素代替指定位置上的元素
③、集合的遍历: