java中常用APIScanner类匿名对象Random类ArrayList类对象数组

Posted 苦海123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中常用APIScanner类匿名对象Random类ArrayList类对象数组相关的知识,希望对你有一定的参考价值。

java中常用API:

API:Application Programming Interface,应用程序编程接口。Java API是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要知道如何使用即可。

Scanner类:

Scanner类是JDK提供给我们获取键盘输入内容的类,它是一个引用型类,java中除基本类型数据外,都为引用型类。

// 1.引用类型类使用步骤:导包--创建--使用,一般情况使用引用类型是这三个步骤,但是包为java.lang的类或当前类和目标类在同一个包下,则不需要导包,如:String类可以直接使用。
//导包,导包语句写在public class语句前面,其格式为:import 包路径.类名称
import java.util.Scanner;

public class ScannerObj{
    public static void main(String[] args){
        // 创建:创建语句写在main方法中,其格式为:类名称 变量名(对象名)= new 类名称(可传入参数);
        Scanner sc = new Scanner(System.in);//Scanner类中规定要传入类容,否则会报错,传入类容的源头有很多,如文件、网络等,这里使用System.in表示从键盘传入

        // 使用:使用语句格式为:sc.方法名(),方法名可以在官方文档中查阅具体的名称
        int intnumber = sc.nextInt();// nextInt()方法用于获取整型数据
        System.out.println("intnumber:"+intnumber);//当javac -encoding UTF-8 ScannerObj.java编译后,java ScannerObj执行程序时,此时在键盘中敲数字,之后回车就会打印出输入的数字

        String str = sc.next();//next()用于获取字符串
        System.out.println("str:"+str);//当javac -encoding UTF-8 ScannerObj.java编译后,java ScannerObj执行程序时,此时在键盘中敲什么,回车就会打印显示什么
    }
}

案例:

// 案例:封装一个求键盘输入两个int类型的数字相乘的方法,并在键盘中输入2回车和5回车进行测试。
import java.util.Scanner;//1.导包:此语句在某些编辑器中可以不用手动写入,当创建此类的对象时会自动生成此代码

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

        // 3.调用下面定义的mult方法并将mult方法的返回值赋值给变量result:
        int result = mult();
        // 4.通过System.out.println打印result结果:
        System.out.println("result的值为:" + result);//result的值为:10
    }
    
    // 2.定义一个返回两个int数字相乘的方法mult:
    public static int mult(){
        // 2-1.创建Scanner对象:
        Scanner sc = new Scanner(System.in);

        // 优化用户体验可省略:通过System.out.println()提示用户进行输入:
        System.out.println("请输入第一个int类型的数字后回车");
        // 2-2.将键盘上两次输入的值赋值给变量num1和num2:
        int num1 = sc.nextInt();
        // 优化用户体验可省略:通过System.out.println()提示用户进行输入:
        System.out.println("请输入第二个int类型的数字后回车");
        int num2 = sc.nextInt();
        // 2-3.将num1和num2相乘后return:
        return num1 * num2;
    }
}

提示:Scanner类的方法还有很多种,具体可以到官方文档进行查阅。

匿名对象:

创建对象的时候可以给对象取一个名字,当不给对象取名字的时候,可以称为匿名对象。匿名对象是一次性的,也就是说,每次使用匿名对象的时候都要创建,实际开发中只有使用一次的对象推荐使用匿名对象。

// 1.创建普通对象的基本格式:类名称 变量名 = new 类名称(可传参数);
// 2.创建匿名对象的基本格式:new 类名称(可传参数);匿名对象每次使用都要创建,匿名对象是一次性的,匿名对象使用成员变量:new 类名称(参数).成员变量 = "值";使用方法格式:new 类名称(参数).成员方法()

// 3.应该定义一个Person类文件,并导入到此作用域,如果在当前包中定义的Person类,则无需导入
public class Anonymous{
    public static void main(String[] args){
        // 4.实例化一个Person的匿名对象:
        new Person().names = "jack";
        // 5.打印匿名对象的names:
        System.out.println(new Person().names);//null,这里实际已经是第二次创建匿名对象了,创建完匿名对象没有赋值,所以为null
        // 6.调用匿名对象的方法say:
        new Person().say();//hello,
    }  
}

定义Person.java代码如下:

// 3.定义一个Person类:
public class Person{
    String names;
    public void say(){
        System.out.println("hello");
    }
}

提示:匿名对象也是可以做为方法的返回值或参数进行使用的。

Random类:

Random类是用来创建生成随机数的,如:

// 1.Random类的使用方法和前面提到过的Scanner类的使用方法一样,也是导包--创建--使用,其实一般情况下所有引用型类都是分这三个步骤:
import java.util.Random;//导包,可自动生成
public class RandomObj{
    public static void main(String[] args){
        Random randoms = new Random();//2.创建对象
        // 3.使用:
        int numInt = randoms.nextInt();//3-1Random的nextInt()方法不传参数产生一个int取值范围内的数,有正负;
        System.out.println("randoms.nextInt()的值为:"+numInt);//多次测试有不同的结果,如:320109037、142656520、-426750655
        // 3-2:当nextInt()方法中传入一个int数值时,此时会生成[0,参数)范围的随机数:
        int numIntMin5 = randoms.nextInt(5);
        System.out.println("randoms.nextInt(5)的值为:"+numIntMin5);//经测试会生成0~4的int数值
    }
}

提示:Random类的方法还有很多种,具体可以到官方文档进行查阅。

ArrayList类

对象数组:把对象存在数组中,这样的数组称为对象数组。对象数组有个缺点:当程序运行时,数组的长度是无法改变的,为解决这个问题,java提供了另一个可以存对象的容器:ArrayList类实例化的对象,ArrayList可以使我们便捷的存储和操作对象数据。

// 1.ArrayList类实例化的对象可以存对象,且对象的长度是可以变化的;但是集合只能直接存引用类型数据(基本数据类型要使用包装类)且类型要统一,这里指泛型。
import java.util.ArrayList;//导包

public class ArrayListObj{
    public static void main(String[] args){
        // 2.创建对象:
        ArrayList<String> arrlist = new ArrayList<>();//<>尖括号在这里表示泛型(集合当中的元素类型相同),尖括号里面可以写具体引用数据类型是什么,前面的尖括号中一定写,后面的<>中类型在新版1.7+JDK中可以省略,但是<>不能省略

        System.out.println(arrlist);//[],注意:在集合中,直接打印对象的变量名不会是一个地址值,而是内容,如果内容为空,则打印:[]

        // 3-1.若要给数组集合添加元素,那么就得使用:add()方法,返回一个布尔值,表示添加是否成功
        arrlist.add("apple");
        arrlist.add("苹果");//添加集合元素的时候一定要和前面泛型一致,否则会报错的。
        System.out.println(arrlist);//[apple, 苹果]

        // 3-2:获取集合中某元素的值:get(索引值),索引值从0开始,和数组类似,如:
        System.out.println(arrlist.get(1));//苹果

        // 3-3:删除集合中的某元素:remove(索引值),它返回被删除元素的值,如:
        System.out.println(arrlist.remove(0));//apple
        System.out.println(arrlist);//[苹果]

        // 3-4:获取集合的尺寸长度:size(),返回集合元素个数
        System.out.println(arrlist.size());//1,因为前面有删除,只剩一个元素

        // 4.包装类:将基本数据类型包装成引用型数据的过程:括号中为对应包装类,byte(Byte)、short(Short)、int(Integer)、long(Long)、float(Float)、double(Double)、char(Character)、boolean(Boolean),即特殊的只有:int和char,如:
        ArrayList<Integer> intlist = new ArrayList<>();
        intlist.add(1);
        intlist.add(2);
        System.out.println(intlist);//[1, 2],其它包装类的用法完全一致。
        int numints = intlist.get(1);
        System.out.println(numints);//2
    }
}

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

以上是关于java中常用APIScanner类匿名对象Random类ArrayList类对象数组的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象(OOP)--内部类(匿名内部类)

Java中,匿名内部类

java 匿名对象,内部类,修饰符,代码块

Java入土---常用类

对 Java 的匿名内部类理解

java 类的匿名类和封装