Scanner类
一些粗浅的学习,就写下我记得的部分吧。
scanner相对于c中的scanf,都是输出函数?
// System.in代表从键盘输入 Scanner sc = new Scanner(System.in); int num = sc.nextInt();
三元运算符:a>b?a:b 条件成立为a 不成立为b
匿名对象
new person(); //实际上创建了对象
new Phone().brand="sd"; //可以赋值。
匿名对象的使用情形
Random类
类的使用步骤:导包---创建---使用
Random r=new Random(); int num=r.nextInt();
当时的疑惑:为什么new完的r是地址,要借助nextInt才能输出数,这让我想到了指针,我猜是java没有使用指针而使用的new。
我懂了, r是Random类型的,后者是一类,并不是指随机数,它里面的其中某一个方法才能输出随机数,因为它里面也有重载的方法什么的。
new只是创建一个对象 并不产生随机数,所以new的r不需要放在for循环里。如下代码(老犯这种错误)
Random r=new Random(); for (int i = 0; i < 6; i++) { num.add(r.nextInt(10)); }
又忘记js.get(1)得到的是一个Person类的地址
ArrayList<Person> js = new ArrayList<>(); js.add(one); js.add(two); System.out.println(js.get(1));//错误
ArrayList<Person> js = new ArrayList<>(); js.add(one); js.add(two); System.out.println(js.get(1).getAge());//正确
random类中的方法参数:
ArrayList集合
对象数组
简单的使用,看例子就懂。
Person[] array = new Person[3]; Person one = new Person(20, "haoge"); Person two = new Person(18, "Jason"); array[0]=one; array[1]=two; System.out.println(array[0].getAge());
ArrayList集合
引入它的原因
泛型
廖雪峰:在讲解什么是泛型之前,我们先观察Java标准库提供的ArrayList,它可以看作“可变长度”的数组,因为用起来比数组更方便。
泛型就是编写模板代码来适应任意类型 。
因此,泛型就是定义一种模板,例如ArrayList,然后在代码中为用到的类创建对应的ArrayList<类型>
- 使用泛型时,把泛型参数替换为需要的class类型,例如:ArrayList,ArrayList等;
- 可以省略编译器能自动推断出的类型,例如:List list = new ArrayList<>();;
- 不指定泛型参数类型时,编译器会给出警告,且只能将视为Object类型;
- 可以在接口中定义泛型类型,实现此接口的类必须实现正确的泛型类型。
ArrayList常用方法:
add是boolean类型的