JavaSE基础常用类3
来源:互联网 发布:ps绘画软件 编辑:程序博客网 时间:2024/05/22 10:29
1.Arrays类
此类包含用来操作数组(搜索和排序)的各种方法(针对数组操作的工具类)。
常用方法:public static String toString(int [ ] a):将任意类型数组以字符串形式展示出来
public static void sort(int [ ] a ):快速排序(将给定数组中的元素进行升序排序)
public static int binarySearch(int [ ] a,int key):使用二分搜索法来搜索指定的int型数组,来获得指定的值(当前int数组一定有序)
vpackage zst.org.arrays;import java.util.Arrays;/** * @author:zsyht * @date:2017-11-7上午6:46:57 */public class ArrayDemo {public static void main(String[] args) {int [] arr = {4,7,6,9,8};System.out.println("将数组转化成字符串形式:"+Arrays.toString(arr));//快速排序Arrays.sort(arr);System.out.println("将排好序的数组转化成字符串形式:"+Arrays.toString(arr));//二分查找int Index = Arrays.binarySearch(arr, 8);System.out.println("当前元素所在的索引为:"+Index);int Index2 = Arrays.binarySearch(arr, 88);System.out.println("当前元素所在的索引为:"+Index2);//底层源码做}}
2.System类
被final修饰 不能被继承,没有构造方法,不能实例化(不能创建对象),字段和成员方法都用静态修饰
常用的两个字段: in ,out都和流有关系:java.io...
PrintStream(字节打印流) ps = System.out ;标准输出流
PrintWriter(字符打印流)
InputStream in = System.in; 标准输入流
常用的成员方法:
public static void gc()运行垃圾回收器。 调用 gc 方法暗示着 Java 虚拟机做了一些努力来回收未用对象,以便能够快速地重用这些对象当前占用的内存,最终调用的就是重写之后finalize()回收不用的对象!
public static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
public static long currentTimeMillis():返回当前的时间毫秒值
package org.zst.System;/** * @author:zsyht * @date:2017-11-8上午12:10:09 */public class SystemDemo {public static void main(String[] args) { System.out.println("生活不止眼前的苟且"); //只执行到此位置的代码 调用exit方法之后,jvm退出了//调用exit()方法System.exit(0) ;//JVM已经退出了,还可结束循环语句,调用该方法Jvm都退出了,所以循环也就结束了 System.out.println("还有远方的苟且");}}
System里面的常用的成员方法:
public static void arraycopy(Object src,int srcPos,Object dest, int destPos,int length)
指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
/** * */package org.zst.System;import java.util.Arrays;/** * @author:zsyht * @date:2017-11-8上午7:47:37 */public class SystemDemo3 {public static void main(String[] args) {//定义两数组,静态初始化int[] arr1 = {78,21,35,14,59,4} ;int[] arr2 = {5,945,3,45,67,11} ;//复制数组System.arraycopy(arr1, 4, arr2, 1, 2) ;//分别将arr1 和arr2数组以字符串形式显示出来System.out.println("arr1:"+Arrays.toString(arr1));System.out.println("arr2:"+Arrays.toString(arr2));}}
3.BigDecimal类
public BigDecimal divide(BigDecimal divisor, int scale,int roundingMode):除
/** * */package org.zst.bigdecimal;/** * @author:zsyht * @date:2017-11-8上午8:13:59 */public class Demo {public static void main(String[] args) {System.out.println(1.0-0.43);System.out.println(0.01+0.09);System.out.println(1.203*1000);System.out.println(1.456/100);}}
/** * */package org.zst.bigdecimal;import java.math.BigDecimal;/** * @author:zsyht * @date:2017-11-8上午8:49:35 */public class Demo1 {public static void main(String[] args) {BigDecimal bd1 = new BigDecimal("0.01");BigDecimal bd2 = new BigDecimal("0.09");System.out.println("加:"+bd1.add(bd2));BigDecimal bd3 = new BigDecimal("1.0");BigDecimal bd4 = new BigDecimal("0.43");System.out.println("减:"+bd3.subtract(bd4));BigDecimal bd5 = new BigDecimal("1.203");BigDecimal bd6 = new BigDecimal("1000.0");System.out.println("乘:"+bd5.multiply(bd6));BigDecimal bd7 = new BigDecimal("1.456");BigDecimal bd8 = new BigDecimal("100");System.out.println("除:"+bd7.divide(bd8));System.out.println("规定格式的除:"+bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP));}}
4.BigInteger类
/** * */package org.zst.BigInteger;import java.math.BigInteger;/** * @author:zsyht * @date:2017-11-8上午9:12:56 */public class Demo {public static void main(String[] args) {System.out.println("Integer类的最大值为:"+Integer.MAX_VALUE);//创建Integer类对象Integer i = new Integer(2147483647); //不可以超出Integer的最大值2147483647//Integer i2 = new Integer("2147483648");//java.lang.NumberFormatExceptionSystem.out.println(i);//System.out.println(i2);BigInteger bi = new BigInteger("2147483648");System.out.println(bi);}}
public BigInteger add(String val):加
/** * */package org.zst.BigInteger;import java.math.BigInteger;/** * @author:zsyht * @date:2017-11-8上午9:27:04 */public class Demo2 {public static void main(String[] args) {BigInteger b1 = new BigInteger("100");BigInteger b2 = new BigInteger("60");System.out.println("加:"+b1.add(b2));System.out.println("减:"+b1.subtract(b2));System.out.println("乘:"+b1.multiply(b2));System.out.println("除:"+b1.divide(b2));BigInteger [] a = b1.divideAndRemainder(b2);System.out.println("商:"+a[0]);System.out.println("余数:"+a[1]);}}
5.calender类
Calender是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
并为操作日历字段(例如获得下星期的日期)提供了一些方法
Calendar该类是一个抽象类:不能实例化的,所以通过一下这个方法来创建对象
public static Calendar getInstance()
public int get(int field)返回给定日历字段的值
public static final int YEAR:表示日历中 的年
public static final int MONTH:月份:是0开始计算的,输入时加1
public static final int DATE:和DAY_OF_MONTH是同义词,表示月份中的某天
/** * */package org.zst.calender;import java.util.Calendar;/** * @author:zsyht * @date:2017-11-8上午10:03:27 */public class Demo {public static void main(String[] args) {Calendar calendar = Calendar.getInstance(); //创建日历类对象,需要通过getInstance()方法创建对象// 获取年int year = calendar.get(Calendar.YEAR); // 获取:年中的月份int month = calendar.get(Calendar.MONTH);// 获取月份中的天int date = calendar.get(Calendar.DATE);//输出System.out.println(year+"年"+(month+1)+"月"+date+"日");}}
calendar常用的成员方法:
/** * */package org.zst.calender;import java.util.Calendar;/** * @author:zsyht * @date:2017-11-8上午11:04:14 */public class Demo2 {public static void main(String[] args) {Calendar c =Calendar.getInstance();int year = c.get(Calendar.YEAR);int month =c.get(Calendar.MONTH);int day = c.get(Calendar.DATE);System.out.println(year+"年"+(month+1)+"月"+day+"日");//当前系统时间//获取一年前的今天c.add(Calendar.YEAR,-1);year = c.get(Calendar.YEAR);month= c.get(Calendar.MONTH);day = c.get(Calendar.DATE);System.out.println(year+"年"+(month+1)+"月"+day+"日");//获取三年前的五天前c.add(Calendar.YEAR,-3);c.add(Calendar.DATE, -5);year = c.get(Calendar.YEAR);month = c.get(Calendar.MONTH);day = c.get(Calendar.DATE);System.out.println(year+"年"+(month+1)+"月"+day+"日");}}
/** * */package org.zst.calender;import java.util.Calendar;/** * @author:zsyht * @date:2017-11-8上午11:34:35 */public class Demo3 {public static void main(String[] args) {Calendar c = Calendar.getInstance();c.set(2018,1,27);int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH);int day = c.get(Calendar.DATE);System.out.println(year+"年"+month+"月"+day+"日");}}
/** * */package org.zst.calender;import java.util.*;/** * @author:zsyht * @date:2017-11-8上午11:39:25 */public class Practice {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入任意年份:");int a =sc.nextInt();Calendar c = Calendar.getInstance(); c.set(a,2,1);//此处实际时间时3月1日,用该方法设置时间 c.add(Calendar.DATE,-1); //添加或减去时间偏移量 int day = c.get(Calendar.DATE); System.out.println("该年的二月份有:"+day+"天");}}
6.Date类
表示特定的时间,精确到毫秒
常用的构造方法:
public Date():表示分配的一个Date对象:无参: 通过无参构造获取当前系统的具体的时间
public Date(long date):指定一个时间毫秒值 和它1970-1-1 00:00:00有时间差
Date中的两个成员方法
public long getTime():获取当前时间毫秒值
如果知道Date对象,可以通过getTime()获取时间毫秒值
public void setTime(long time)
/** * */package org.zst.date;import java.util.Date;/** * @author:zsyht * @date:2017-11-8下午1:10:45 */public class Demo2 {public static void main(String[] args) {//创建一个日期对象Date d = new Date() ;System.out.println(d);//获取当前时间毫秒值long time = d.getTime() ;System.out.println(time);//通过System可以获取当前时间的毫秒数 System.out.println(System.currentTimeMillis());d.setTime(3000) ;System.out.println(d);}}
将Date对象--->String类型的日期的"文本格式": 格式化
public final String format(Date date):String类型日期的"文本格式"---->Date日期对象:解析
public Date parse(String source) 该方法本身会抛出一个异常:ParseException(解析异常:编译时期异常)
*要进行转换必须使用中间桥梁:DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
*日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期Date -> 文本String)、解析(文本String-> 日期Date)和标准化但是,DateFormat是抽象类,不能直接实例化,使用的是它更具体的子类进行实例化:SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类
常用的构造方法:
Date---格式化--->String文本格式:public SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat
日期和时间模式:
y 年---->yyyy
M 年中的月份:2------>MM
d 月份中的天数 :----->dd
H 小时HH
m 小时中的分钟数mm
s 分钟中的秒数ss
/** * */package org.zst.date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * @author:zsyht * @date:2017-11-8下午1:28:25 */public class Demo3 {public static void main(String[] args) throws ParseException {//Date日期对象--->格式化---->String:日期文本格式//创建日期对象Date d = new Date() ; System.out.println(d);//创建SimpleDateFormat类对象,用该对象格式化Date对象SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;String dateStr = sdf.format(d) ;System.out.println("当前时间:"+dateStr);//String日期"文本格式"----->解析----->Date对象/** * 注意事项: * 一定要保证SimpleDateFormat中的String Pattern这个模式和当前给的字符串的文本格式的模式必须一致! */String s = "2017-12-30" ;//创建SimpleDateFormat类的对象,用该对象解析String的日期的"文本格式" ;SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd") ;//开始解析Date d2 = sdf2.parse(s);System.out.println("d2:"+d2);}}
7.math类
提供了数学运算的一些方法,没有构造方法,方法都用静态修饰
常用的成员方法:
public static int abs(int a):绝对值
pulbic static double ceil(double a):向上取整
pulbic static double floor(double a):向下取整
pulbic static double max(double a,double b):获取最大值
pulbic static double max(double a,double b):获取最小值
pulbic static double pow(double a,double b):a的b次幂
pulbic static double random():取值范围:[0.0, 1.0)
pulbic static long round(double a):四舍五入
pulbic static double sqrt(double a):一个数的正平方根
/** * */package org.zst.math;import static java.lang.Math.abs; //静态导入 import() static 该方法一定是静态方法/** * @author:zsyht * @date:2017-11-8下午2:15:12 */public class Demo {public static void main(String[] args) {System.out.println(java.lang.Math.abs(-100));System.out.println("向上取整:"+Math.ceil(13.47));System.out.println("向下取整:"+Math.floor(12.88));System.out.println("取最大值:"+Math.max(13.47, 5.99));System.out.println("取最小值:"+Math.min(1.23, 8.46));System.out.println("2的10次方:"+Math.pow(2.0, 10.0));System.out.println("产生一个随机数:"+Math.random());System.out.println("四舍五入结果为:"+Math.round(3.85));System.out.println("4的正数平方根:"+Math.sqrt(4.0));}}
- JavaSE基础常用类3
- JavaSE基础常用类
- JavaSE基础常用类2
- JavaSE基础复习四:常用类笔记
- JavaSE基础之System类的常用方法
- javase--3常用类(java.lang)
- javaSE常用类
- javaSE-常用类-String
- javaSE-常用类-StringBufferAndStringBuilder
- javaSE-常用类-System
- javaSE-常用类-Runtime
- javaSE-常用类-Math
- javaSE-常用类-Date
- javaSE-常用类-Calendar
- JavaSE 12 常用类
- javaSE的一些常用类
- javaSE面试题-常用类
- Javase—其他常用类
- HTTP 建立请求的过程&&tls解密
- 计蒜客 四平方和
- VirtualBox for mac 共享文件夹的设置
- 计蒜客 A+B问题
- Leetcode | Maximum Length of Repeated Subarray
- JavaSE基础常用类3
- 健康有益推出ego系统,AI精准健康管理揭开新一页
- 为静态照片添加动画表情的iOS应用MugLife来了,网友惊呼「这技术等着被收购吧」
- 拆解iPhone X,豪门云集的内部设计是否让你值回票价?
- 吸引工信部部长参与试乘的图森未来,拟在明年进行自动驾驶车队的测试
- Bengio等人提出图注意网络架构GAT,可处理复杂结构图
- 取代学习率衰减的新方法:谷歌大脑提出增加Batch Size
- 先读懂CapsNet架构然后用TensorFlow实现:全面解析Hinton的提出的Capsule
- 20. Valid Parentheses