java之常用API

阿狸写代码 2019-12-02

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 类名称()

注意事项: 匿名对象只能使用一次。

public class Human {
    String name;
    public void show() {
        System.out.println("我叫"+name);
    }
}

public static void main(String[] args) {
        new Human().name="张三";
        new Human().show();

    }结果为:null;因为进行了两次new,说明创建了两个对象,所以证明匿名对象只能使用一次。

1.5 匿名对象作为方法的参数

public static void main(String[] args) {
        //1、普通使用方法
    /*    Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        System.out.println("输入的是:"+num);  */
        
        //2、匿名对象使用方法
    /*    int num=new Scanner(System.in).nextInt();
        System.out.println("输入的是:"+num);   */
        
        //3、匿名对象作为方法的参数
    //    methodDemo(new Scanner(System.in));
        
        //4、匿名对象作为方法的返回参数
        Scanner sc=returnDemo();
        int num=sc.nextInt();
        System.out.println("输入的是:"+num);
    }
    public static void methodDemo(Scanner sc) {
        int num=sc.nextInt();
        System.out.println("输入的是:"+num);
    }
    public static Scanner returnDemo() {
        return new Scanner(System.in);
        
    }

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 对象数组

public class Person {
    private String name;
    private int 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;
    }
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public Person() {
        
    }

public static void main(String[] args) {
        Person one=new Person("张三",24);  //创建对象
        Person two=new Person("李四",25);
        Person three=new Person("王五",26);
        Person []arry=new Person[3];     //创建对象数组
        arry[0]=one;      //把对象的地址值赋值给数组
        arry[1]=two;
        arry[2]=three;
        System.out.println(arry[0]);   //打印地址值
        System.out.println(arry[1]);
        System.out.println(arry[2]);
        System.out.println(arry[0].getName()); //get方法获取对象值
        System.out.println(arry[1].getName());
        System.out.println(arry[2].getName());
        System.out.println(arry[0].getAge());
        System.out.println(arry[1].getAge());
        System.out.println(arry[2].getAge());
    }

对象数组的弊端就是,一旦确定了数组的大小,就不能更改了。如果事先不知道对象有几个用数组会显得很麻烦。所以引出了ArrayList集合。

1.8 ArrayList集合

数组的长度不可以发生改变,但是ArrayList集合的长度是可以随意变化的。

在观察API的时候发现有一个<E>;<E>代表的是泛型;也就是在集合中所有的元素,全都是统一类型的数据。(泛型只能是引用类型,不能装基本数据类型)。

对于ArrayList集合来说,直接打印得到的不是地址值,而是内容;如果内容是空,得到的是空的中括号:[]

public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<String>();
        System.out.println(list);
        
    }结果:[]

1.8.1 ArrayList常用方法

(1)add方法

往集合里添加元素。

(2)get方法

从集合里取元素,参数是索引编号,返回的是对应位置的元素。

(3)remove方法

从集合里删除元素,参数是索引编号,返回的是对应位置的元素。

(4)size方法

获取集合的长度。

 

public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<String>();
        list.add("a");   //添加元素
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        System.out.println(list);
        String name=list.get(3); //获取元素
        System.out.println(name);
        String remove=list.remove(3); //删除元素
        System.out.println(remove);
        System.out.println(list);
        int num=list.size();           //获取集合长度
        System.out.println(num);
    }

1.8.2 ArrayList集合的遍历

遍历首先想到的是for循环,数组的长度是length方法,集合是size方法,所以代码为

public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<String>();
        list.add("a");   //添加元素
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        for(int i=0;i<list.size();i++) {
            System.out.println(list.get(i));
        }

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以后,支持自动装箱和自动拆箱。

自动装箱:基本数据类型---》包装类型

自动拆箱:包装类型---》基本数据类型

相关推荐