Java知识复习巩固DAY1

API概述和使用

概述

API(ApplicationProgrammingInterface),应用程序编程接口。JavaAPI是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。

使用

1
2
3
4
5
6
1.打开帮助文档。
2.点击显示,找到索引,看到输入框。
3.你要找谁?在输入框里输入,然后回车。
4.看包。java.lang下的类不需要导包,其他需要。
5.看类的解释和说明。
6.学习构造方法。

Scanner类

一个可以解析基本类型和字符串的简单文本扫描器。可以读取通过键盘录入的值

1
2
Scanner sc = new Scanner(system.in);
int i = sc.nextInt();

通过上面的代码我们就可以通过键盘录入一个为的int的变量i,而他的数值即为我们键盘录入的值

通过一个实例来看:

1
成绩大于60分为及格,写一个程序判断输入的成绩是否及格

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;

public class Demo1 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入成绩:");
int core = sc.nextInt();
if(core >= 60){
System.out.println("成绩及格!");
}else{
System.out.println("成绩不合格!");
}
}
}

运行结果

根据该代码进行分析,第一句代码使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。格式: import 包名.类名

1
import java.util.Scanner;

然后在main方法中去创建对象

1
Scanner sc =new Scanner(System.in);

调用方法

1
int core = sc.nextInt();

匿名对象

标准对象:一般情况下我们新建对象的标准格式是

1
类名称 对象名 = new 类名称();

匿名对象:只有右边的对象,没有左边的名字和赋值运算符

1
new 类名称();

应用场景

1.创建匿名对象直接调用方法,没有变量名

1
new Scanner(System.in).nextInt();

2.一旦调用两次方法,就是创建了两个对象,造成代码冗杂。而且一个匿名对象只能使用一次。

1
2
new Scanner(System.in).nextInt();
new Scanner(System.in).nextInt();

例如

1
2
3
4
5
6
public class Demo1 {
String name;
public void ShowName() {
System.out.println("我的名字"+name);
}
}
1
2
3
4
5
6
public class Demo1Anonymous {
public static void main(String[] args) {
new Demo1().name="小老斧";
new Demo1().ShowName();
}
}

这里出现了两次匿名创建对象结果出现的是String类型的默认值null,这也就说明了匿名对象是只能使用唯一一次的,再次使用时会创建一个新的对象。如果确定一个对象只需要使用一次的情况下可以使用匿名对象。

3.匿名对象可以作为方法的参数和返回值

作为参数

1
2
3
4
5
6
7
8
9
10
11
12
import java.util.Scanner;

public class Demo2Anonymous {
public static void main(String[] args) {

method(new Scanner(System.in));
}
public static void method(Scanner sc){
int num = sc.nextInt();
System.out.println("输入的数字"+num);
}
}

作为返回值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


import java.util.Scanner;

public class Demo2Anonymous {
public static void main(String[] args) {
Scanner sc = methodReturn();
int num = sc.nextInt();
System.out.println("输入的数"+num);

}

public static Scanner methodReturn() {
return new Scanner(System.in);
}

}

Random类

Random类用于产生随机数

1
2
3
4
5
6
7
8
9
import java.util.Random;

public class Demo1Random {
public static void main(String[] args) {
Random sc = new Random();
int i = sc.nextInt();
System.out.println(i);
}
}

这段代码就可以生成一个随机数,可以看到这个Random类的使用方法和Scanner类似。

练习

游戏开始时,会随机生成一个1-100之间的整数number。玩家猜测一个数字guessNumber,会与number作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.Random;
import java.util.Scanner;

/**
游戏开始时,
会随机生成一个1-100之间的整数number。
玩家猜测一个数字guessNumber,会与number作比较,系统提示大了或者小了,直到玩家猜中,
游戏结束。
**/
public class Demo1Random {
public static void main(String[] args) {
Random r = new Random();
int number = r.nextInt(100)+1;
// System.out.println(number);
while(true){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你猜测的数字1-100:");
int guessNumber = sc.nextInt();

if(guessNumber>number){
System.out.println("大了");
}else if(guessNumber<number){
System.out.println("小了");
}else{
System.out.println("恭喜你猜对了");
break;
}

}
}
}

ArrayList类

什么是ArrayList类

导包

1
java.util.ArrayList

java.util.ArrayList是大小可变数组的实现,存储在内的数据称为元素,该类提供一些方法来操作内部存储的元素。其中可以不断的添加元素,大小自动增涨。

使用

首先导入包

1
import java.util.ArrayList

构造

1
public ArrayList();   //构造一个内容为空的集合。

基本格式

1
ArrayList<String> list = new ArrayList<String>();

JDK7之后,等号右侧的<String> 可以省去String,但是简括号必须保留

1
ArrayList<String> list = new ArrayList<>();

常用方法

Public boolean add(E e); 向集合中添加元素,参数的类型和泛型一致。

public E get(int index); 从集合中获取元素,参数是索引编号,返回值就是对应位置的元素。

public E remove(int index);从集合中删除元素,参数是索引编号,返回值就是被删掉的元素。

punlic int size(); 获取集合的尺寸长度,返回值是集合中包含的元素个数。

代码实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

import java.util.ArrayList;

public class Demo0ArrayList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[]
list.add("小老虎");
list.add("大老虎");
list.add("母老虎");
System.out.println(list);
String name = list.get(1);
System.out.println("索引1号位置是"+name);
String re = list.remove(2);
System.out.println("删除的是"+re);
int s = list.size();
System.out.println("长度是"+s);

}
}

ArrayList练习

数值添加到集合

生成6个1~33之间的随机整数,添加到集合,并遍历

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

import java.util.ArrayList;
import java.util.Random;

public class ArrayListTest01 {
public static void main(String[] args) {
Random r = new Random();
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i<6;i++){
// System.out.println(i);
int number = r.nextInt(33)+1;
list.add(number);
}
//遍历输出
for(int i=0;i< list.size();i++){
System.out.println(list.get(i));
}
}
}

对象添加到集合

自定义4个学生对象,添加到集合,并遍历

先创建Student学生类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class Student {

private String name;
private int age;

public Student() {
}

public Student(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}

然后写ArrayList

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

import java.util.ArrayList;
public class ArrayListTest02 {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> list = new ArrayList<>();

//创建学生对象
Student s1 = new Student("喜羊羊" , 20);
Student s2 = new Student("美羊羊" , 21);
Student s3 = new Student("懒羊羊" , 22);
Student s4 = new Student("沸羊羊" , 23);

//把学生对象作为元素添加到集合中
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);

//遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println("姓名" + stu.getName() + ", 年龄: " + stu.getAge());
}
}


}