java语言进阶篇1——API

1、API

  • 应用程序编程接口,JDK提供的现成类,可直接使用。
  • API文档可以查询类,JDK_API_1_6_zh_CN.CHW是中文版API文档。

2、Scanner类

  • 可实现键盘输入数据到程序中。
  • 类的使用步骤:①导包(java.lang包不要导入);②创建对象;③使用方法。
import java.util.Scanner;  //1、导包,可查看API文档,或通过Scanner回车快捷键生成

public class Demo01Scanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  // 2、创建
        System.out.println("请输入一个整形数字:");
        int num = sc.nextInt();  //3、调用nextInt方法输入一个整型
        System.out.println("输入的数字为:"+num);  //输入的数字为:5
        System.out.println("请输入一个字符串:");
        String str = sc.next();  // 调用next方法输入一个字符串
        System.out.println("输入的字符串为:"+ str);  //输入的字符串为:Hello
    }
}

3、匿名对象

  • 只有右边的对象,没有左边的名字和赋值运算符 new 类名称();
  • 匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
  • 使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
//常规使用对象
Person person = new Person();
person.name = "咸咸";

//匿名对象
new Person().name = "咸咸";

//Scanner匿名对象
int num = new Scanner(System.in).nextInt();

4、Scanner作为方法的参数和返回值

import java.util.Scanner;  //导包

public class Demo02Niming {
    public static void main(String[] args) {
        //一般方法传入参数
        Scanner sc = new Scanner(System.in); //创建
        methodParam(sc);      //输入的数字为:6
        //使用匿名对象进行传参
        methodParam(new Scanner(System.in));   //输入的数字为:9

        //使用匿名对象作为方法返回值
        Scanner sc2 = methodReturn();  //创建一个Scanner对象接收方法返回值
        String str = sc2.next();  //返回值调用next方法
        System.out.println("输入的字符串为:" + str);    //输入的字符串为:Salty
    }
    public static void methodParam(Scanner sc){  //Scanner类型作为方法参数
        int num = sc.nextInt();
        System.out.println("输入的数字为:" + num);
    }
    public static Scanner methodReturn(){   //Scanner类型作为方法的返回值
        return new Scanner(System.in);  //使用匿名对象
    }
}

5、Random类

  • 生成随机数字。
  • 使用三个步骤:导包、创建、使用。
  • 对象.nextInt():数字范围为int所有范围,包括正负。
  • 对象.nextInt(n):生成范围为0~n-1内的随机数字。
import java.util.Random;  //导包

public class Demo03Random {
    public static void main(String[] args) {
        Random r = new Random();  //创建
        int num1 = r.nextInt();  //使用,产生一个随机数字
        System.out.println("随机数字为:" + num1);  //随机数字为:1005013952
        int num2 = r.nextInt(3);  //生成范围为[0.3)内的随机数字
        System.out.println("指定范围内的随机数字为:" + num2);  //指定范围内的随机数字为:1
        int num3 = r.nextInt(100) + 1;  //生成范围为1~100内的随机数字
        System.out.println("指定范围内的随机数字为:" + num3);  //指定范围内的随机数字为:72
    }
}

6、对象数组

  • 定义一个数组,用来存储3个Person对象。
  • 数组有一个缺点:一旦创建,程序运行期间长度不可以改变。
public class Person {  //Person类
    String name;
    int age;
    //无参构造方法
    public Person() {
    }
    //全参构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
public class Demo04Array {
    public static void main(String[] args) {
        Person[] array = new Person[3];   //创建一个类型为Person的数组,大小为3
        Person one = new Person("乔治",18); //创建三个Person对象
        Person two = new Person("猪头",19);
        Person three = new Person("烧烧",20);
        array[0] = one;   //将one对象的地址值赋给数组0号位置
        array[1] = two;
        array[2] = three;
        System.out.println(array[0]);  // 输出的为地址值
        System.out.println(array[1].name);  //猪头
    }
}

7、ArrayList类

  • 数组长度不可变,但ArrayList集合的长度可变化
  • 对于ArrayList来说,有一个尖括号< E > ,表示泛型,也就是装在集合中的所有元素的同一类型。
  • 泛型只能是引用类型(String、类、数组…),不能是基本类型(int、float、char…)。
  • 常用方法:
    1. public boolean add(E, e) : 向集合中添加元素,参数类型和泛型E一致
    2. public E get(int index):获取集合中索引位置的元素
    3. public E remove(int index):删除集合中索引位置的元素
    4. public int size():返回集合中元素个数
import java.util.ArrayList;  //导包

public class Demo05ArrayList {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();  //创建。 JDK1.7+开始,右边<>内可不写内容,但<>不能省
        System.out.println(list);  //对于ArrayList直接打印得到的是内容,不是地址值,若内容为空,则输出[]
        list.add("咸咸");
        list.add("佩奇");
        System.out.println(list);  //[咸咸, 佩奇]
    }
}

8、ArrayList集合存储基本类型数据

  • 如果希望向集合ArrayList中存储基本类型,必须使用基本类型对应的“包装类”。“包装类”是引用类型,在java.lang包下。
  • 基本类型对应的包装类:byte——Byte、short——Short、int——Integer、lang——Lang、float——Float、double——Double、char——Character、boolean——Boolean。
  • 自定义四个学生对象,添加到集合中,并遍历。对象作为ArrayList的元素。
import java.util.ArrayList;
public class Demo06ArrayListStudent {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();  //创建一个Student类型的集合
        Student one = new Student("学生1",17);  //创建四个Student对象
        Student two = new Student("学生2",24);
        Student three = new Student("学生3",21);
        Student four = new Student("学生4",22);
        list.add(one);   //将四个Student对象添加入集合中
        list.add(two);
        list.add(three);
        list.add(four);
        for (int i = 0; i < list.size(); i++) {  //遍历集合
            System.out.println(list.get(i));   //直接输出list.get(i)是每个对象的地址
            Student stu = list.get(i);  //要输出对象的属性信息,先创建一个Student对象接收每个集合中的元素,再使用Getter方法获取private属性值
            System.out.println("姓名:" + stu.getName() +",年龄:" + stu.getAge());
        }
    }
}

9、ArrayList作为方法的参数

//将ArrayList中的元素按{xianxian@Salty@Julie}格式输出
import java.util.ArrayList;

public class Demo07ArrayListParam {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();  //创建
        list.add("xianxian"); //添加元素
        list.add("Salty");
        list.add("Julie");
        printArrayList(list); //调用方法   {xianxian@Salty@Julie}
    }
    public static void printArrayList(ArrayList<String> list){  //AraayList类型作为方法参数
        System.out.print("{");  //不要换行
        for (int i = 0; i < list.size(); i++) {
            if(i==list.size()-1){  //注意size要-1
                System.out.print(list.get(i) + "}");
            }else{
                System.out.print(list.get(i) +"@");
            }
        }
    }
}

10、ArrayList作为方法的返回值

//随机生成一个ArrayList<Integer>,找出其中为偶数的元素,存为新的集合
import java.util.ArrayList;
import java.util.Random;

public class Demo08ArrayListReturn {
    public static void main(String[] args) {
        ArrayList<Integer> bigList = new ArrayList<>(); //创建
        ArrayList<Integer> smallList = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 5; i++) {
            int num = r.nextInt(10)+1;
            bigList.add(num);
        }
        System.out.println("bigList:" + bigList); //bigList:[5, 9, 5, 4, 2]
        smallList = getSmallList(bigList);
        System.out.println("smallList:" + smallList); //smallList:[4, 2]
    }
    public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList){ //ArrayList<Integer> 作为方法返回值和参数
        ArrayList<Integer> smallList = new ArrayList<>(); //创建
        for (int i = 0; i < bigList.size(); i++) {
            if(bigList.get(i)%2==0){
                smallList.add(bigList.get(i));
            }
        }
        return smallList;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值