JavaAPI操作

JavaAPI

常用类

系统相关类
API 中的包作用

java.awt :包含创建用户界面和绘制图形图像的类。
java.io :提供数据流、序列化以及文件系统。
java.lang :提供了java 进行编程过程中的一些基础类。
java.math : 提供了数学中的各种计算公式和计算方法。
java.text: 提供一些类来处理文本、日期、数字和消息。
java.util : 包含了开发工程用到的各种工具类。
javax.sql : java提供访问数据库的一些接口和类。
javax.xml: 提供了用户解析xml文件的接口和类。

System
代表java 程序的运行平台,不同的操作系统可能会获取平台的一些属性,或者调用平台的一些命名来完成特定的功能,System类提供开发者,可以供我们操作平台一些内容。
特点:是一个 final 类,该类的所有属性和方法都是静态的,可以不创建对象直接调用。
属性:inouterr
常用方法:

  • currentTimeMillis() (nanoTime() 获取纳秒)获取计算机当前时间 毫秒
  • exit() 退出虚拟机:非0 表示状态码异常退出
  • getProperties() 确定当前系统的属性。
  • gc() 通知垃圾回收机制回收堆里的对象。

Runtime
代表java程序的运行环境,每个java 程序都会有有个Runtime类,应用程序通过Runtime类可以和运行环境相连,通过Runtime可以获取当前运行环境的信息。比如虚拟机的内容。

String
特点:

  • String并不是基本数据类型,表示字符串,是一个对象,当前String类是一个final类。
  • 在操作String时每次操作都会产生一个新的对象(一旦创建一个字符串,字符串就不能被变更、直到被销毁)。
    创建字符串:
String a = "jack";
String b = new String("pony");

在 String 中“==” 比较地址而 equals 比较值(默认比较值,重写后可以比较值)。
字符串加载的流程:
在java中常量池分为2种:
(1)、静态常量池:.class文件中(编译期)的常量池。class文件中的常量池不仅包含了字符串的字面量信息(数字)还包含了类、方法之类的信息,这些东西占据class文件的空间。String s = “a” + “bc”;在class文件中的常量池里面已经是计算后的存放"abc".
(2)、动态常量池:运行时常量池。在jvm加载完当前类后,将class文件中的常量池内容加载内存中,保存在方法区,方法区单独有一块空间来存放这些数据,方法区常量池。

字符串的特性:不可变更性,由于String使用的是public static final char[] 来保存的字符串数据,将你定义的每一个字符撞到字符数组,但是字符数组final类型,不可变更。操作字符串产生一个新的对象,将原来的引用指向新的对象。
常用方法:
在这里插入图片描述
StringBuffer和StringBuilder
StringBuffer:
1、和String一样都是来存储字符串的,内部的实现方法有区别,对应的使用范围不一样,他在处理字符串的时候,在原来的值上面进行修改,不会产生新的内容。
在某些时候他的性能优于String,当前对象他是线程安全的
2、StringBuffer 对象不能使用=来初始化,只能构造的形式来初始化数据
3、因为它是可变的,经常用它来操作变化的字符串,比如有的字符串频繁、增加、修改删除的内容
StringBuilder
特点同StringBuffer一样的
StringBuilder 线程是不安全的,效率非常高。

日期相关类
日期数据类型位于java.util包中,日期格式化类位于java.text包中。
Data da = new Data();
日期格式化:
SimpleDataFormat 类
将日期指定格式输出
yyyy 年份 MM 月份 dd 日期 HH 小时 mm分 ss 秒

Data da = new Data();  // 当前时间
SimpleDataFormat sdf = new SimpleDataFormat("yyyy-MM-dd HH:mm:ss");
String value = sdf.format(da);
// 将字符串转化日期
String str = "2018-08-08 12:23:12";
try{
	Data da1= sdf.parse(str);
} catch (ParseException e) {
	e.printStackTrace();
}

Calendar 类和GregorianCalendar 类
Calendar类是一个抽象类。
GregorianCalendar是一个子类,继承了Calendar类,提供了世界上大多是使用的标准时间系统。
默认字段及值:
在这里插入图片描述
Math 类
包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。

// 两个常量
public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;
public static void main(String[] args) {
		//将值向上取整数
		double value = Math.ceil(12.1);
		System.out.println(value); // 13.0
		
		//将值向下取整
		double value2 = Math.floor(12.9);
		System.out.println(value2); // 12.0
		
		//四舍五入
		double value3 = Math.round(12.3);
		System.out.println(value3); //12.0

		// 幂计算
		double value4 = Math.pow(4, 3);
		System.out.println(value4); // 64.0

		
	}

Random类
这个类的一个实例是用于生成伪随机数流。该类使用一个48位的种子,这是使用线性同余公式的修正。

		Random r = new Random();
		int result1 = r.nextInt();  //返回一个随机整数
		double result2 = r.nextDouble();  //返回一个随机的小数
		System.out.println(result1);
		System.out.println(result2);
	
		Random r2 = new Random();
		int res = r2.nextInt();
		int res3 = r2.nextInt();
		System.out.println(res);
		System.out.println(res3);
		
		Random r3 = new Random();
		int res2 = r3.nextInt();
		int res4 = r3.nextInt();
		System.out.println(res2);
		System.out.println(res4);
		
		//生成一个四位数以内的随机数
		int res5 = r3.nextInt(9999);
		System.out.println(res5);

java生成的随机数为伪随机数
生成随机数的时候,要求我们必须传递一个种子。种子是一样的每次生成的随机数都是一样的
new random默认加了种子,以当前系统时间(nanoTime())为种子。
Math.random() 返回一个(0,1) 之间的随机小数。
java.util.Random是线程安全的。然而,同样的java.util.Random实例跨线程同时使用可能会遇到竞争和随之而来的性能差。

常用包装类
给每个基本数据类型都提供了包装类型(对象)。基本数据类型不具备对象的特征,提供了包装类的目的,可以像操作对象一样操作基本数据对象。
byte — Byte类
short — Short类
int — Integer类
long — Long类
float — Float类
double — Double类
boolean —Boolean类
char — Character类
特点:
1、所有包装类都是final类,不能修改包装类的内容,一旦创建了包装类,数据类型就不能变。
2、集合的泛型的要求必须是包装类型,规定不能用基本数据类型。
3、包装类型包含了每种数据类型很多属性,比如:存放的值、所占的空间、最大值、最小值。
4、作为基本数据类型对应的包装类型,提供了很多方法供我们操作、比如数据类型转换、进制的转换。
5、包装类对象,值可以用null,基本数据类型不能用null表示。
数据类型的转换(字符串转数字)

int num = Integer.parseInt("456");

进制转换将字符串转成int类型的数(转化成10进制)

int num = Integer.parseInt("100", 2);

将10进制转化为2进制输出:

String num = Integer.toString(100,2);

包装类型自动装箱和拆箱(在JDK1.5后引用自动装箱)
装箱: 将基本数据类型变成包装类型
装箱: 将包装类型转为基本类型
尽量减少装箱和拆箱会带来额外的开销

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值