一.数组和ArrayList
反转数组
for(int i=0;i<arr.length/2;i++)
package 基础知识.Array;
public class Array_Reverse {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
//反转数组
for(int i=0;i<arr.length/2;i++){
int temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
// 反转后,遍历数组
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
ArrayList
ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 不能写,但是存储基本数据类型对应的
包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:只有 Integer 和 Character 需要特殊记忆,其他基本类型只是首字母大写即可
一个报错信息:Error:(4, 16) java: 类型基础知识.Array.ArrayList不带有参数
处理方发:
```java
package 基础知识.Array;
public class AddInteger {
public static void main(String[] args) {
java.util.ArrayList<Integer> list = new java.util.ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list);
}
}
定义方法的要点
定义方法实现功能,需要有两个明确,即 返回值 和 参数
匿名对象
创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用
场景非常有限。
格式:new 类名(参数类表);
for example:new Scanner(System.in);
匿名内部类
匿名内部类 :是内部类的简化写法。它的本质是一个 带具体实现的 父类或者父接口的 匿名的 子类对象。
开发中,最常用到的内部类就是匿名内部类了。以接口举例,当你使用一个接口时,似乎得做如下几步操作,
- 定义子类
- 重写接口中的方法
- 创建子类对象
- 调用重写后的方法
我们的目的,最终只是为了调用方法,那么能不能简化一下,把以上四步合成一步呢?匿名内部类就是做这样的快捷方式。
前提
匿名内部类必须继承一个父类或者实现一个父接口
格式
new 父类名或者接口名(){
// 方法重写
@Override
public void method() {
// 执行语句
}
};
public static void main(String[] args) {
/*
创建匿名内部类,直接传递给showFly(FlyAble f)
*/
showFly( new FlyAble(){
public void fly() {
System.out.println("我飞了~~~");
}
});
}
public static void showFly(FlyAble f) {
f.fly();
}
}