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类对象数组的主要内容,如果未能解决你的问题,请参考以下文章