Java API 基础

Java API 基础JavaAPI基础一、相关知识学习  Java程序员在开发Java程序时,只需要安装有JDK,就可以在程序中使用import关键字导入JavaAPI中指定的包并在自己的程序中使用这些包中定义的各种类和接口。1、JavaAPI包JavaAPI包说明java.accessibility接口组件和助手技术的类和接口java.appletJavaA…

大家好,又见面了,我是你们的朋友全栈君。

Java API 基础

一、相关知识学习

  Java程序员在开发Java程序时,只需要安装有JDK,就可以在程序中使用import关键字导入Java API 中指定的包并在自己的程序中使用这些包中定义的各种类和接口。

1、 Java API 包

Java API 包 说明
java.accessibility 接口组件和助手技术的类和接口
java.applet Java Applet所需的类和接口
java.awt 图形用户界面所需的类和接口
java.beans Java bean技术所需的类和接口
java.io 系统输入/输出所需的类和接口
java.lang java语言编程的基础类和接口
java.math 支持任意精度整数和任意精度小数的类和接口
java.naming 访问命名服务器的类和接口
java.net 网络应用的类和接口
java.rmi 远程调用(RMI)的类和接口
java.security 用于安全框架的类和接口
java.sql 访问和处理数据源中数据的类和接口
java.text 支持按与语言无关方式处理文本、数据、数字和消息的类和接口
java.util 集合框架、事件模型、日期和时间机制、国际化等的类和接口
javax.serverlet Java.serverlet所需的类和接口
javax.sound 支持音频设备数字接口(MIDI)的类和接口
javax.swing 扩充和增强基本图形用户界面功能的类和接口

2、 java.lang包

   java.lang包中包含了Java程序设计语言最基础的类。由于java.lang包是Java程序设计时用得最频繁的包,所以Java默认对每个Java源程序都自动导入了java.lang包,程序员不必再明确地手工导入。

Object类:
   Object类是整个Java类层次的根类,Java中所有其他类都是从Object类直接或间接继承(派生)而来的。
   Object类中只定义了一些方法,没有定义属性。
   Object类实现了对象运行时的相关方法、垃圾回收方法、线程同步方法。
Object类的常用方法例1:

equals()方法:
public boolean equals(Object obj)
用途:比较两对象是否相等。
输入参数:obj-比较的参考对象。
返回值:如果该对象的值与obj参数相同则为true;否则为false

Object类的常用方法例2:

toString()方法:
public String toString()
用途:一般返回一个用文本表示这个对象的字符串。给出的结果是简短明了的表示,这样便于人们读取。
输入参数:无
返回值:表示此对象的字符串。

System类:
   System 类提供了标准输入流、标准输出流和错误输出流,以及加载程序文件和库等实用方法。
   System类中定义了三个静态常量属性。由于是static型,所以不用实例化对象就可以通过类名进行引用。

变量索引
public static final PrintStream err “标准”错误输出流
public static final InputStream in “标准”输入流
public static final PrintStream out “标准”输出流

System类静态属性例:

public static final InputStream in
说明:java“标准”输入流。该流已打开并且准备接受输入数据。典型情况是该流同键盘输入源相联系。

System类常用方法例:

currentTimeMillis()方法
public static native long currentTimeMillis()
用途:返回以毫秒为单位的当前时间。
输入参数:无
返回值:以毫秒测量的在当前时间和UTC时间1970年1月1号午夜之间的时间长度。返回的是一个long型值。

Class类:
  基本的Java类型(boolean,byte,char,short,int,long,float和double)和void类型都是由Class类对象来表达的。
Class类常用方法例:

forName()方法
public static native Class forName(String className)
用途:返回给定的字符串名对应的Class对象。此方法可用于装载驱动程序。
输入参数:className-期望类的全路径名。
返回值:指定名的Class描述器

String类:
  String 类表示字符串。 在 Java 程序中所有的字符串常量,如 “abc” ,都被实现为这个类的实例。
String类常用方法例1:

public String(byte bytes[],String enc) throws UnsupportedEncodingException
用途:用指定的字符编码方式转换指定的字节数组实例化一个String类对象(如果编码方式不存在则会抛出异常)
输入参数:bytes-要转换为字符的字节
        enc-一个字符-编码方式名

String类常用方法例2:

length()方法
public int length()
用途:计算该字符串的长度,长度等于字符串中的16-bit的Unicode字符的数量
输入参数:无
返回值:该对象代表的字符序列的长度,整型值。

String类常用方法例3:

equalsIgnoreCase()方法
public boolean equalsIgnoreCase(String anotherString)
用途:忽略大小写比较该字符串和另一个字符串对象。
输入参数:anotherString-要比较的另外一个字符串
返回值:忽略大小写时,如果两字符串相等,则为true,否则为false

String类常用方法例4:

trim()方法
public String trim()
用途:删除该字符串两端的空格,所有小于等于‘\u0020’(十六进制Unicode编码的空格字符)的字符都被认为是空格。
返回值:头尾两端的空格都被删掉的字符串。

Math类:
Math类定义了两个属性来描述数学上常用的无限不循环小数e和π,它们都被定义为静态常量,可以无需实例化对象就直接通过Math类名来引用。

变量索引
public static final double E 该double值非常接近e,自然对数的底数
public static final double PI 该double值非常接近pi,圆的周长与直径之比

Math类常用方法例1:

random()方法
public static synchronized double random()
用途:返回0.0到1.0间均匀分布的伪随机数
输入参数:无
返回值:返回0.0到1.0间的伪随机数

Math类常用方法例2:

round()方法
public static long round(double a)
用途:作四舍五入计算
输入参数:a-一个double型值
返回值:返回与该参数最接近的long型数
    如果参数a为负无穷值,则结果等于Long.MIN_VALUE
    如果参数a为正无穷值,则结果等于Long.MAX_VALUE

3、java.util包

  java.util包主要包含了集合框架、事件模型、日期和时间机制、国际化等类和接口。

Arrays类:
  Arrays类提供了一些关于数组操作的常用方法,例如数组排序、查找指定元素是否存在等。
Arrays类常用方法例1:

fill()方法
public static void fill(int[] a,int val)
用途:对指定int型数组中所有元素赋予指定int值
输入参数:a-要被赋值的数组,val-所赋的值
返回值:无

Arrays类常用方法例2:

sort()方法
public static void sort(int[] a)
用途:对数组a的所有元素按元素值的大小升序重新排列整个数组
输入参数:a-要被排序的数组
返回值:无

Arrays类常用方法例3:

binarySearch()方法
public static int binarySearch(int[] a,int key)
用途:用折半法搜索key在数组a中的元素位置
输入参数:a-要被搜索的数组,val-要搜索的关键值
返回值:如key在a中存在,返回元素下标。如key在a中不存在,返回-1。
一般在使用binarySearch()方法之前,先使用sort()方法

Date类:
Date类描述了一个精度为毫秒的特定时间实例。

Calendar类:
  Calendar类是Object类的直接子类,并且Calendar类是一个抽象类,因此不能使用new运算符实例化一个Calendar类对象。用于在一个Date对象和一个诸如YEAR、MONTH、DAY、HOUR等整数字段集合之间转换。

Vector类:
  Vector类又称为向量类,它实现了可动态扩充的对象数组。在这种动态的对象数组中,数组元素数量可以动态变化,所使用的内存空间也随之变化。
Vector类常用方法例1:

add()方法
public boolean add(Object o)
用途:向Vector类对象中添加一个Object类对象
输入参数:o-要被添加的对象
返回值:如果添加成功,则返回true,否则返回false

Vector类常用方法例2:

remove()方法
public Object remove(int index)
用途:向Vector类对象中读取并删除一个Object类对象
输入参数:index-要被读取并删除的元素下标
返回值:返回向量中指定下标的对象,并且从向量中删除这个元素。删除完成后向量的元素个数减一,相应的存储空间被释放

Vector类常用方法例3:

elementAt()方法
public Object elementAt(int index)
用途:向Vector类对象中读取一个Object类对象
输入参数:index-要被读取的元素下标
返回值:返回向量中指定下标的对象,这个操作不会从向量中删除这个元素。也不会修改向量中的元素个数或元素中的内容。

二、训练

1、完成一个 java application应用程序,可以接收用户通过键盘输入的文本,并输出此段文本字符的个数。
java程序(test1.java)
import java.util.Scanner;
public class test1
{
	public static void main(String[] args) 
	{
		while (true) {
		Scanner s=new Scanner(System.in);//声明对象Scanner,System.in代表标准输入,就是键盘输入
		System.out.println("Please input :");//输入提示
		String line=s.nextLine();//读取输入的字符放入line中
		if (line.equals("exit")) break; //如果输入的内容是exit就会停止运行了
		System.out.println("Number of text input:"+line.length());//使用length计算输入的文本的个数
		}
	}
}
运行效果图

在这里插入图片描述

2、完成一个 java application应用程序,计算执行十亿次空循环所需要的时间。
java程序(test2.java)
public class test2 
{
	public static void main(String args[])
	  {
		long startTime=System.currentTimeMillis();//获取开始的时间
		//计算循环1000000000的时间
		for(int i=0;i<1000000000;i++) {}
		long endTime=System.currentTimeMillis();//获取结束的时间
		long time=endTime-startTime;//用结束的时间减去开始的时间就为循环1000000000的时间
		System.out.println("time:"+time+"ms");
	  }
}
运行效果图

在这里插入图片描述

3、完成一个 java application应用程序,输出当前世间:年月日小时分秒星期几。
java程序(test3.java)
import java.util.*;  //导入java.util包
public class test3  //定义公共类
{
  public static void main(String args[])
  {
     //用Date类获取本地计算机当前时间
     Date mydate=new Date();
     System.out.println("Date:       "+mydate);
     
     //用Calendar类获取本地计算机当前时间
     Calendar now=Calendar.getInstance();  //获取本地日历
     int year=now.get(Calendar.YEAR);      //从日历中获取当前年
     int month=now.get(Calendar.MONTH)+1;  //从日历中获取当前月
     int day=now.get(Calendar.DATE);       //从日历中获取当前日
     System.out.print("Calendar:   "+year+"年"+month+"月"+day+"日 ");
     
     int hour=now.get(Calendar.HOUR_OF_DAY); //从日历中获取当小时(24小时制)
     int minute=now.get(Calendar.MINUTE);  //从日历中获取当前分
     int second=now.get(Calendar.SECOND);    //从日历中获取当前秒
     System.out.print(hour+"时"+minute+"分"+second+"秒 ");
     
     //从日历中获取当前是一个星期中的哪天
     //在中国,一周的第一天是周日
     int i=now.get(Calendar.DAY_OF_WEEK);
     String str="日一二三四五六";
     
     System.out.println("星期"+str.substring(i-1,i));
  }
}
运行效果图

在这里插入图片描述

4、完成一个java application应用程序,通过接收用户通过键盘输入的文本,把每次回车输入的字符串动态加入到Vector类对象中,并显示此Vector类对象中存储的字符串。
java程序(test4.java)
import java.util.Scanner;
import java.util.*;  //导入java.util包

public class test4 {	
	public static void main(String[] args) 
	{
		Vector<String> a=new Vector<String>();
		while (true) {
		Scanner s=new Scanner(System.in);//声明对象Scanner,System.in代表标准输入,就是键盘输入		
		System.out.println("Please input :");//输入提示
		String line=s.nextLine();//读取输入的字符放入line中
		a.add(line);  //把字符line加入到向量a中
		if (line.equals("exit")) break; //如果输入的内容是exit就会停止运行了		
		}
		System.out.println("a="+a);	//输出a的值	
	}
}
运行效果图

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156963.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python文件写入txt_python创建文件并写入内容

    Python文件写入txt_python创建文件并写入内容文件写入txt

  • gdb调试命令的使用及总结_大锅安装调试指南

    gdb调试命令的使用及总结_大锅安装调试指南写这篇文档的目的是对前面GDB的知识做一次总览,本文为GDB调试指南,参考GDB调试手册,目前已有的篇目:启动调试断点设置查看源码单步调试查看变量前言GDB是Linux下非常好用且强大的调试工具。GDB可以调试C、C++、Go、java、objective-c、PHP等语言。对于一名Linux下工作的c/c++程序员,GDB是必不可少的工具,本篇以C语言来调试。GDB简介U…

    2022年10月24日
  • 微信公众号网页授权登录[通俗易懂]

    微信公众号网页授权登录[通俗易懂]微信公众号网页授权登录:前端时间做了一个微信公众号的项目,就是微信公众号的菜单点击我的个人中心,就向用户授权登录获取用户的信息,进行业务逻辑的操作,微信公众号官方文档,这是我写的文章,里面有很多微信的官方文档,希望对大家有用:https://blog.csdn.net/qq_41971087/article/details/82466647在微信公众号官方文档中,看到微信页面开发,…

  • Linux常用打包压缩命令

    Linux常用打包压缩命令简介Linux上常用的压缩/解压工具,介绍了zip、rar、tar的使用。文件打包和压缩Linux上的压缩包文件格式,除了Windows最常见的*.zip、*.rar、.7z后缀的压缩文件,还有.gz、.xz、.bz2、.tar、.tar.gz、.tar.xz、tar.bz2文件后缀名说明*.zipzip程序打包压缩的文件*.rarrar程序压…

  • jetbrains 激活码【最新永久激活】

    (jetbrains 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • django1.8_django serializers

    django1.8_django serializers前言由于之前我们一直使用的django-rest-framework-jwt这个库,但是作者在17年的时候就已经不再维护了(有部分bug没有解决),所以我们也就不用了,目前我们使用django-r

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号