JavaSE基础常用类3

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类

对于浮点类型数据来说,他们存储和整数数据存储是不一致的,是按照有效数字位进行存储的,浮点类型的数据计算的时候容易损失精度,计算出来的结果不精确,Java针对这种情况提供了BigDecimal类,来提供浮点类型数据的精确计算,可变的,任意精度的有符号十进制数。
构造方法:public BigDecimal(String val)
        常用的成员方法 :
                    public  BigDecimal add(BigDecimal  augend):加
                    public  BigDecimal subtract(BigDecimal  subtrahend):减
                    public  BigDecimal multiply(BigDecimal  multiplicand):乘
                    public  BigDecimal divide(BigDecimal  divisor):除
                    public  BigDecimal divide(BigDecimal  divisor, int scale,int roundingMode
):除
                           参数一:商,  参数二:保留几位小数,  参数三:舍入的一种模式,  ROUND_HALF_UP

/**
 * 
 */
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类

用来计算超出了Integer类型范围的数据
/**
 * 
 */
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.NumberFormatException
		System.out.println(i);
		//System.out.println(i2);
		BigInteger bi = new BigInteger("2147483648");
		System.out.println(bi);
		
	}
}


构造方法:public BigInteger(String val):将字符串所表示的数字封装成BigInteger类型
    成员方法:
                 public BigInteger  add(String val):加
                 public BigInteger  subtract(String val):减
                 public BigInteger  multiply(String val):乘
                 public BigInteger  divide(String val):除
                 public BigInteger [ ]  divideAndRemainder(String val):返回一个BigDecimal数组,数组中的元素,商和余数
/**
 * 
 */
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类

Calendar:日历类:
 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常用的成员方法:
public  abstract   void add(int field, int mount):为给定的日历的字段添加或减去时间的偏移量
public  final  void  set(int year,int month,int date):设置日历字段YEAR,MONTH,DAY_OF_MONTH的值

/**
 * 
 */
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));
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告型管理页面显示所有任务资讯公告型,在此页面既可以让管理员添加新的任务资讯公告信息型,也能对已有的任务资讯公告型信息执行编辑更新,失效的任务资讯公告型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值