1 Scanner类
1.1 API的概述
API (Application Program Interface):应用程序接口;是Java提供很多类和接口以来帮助我们编程。我们在拿到一个API文档的时候,第一个要看包路径;第二看构造方法;第三看方法摘要。
1.2 引用类型的使用步骤
功能:可以实现键盘输入数据。
引用类型的一般使用步骤:(除了基本数据类型,都是引用类型,所以scanner也是一个引用类型)
(1)导包
import 包路径.包名称;
特殊情况:在java的API中,只有java.lang包下的内容不需要导包,可以直接使用;比如String类。
(2)创建
类名称 对象名=new 类名称();
(3)使用
对象名.成员方法名();
1.3 Scanner类的使用步骤
package com.yc.page4;
import java.util.Scanner; //1.导包
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in); //2、创建
int num=sc.nextInt(); //3、使用
System.out.println("输入的是"+num); //输入数字
String str=sc.next();
System.out.println("输入的字符串是"+str); //输入字符串
}
}
1.4 匿名对象
创建对象的格式是: 类名称 对象名=new 类名称();
匿名对象只有后面的new 类名称()
注意事项: 匿名对象只能使用一次。
1 public class Human {
2 String name;
3 public void show() {
4 System.out.println("我叫"+name);
5 }
6 }
7
8 public static void main(String[] args) {
9 new Human().name="张三";
10 new Human().show();
11
12 }
结果为:null;因为进行了两次new,说明创建了两个对象,所以证明匿名对象只能使用一次。
1.5 匿名对象作为方法的参数
1 public static void main(String[] args) {
2 //1、普通使用方法
3 /* Scanner sc=new Scanner(System.in);
4 int num=sc.nextInt();
5 System.out.println("输入的是:"+num); */
6
7 //2、匿名对象使用方法
8 /* int num=new Scanner(System.in).nextInt();
9 System.out.println("输入的是:"+num); */
10
11 //3、匿名对象作为方法的参数
12 // methodDemo(new Scanner(System.in));
13
14 //4、匿名对象作为方法的返回参数
15 Scanner sc=returnDemo();
16 int num=sc.nextInt();
17 System.out.println("输入的是:"+num);
18 }
19 public static void methodDemo(Scanner sc) {
20 int num=sc.nextInt();
21 System.out.println("输入的是:"+num);
22 }
23 public static Scanner returnDemo() {
24 return new Scanner(System.in);
25
26 }
1.6 random的概述和基本使用
random类用来生成随机数。使用起来也是三步骤。
1 导包
2 创建
3 使用
(1)不带参数生成的随机数
public static void main(String[] args) {
Random r=new Random(); //创建
int num=r.nextInt(); //使用,不带参数的生成的是int型的任意一个数字
System.out.println(num);
}
(2)生成指定范围的数字
public static void main(String[] args) {
Random r=new Random(); //创建
int num=r.nextInt(10); //使用,带参数的生成左开右闭的数字[0,9)
System.out.println(num);
}
1.7 对象数组
1 public class Person {
2 private String name;
3 private int age;
4 public String getName() {
5 return name;
6 }
7 public void setName(String name) {
8 this.name = name;
9 }
10 public int getAge() {
11 return age;
12 }
13 public void setAge(int age) {
14 this.age = age;
15 }
16 public Person(String name, int age) {
17 this.name = name;
18 this.age = age;
19 }
20 public Person() {
21
22 }
23
24 public static void main(String[] args) {
25 Person one=new Person("张三",24); //创建对象
26 Person two=new Person("李四",25);
27 Person three=new Person("王五",26);
28 Person []arry=new Person[3]; //创建对象数组
29 arry[0]=one; //把对象的地址值赋值给数组
30 arry[1]=two;
31 arry[2]=three;
32 System.out.println(arry[0]); //打印地址值
33 System.out.println(arry[1]);
34 System.out.println(arry[2]);
35 System.out.println(arry[0].getName()); //get方法获取对象值
36 System.out.println(arry[1].getName());
37 System.out.println(arry[2].getName());
38 System.out.println(arry[0].getAge());
39 System.out.println(arry[1].getAge());
40 System.out.println(arry[2].getAge());
41 }
对象数组的弊端就是,一旦确定了数组的大小,就不能更改了。如果事先不知道对象有几个用数组会显得很麻烦。所以引出了ArrayList集合。
1.8 ArrayList集合
数组的长度不可以发生改变,但是ArrayList集合的长度是可以随意变化的。
在观察API的时候发现有一个<E>;<E>代表的是泛型;也就是在集合中所有的元素,全都是统一类型的数据。(泛型只能是引用类型,不能装基本数据类型)。
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容;如果内容是空,得到的是空的中括号:[]。
1 public static void main(String[] args) {
2 ArrayList<String> list=new ArrayList<String>();
3 System.out.println(list);
4
5 }
结果:[]
1.8.1 ArrayList常用方法
(1)add方法
往集合里添加元素。
(2)get方法
从集合里取元素,参数是索引编号,返回的是对应位置的元素。
(3)remove方法
从集合里删除元素,参数是索引编号,返回的是对应位置的元素。
(4)size方法
获取集合的长度。
1 public static void main(String[] args) {
2 ArrayList<String> list=new ArrayList<String>();
3 list.add("a"); //添加元素
4 list.add("b");
5 list.add("c");
6 list.add("d");
7 list.add("e");
8 System.out.println(list);
9 String name=list.get(3); //获取元素
10 System.out.println(name);
11 String remove=list.remove(3); //删除元素
12 System.out.println(remove);
13 System.out.println(list);
14 int num=list.size(); //获取集合长度
15 System.out.println(num);
16 }
1.8.2 ArrayList集合的遍历
遍历首先想到的是for循环,数组的长度是length方法,集合是size方法,所以代码为
1 public static void main(String[] args) {
2 ArrayList<String> list=new ArrayList<String>();
3 list.add("a"); //添加元素
4 list.add("b");
5 list.add("c");
6 list.add("d");
7 list.add("e");
8 for(int i=0;i<list.size();i++) {
9 System.out.println(list.get(i));
10 }
1.8.3 ArrayList集合存储基本数据类型
ArrayList只能存储引用数据类型,不能存储基本数据类型。如果ArrayList想存储基本数据类型;这里引出了包装类。8种基本数据类型对应的包装类分别为:
byte Byte
short Short
int Integer
long Long
floot Floot
double Double
char Character
boolean Boolean
从JDK1.5以后,支持自动装箱和自动拆箱。
自动装箱:基本数据类型---》包装类型
自动拆箱:包装类型---》基本数据类型
来源:oschina
链接:https://my.oschina.net/u/4375708/blog/4177212