API
API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
API的使用
通过API查找Scanner类
什么是Scanner类?
一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
引用类型的一般使用步骤:
1、导包:使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。
格式:import 包名.类名;
java.util.Scanner;
2、创建对象,使用该类的构造方法,创建一个该类的对象。
格式:数据类型 变量名 = new 数据类型(参数列表);
Scanner sc = new Scanner(System.in);
3、调用方法,调用该类的成员方法,完成指定功能。
格式:变量名.方法名();
int i = sc.nextInt(); // 接收一个键盘录入的整数
Scanner使用步骤
查看类
java.util.Scanner :该类需要import导入后使用。
查看构造方法
查看成员方法
public int nextInt() :将输入信息的下一个标记扫描为一个 int 值。
//1. 导包
import java.util.Scanner;
public class Demo01_Scanner {
public static void main(String[] args) {
//2. 创建键盘录入数据的对象
Scanner sc = new Scanner(System.in);
//3. 接收数据
System.out.println("请录入一个整数:");
int i = sc.nextInt();
//4. 输出数据
System.out.println("i:"+i);
}
}
匿名对象
public class DemoAnonymous {
/*创建对象的标准格式:
类名称 对象名 = new 类名称();
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符
new 类名称()*/
public static void main(String[] args) {
Person per1 = new Person();
per1.name = "高圆圆";
per1.showName();
System.out.println("-------");
new Person().name = "赵又廷";
new Person().showName();
}
}
import java.util.Scanner;
public class Demo2Anonymous {
public static void main(String[] args) {
//普通方式
Scanner sc = new Scanner(System.in);
int num =sc.nextInt();
//匿名方式
int num1 =new Scanner(System.in).nextInt();
System.out.println("输入的数字是:"+num1);
//使用一般方法传入参数
Scanner Sc = new Scanner(System.in);
methodParam(Sc);
//使用匿名对象来进行传参
methodParam(new Scanner(System.in));
Scanner param = methodReturn();
int num3 = param.nextInt();
System.out.println("输入的数字:"+num3);
}
public static void methodParam(Scanner sc){
int num2 = sc.nextInt();
System.out.println("输入的是:"+num2);
}
public static Scanner methodReturn(){
return new Scanner(System.in);
}
}
实例
import java.util.Random;
import java.util.Scanner;
public class DemoRandomGame {
/*题目:模拟猜数字游戏
思路:
1、首先需要产生一个随机数,并且一旦产生不在变化,用random.nextInt方法
2、需要键盘输入,所以用到了Scanner
3、获取键盘输入的数字,用Scanner.nextInt方法
4已经得到了两个数字,判断(if)一下:
如果太小了,提示太小,并重试;
如果太大了,提示太大,并重试;
如果猜中了,游戏结束
5、重试就是再来一次,循环次数不确定,用while(true)*/
public static void main(String[] args) {
int ram = new Random().nextInt(101);
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你猜的数字");
int guessNum = sc.nextInt();
if (ram < guessNum) {
System.out.println("你猜的数字太大,请重试");
} else if (ram > guessNum) {
System.out.println("你猜的数字太小,请重猜");
} else {
System.out.println("恭喜你,猜中啦!");
break;
}
}
System.out.println("游戏结束");
}
}
对象数组
package demo01;
public class Demo01Array {
/*定义一个数组,用来存储3个Person对象
数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变*/
public static void main(String[] args) {
//创建一个长度为3的数组,里面用来存放Persin类型对象
Person[] array = new Person[3];
Person one = new Person("迪丽热巴",18);
Person two = new Person("范冰冰",12);
Person three = new Person("赵丽颖",11);
//将one中地址赋值到数组的0号元素位置
array[0] = one;
array[1] = two;
array[2] = three;
System.out.println(array[0]);//地址值
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[0].getName());
}
}
ArrayList
package demo01;
import java.util.ArrayList;
/*数组的长度不可以改变
但是ArrayList集合长度是可以随意改变的
对于ArrayList来说,有一个<E>代表泛型
泛型:也就是装在集合当中所有元素都是统一的什么类型
注意:泛型只能是引用类型,不能是基本类型
ArrayList 常用方法:
list.add(E e)
list.get(int index)
list.remove(int index)
list.size()
*/
public class Demo01ArrayList {
public static void main(String[] args) {
//创建了一个ArrayList集合,集合的名称是list,里面装的全是String字符串类型的数据;
//备注:从JDK1.7开始,右侧尖括号内部可以不写内容,但是<>本身还是要写的
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[]
//向集合中添加一些数据,需要用到add方法
list.add("赵丽颖");
list.add("范冰冰");
list.add("古力娜扎");
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
package demo01;
/*如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型使用的“包装类”
基本类型 包装类
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char character 【特殊】
boolean Boolean
从JDK1.5+开始,支持自动装箱,自动拆箱
自动装箱:基本类型 → 包装类型
自动拆箱:包装类型 → 基本类型*/
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
//泛型只能是引用数据类型,不能是基本数据类型,错误写法
//ArrayList<String> list = new ArrayList<> ();
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
System.out.println(list);
}
}
举例
package demo01;
import java.util.ArrayList;
import java.util.Random;
/*题目:产生6个1-33之间的随机数字,添加到集合并遍历集合
思路:
1、创建一个集合,<Integer>
2、产生随机数,用到Random
3、用循环6次来产生6个随机数,for循环
4、循环内调用r.nextInt(int n),参数是33,0-32,整体+1是1-33
5、把数字添加到集合中:add
6、遍历集合:for、size、get
*/
public class Demo03ArrayList {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 6; i++) {
int num = r.nextInt(32)+1;
list.add(num);
}
System.out.println(list);
}
}