Java API中的类

Java API中的类,第1张

API(应用程序接口)
   含义:
       指代编程语言或框架,插件源码中的类和接口

Java API:
   含义:
       java语言中源码的类和接口

Java API文档:
   针对源码中类与接口提供的查询文档

API文档关注重点:
   类的特点
   类的位置
       注意:如果某个类或接口在java.lang根目录下,使用时无需进行导包
   类的构造器
   类的方法
import关键字
   含义:
       导包,当使用其它包下的.java文件时无法直接进行使用,需要使用import关键字进行导包
   格式:
       import 包名.类名;(推荐)
           导入指定包下的指定类
       import 包名.*;
           导入指定包下所有的类
   位置:
       import关键字必须声明在package关键字和类文件(class,interface,enum)关键字之间
Scanner类
   类的特点
       针对基本类型和字符串类型进行扫描 *** 作的工具类
   类的位置
       java.util
   类的构造器
       public Scanner(InputStream source)
           构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。
       实参固定:System.in;键盘录入对象
   类的方法
       public void close()
           关闭此扫描器。
       public byte nextByte()
           将输入信息的下一个标记扫描为一个 byte。
       public short nextShort()
           将输入信息的下一个标记扫描为一个 short。
       public int nextInt()
           将输入信息的下一个标记扫描为一个 int。
       public long nextLong()
           将输入信息的下一个标记扫描为一个 long。
       public float nextFloat()
           将输入信息的下一个标记扫描为一个 float。
       public double nextDouble()
           将输入信息的下一个标记扫描为一个 double。
       public boolean nextBoolean()
           扫描解释为一个布尔值的输入标记并返回该值。
       public String next()
           查找并返回来自此扫描器的下一个完整标记。
       public String nextLine()
           此扫描器执行当前行,并返回跳过的输入信息。
使用Scanner扫描基本类型数据
  注意事项:
   1.键盘录入的数据必须在调用方法对应类型的取值范围内
   2.Scanner类只提供7种基本类型扫描的功能,并没有提供针对char类型元素扫描的功能
   3.使用Scanner进行基本类型数据键盘录入扫描时候,只能扫描对应的数据,无法扫描最后的回车换行(回车键)
       回车:将光标移动到当前行的行首
       换行:将光标移动到下一行的对应位置
		//创建Scanner扫描器对象
		Scanner sc = new Scanner(System.in);

		//扫描键盘录入的int类型数据
		System.out.println("请输入一个整数:");
		int num = sc.nextInt();

		//打印扫描到int类型数据
		System.out.println("num = " + num);

		//关闭资源
		sc.close();

使用Scanner对象扫描键盘录入的字符串类型元素

注意事项:
   1.使用next()扫描字符串的时候,遇到空白符号或完整字符串结束停止扫描,nextLine()扫描整行字符串内容
   2.使用nextLine()之前不能使用扫描基本类型的方法或next(),在内存缓冲区中遗留下来回车换行符,nextLine()进行误读
		private static void method01() {
			//创建Scanner对象
			Scanner sc = new Scanner(System.in);
	
			//键盘录入字符串元素
			System.out.println("请键盘录入一个字符串元素:");
			String str = sc.next();
	
			//打印扫描到的字符串元素
			System.out.println("str = " + str);
	
			//关闭资源
			sc.close();
	}

		private static void method02() {
			//创建Scanner对象
			Scanner sc = new Scanner(System.in);
	
			//键盘录入字符串元素
			System.out.println("请键盘录入一个字符串元素:");
			String str = sc.nextLine();
	
			//打印扫描到的字符串元素
			System.out.println("str = " + str);
	
			//关闭资源
			sc.close();
		}
		
		private static void method03() {
			//创建Scanner对象
			Scanner sc = new Scanner(System.in);
	
			//根据键盘录入的内容创建学生对象
			//键盘录入学生的ID
			System.out.println("请输入学生的ID:");
			int id = sc.nextInt();
			//键盘录入学生的姓名
			System.out.println("请输入学生的姓名:");
			String name = sc.next();
			//String name = sc.nextLine();
			//键盘录入学生的年龄
			System.out.println("请输入学生的年龄");
			int age = sc.nextInt();
	
			//创建学生对象
			Student s = new Student(id, name, age);
	
			System.out.println(s);
	}
Math类
   类的特点
       针对数学运算 *** 作的工具类
   类的位置
       java.lang
   类的构造器
       构造器私有化
   类的方法
       public static double random()
           返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

  在指定范围内随机生成一个整数的小技巧:
   格式:
       (int)(Math.random() * a + b);

       a:这个范围总共含有多少个数据,a就是多少
       b:这个范围起始数字
		//在0~9范围内随机生成一个整数
		int random1 = (int)(Math.random() * 10 + 0);
		System.out.println(random1);

		//在1~100范围内随机生成一个整数
		int random2 = (int)(Math.random() * 100 + 1);
		System.out.println(random2);

		//在5~8范围内随机生成一个整数
		int random3 = (int)(Math.random() * 4 + 5);
		System.out.println(random3);

		//在8~15范围内随机生成一个整数
		int random4 = (int)(Math.random() * 8 + 8);
		System.out.println(random4);

猜数字小游戏:

   	系统在1~100范围随机生成一个整数,玩家通过键盘录入的方式猜该随机整数,需要玩家猜中为止
       如果猜大啦,提示:猜大了
       如果猜小啦,提示:猜小了
       如果猜中啦,提示:猜中了
	private static void method() {
		//随机生成一个1~100之间的整数
		int num = (int)(Math.random() * 100 + 1);

		//创建一个扫描器对象
		Scanner sc = new Scanner(System.in);

		//创建玩家猜数字的范围变量
		int start = 1;
		int end = 100;

		while (true) {
			//扫描键盘录入的整数
			System.out.println("请键盘输入一个" + start + "~" + end + "范围内的整数:");
			int value = sc.nextInt();

			//进行健壮性判断
			if (value < start || value > end) {
				System.out.println("你猜数字有误,请重新输入数字......");
				continue;
			}
			//进行数据的比较
			if (value > num) {
				System.out.println("很遗憾,你猜的数字太大啦,请重新选择数字......");
				end = value - 1;
			} else if (value < num) {
				System.out.println("很遗憾,你猜的数字太小啦,请重新选择数字......");
				start = value + 1;
			} else {
				System.out.println("恭喜你,猜中啦,中午可以加个鸡腿!!!");
				break;
			}
		}
		//关闭资源
		sc.close();
	}
Arrays类
   类的特点
       针对数组 *** 作的工具类
   类的位置
       java.util
   类的构造器
       构造器私有化
   类的方法
       public static String toString(int[] a)
           返回指定数组内容的字符串表示形式。
       public static int binarySearch(int[] a,int key)
           使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。
       public static int[] copyOf(int[] original,int newLength)
           复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
       public static void sort(int[] a)
           对指定的 int 型数组按数字升序进行排序。
       public static void sort(Object[] a)
           根据元素的自然顺序对指定对象数组按升序进行排序。
       public static  void sort(T[] a,Comparator c)
           根据指定比较器产生的顺序对指定对象数组进行排序。

 针对基本类型元素的数组进行排序,会根据基本类型的数值大小进行升序排序(boolean类型数组除外)
 针对String类型元素数组进行排序,会根据字符串中字符内容的Unicode码表中对应的数据值大小进行升序排序
 针对自定义类型对象元素数组进行排序,必须由程序员自己定义"比较器"规则
   分类:
       1.自然顺序比较器:接口 Comparable
       2.指定顺序比较器:接口 Comparator
		//声明存储基本类型元素的数组
		int[] arr01 = {5,4,6,8,9,0,1,2,7,3};
		//声明存储String类型元素的数组
		String[] arr02 = {"c","尚硅谷","b","0","A","a","沙"};
		//声明存储自定义类型对象元素的数组
		Student s1 = new Student("唐小妃", 18);
		Student s2 = new Student("城小将", 18);
		Student s3 = new Student("李小白", 18);
		Student s4 = new Student("波斯客", 18);
		Student[] arr03 = {s1,s2,s3,s4};

		//按照固定的格式打印数组中元素拼接后的字符串
		System.out.println(Arrays.toString(arr01));
		System.out.println(Arrays.toString(arr02));
		System.out.println(Arrays.toString(arr03));

		System.out.println("================");

		//使用二分查找法查询指定数据对应的索引值
		//System.out.println(Arrays.binarySearch(arr01,0));

		System.out.println("================");

		//以指定的长度复制指定的数组
		int[] newArr01 = Arrays.copyOf(arr01,5);
		System.out.println(Arrays.toString(newArr01));

		int[] newArr02 = Arrays.copyOf(arr01,15);
		System.out.println(Arrays.toString(newArr02));

		String[] newArr03 = Arrays.copyOf(arr02,10);
		System.out.println(Arrays.toString(newArr03));

		System.out.println("================");

		//针对数组中内容进行排序
		Arrays.sort(arr01);
		System.out.println(Arrays.toString(arr01));

		Arrays.sort(arr02);
		System.out.println(Arrays.toString(arr02));

		Arrays.sort(arr03);
		System.out.println(Arrays.toString(arr03)); 
System类
   类的特点
       针对常用的属性和行为封装的工具类
   类的位置
       java.lang
   类的构造器
       构造器私有化
   类的变量和方法
       public static final PrintStream out
           “标准”输出流。
       public static final InputStream in
           “标准”输入流。
       public static void gc()
           运行垃圾回收器。
       public static void setOut(PrintStream out)
           重新分配“标准”输出流。
       public static long currentTimeMillis()
           返回以毫秒为单位的当前时间。
       public static long nanoTime()
           返回最准确的可用系统计时器的当前值,以纳秒为单位。
		//获取此时的时间
		long start = System.nanoTime();

		for (int i = 0; i < 10000; i++) {

		}

		//获取此时的时间
		long end = System.nanoTime();

		System.out.println(end - start);
BigInteger类
   类的特点
       不可变的任意精度的整数。
       其实就是在实际开发中如果需要声明初始化比long取值范围还要大或者小的数据值,使用BigInteger进行声明初始化
   类的位置
       java.math
   类的构造器
       public BigInteger(String val)
           将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
   类的方法
		//创建BigInteger对象
		BigInteger big1 = new BigInteger("12345678901234567890");
		BigInteger big2 = new BigInteger("1");

		BigInteger result = big1.add(big2);
		System.out.println("result = " + result);
BigDecimal类
   类的特点
       不可变的、任意精度的有符号十进制数
   类的位置
       java.math
   类的构造器
       public BigDecimal(String val)
           将 BigDecimal 的字符串表示形式转换为 BigDecimal。
   类的方法
		double d1 = 2.0;
		double d2 = 1.1;
		System.out.println(d1 - d2);

		BigDecimal big1 = new BigDecimal(2.0);
		BigDecimal big2 = new BigDecimal(1.1);

		BigDecimal result = big1.subtract(big2);
		System.out.println(result);


		BigDecimal big3 = new BigDecimal("2.0");
		BigDecimal big4 = new BigDecimal("1.1");

		result = big3.subtract(big4);
		System.out.println(result);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/876000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存