java常用函数方法

Python012

java常用函数方法,第1张

Java的一些常用函数,方法总结:

1:数组方面:

数组是一个对象,数组名可以理解和C++里面一样,

1):System.arraycopy(src,srcindex,dst,dstindex,src.length)

2):java.util.Arrays.sort(数组名)//块数排序法进行排序

3):java.util.Arrays.binarySearch(arr,key)//从哪里收,关键值,返回索引.没有的话返回-1

4):java.util.Array.fill(arr,value),设置数组初始值

5):Array.equals(arr1,arr2)//比较两个数组中元素是不是全部相等,是返回true,不是返回false

2:时间方面:

public static String dateToStr(java.util.Date date)

{

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

String str = sdf.format(date)

return str

}

import java.text.SimpleDateFormat

import java.util.Calendar

public class DateUtil

{

public static java.util.Date parseDate(String dateStr, String format)

{

java.util.Date date = null

try

{

java.text.DateFormat df = new java.text.SimpleDateFormat(format)

String dt = dateStr.replaceAll("-", "/")

if ((!dt.equals("")) &&(dt.length() <format.length()))

{

dt += format.substring(dt.length()).replaceAll("[YyMmDdHhSs]", "0")

}

date = (java.util.Date) df.parse(dt)

}

catch (Exception e)

{

}

return date

}

public static java.util.Date parseDate(String dateStr)

{

return parseDate(dateStr, "yyyy/MM/dd")

}

public static String format(java.util.Date date, String format)

{

String result = ""

try

{

if (date != null)

{

java.text.DateFormat df = new java.text.SimpleDateFormat(format)

result = df.format(date)

}

}

catch (Exception e)

{

}

return result

}

public static String format(java.util.Date date)

{

return format(date, "yyyy/MM/dd")

}

public static int getYear(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.get(java.util.Calendar.YEAR)

}

public static int getMonth(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.get(java.util.Calendar.MONTH) + 1

}

public static int getDay(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.get(java.util.Calendar.DAY_OF_MONTH)

}

public static int getHour(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.get(java.util.Calendar.HOUR_OF_DAY)

}

public static int getMinute(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.get(java.util.Calendar.MINUTE)

}

public static int getSecond(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.get(java.util.Calendar.SECOND)

}

public static long getMillis(java.util.Date date)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTime(date)

return c.getTimeInMillis()

}

public static String getDate(java.util.Date date)

{

return format(date, "yyyy/MM/dd")

}

public static String getTime(java.util.Date date)

{

return format(date, "HH:mm:ss")

}

public static String getDateTime(java.util.Date date)

{

return format(date, "yyyy/MM/dd HH:mm:ss")

}

public static java.util.Date addDate(java.util.Date date, int day)

{

java.util.Calendar c = java.util.Calendar.getInstance()

c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000)

return c.getTime()

}

public static int diffDate(java.util.Date date, java.util.Date date1)

{

return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000))

}

public static String getMonthBegin(String strdate)

{

java.util.Date date = parseDate(strdate)

return format(date, "yyyy-MM") + "-01"

}

public static String getMonthEnd(String strdate)

{

java.util.Date date = parseDate(getMonthBegin(strdate))

Calendar calendar = Calendar.getInstance()

calendar.setTime(date)

calendar.add(Calendar.MONTH, 1)

calendar.add(Calendar.DAY_OF_YEAR, -1)

return formatDate(calendar.getTime())

}

public static String formatDate(java.util.Date date)

{

return formatDateByFormat(date, "yyyy-MM-dd")

}

public static String formatDateByFormat(java.util.Date date, String format)

{

String result = ""

if (date != null)

{

try

{

SimpleDateFormat sdf = new SimpleDateFormat(format)

result = sdf.format(date)

}

catch (Exception ex)

{

ex.printStackTrace()

}

}

return result

}

}

Java日期格式化及其使用例子

1 SimpleDateFormat担当重任,怎样格式化都行

import java.util.Date

import java.text.SimpleDateFormat

public class Demo

{

public static void main(String[] args)

{

Date now=new Date()

SimpleDateFormat f=newSimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分")

System.out.println(f.format(now))

f=new SimpleDateFormat("a hh点mm分ss秒")

System.out.println(f.format(now))

}

}

2 从字符串到日期类型的转换:

import java.util.Date

import java.text.SimpleDateFormat

import java.util.GregorianCalendar

import java.text.*

publicclass Demo

{

public static void main(String[] args)

{

String strDate="2005年04月22日"

//注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日")

//必须捕获异常

try

{

Date date=simpleDateFormat.parse(strDate)

System.out.println(date)

}

catch(ParseException px)

{

px.printStackTrace()

}

}

}

3 将毫秒数换转成日期类型

import java.util.Date

import java.text.SimpleDateFormat

import java.util.GregorianCalendar

import java.text.*

public class Demo

{

public static void main(String[] args)

{

long now=System.currentTimeMillis()

System.out.println("毫秒数:"+now)

Date dNow=new Date(now)

System.out.println("日期类型:"+dNow)

}

}

4 获取系统时期和时间,转换成SQL格式后更新到数据库

java.util.Date d=new java.util.Date() //获取当前系统的时间

//格式化日期

new java.text.SimpleDateFormat s= new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

String dateStr = s.format(d)//转为字符串

使用RS更新数据库,仍然要用rs.updateString,而不是rs.updateDade。

rs.updateString("regtime",dateStr) //regtime字段为datetime类型的

5 按本地时区输出当前日期

Date myDate = new Date()

System.out.println(myDate.toLocaleString())

输出结果为:

2003-5-30

6 如何格式化小数

DecimalFormat df = new DecimalFormat(",###.00")

double aNumber = 33665448856.6568975

String result = df.format(aNumber)

Sytem. out.println(result)

输出结果为:

33,665,448,856.66

其他:获取毫秒时间 System.currentTimeMillis()

7 在数据库里的日期只以年-月-日的方式输出

定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd)

sql语句为:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'"

输出:

System.out.println(df.format(rs.getDate("bookDate")))

在Java中在数组中保存10个数,调用下面的排序函数,用选择法按降序排序:public static void selectionSort(int[] arr){ for (int i = 0i <arr.length - 1i++) {int max = i for (int j = i + 1j <arr.lengthj++) { if (arr[max] <arr[j]) { max = j }}if (max != i) { int tmp = arr[max] arr[max] = arr[i] arr[i] = tmp } } }

在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator

实现方法 public int compare(Object o1, Object o2) 最为重要..

举个例子:

package book.arrayset

import java.util.Comparator

/**

* 整数比较器,将整数按降序排列

*/

class MyIntComparator implements Comparator{

/**

* o1比o2大,返回-1;o1比o2小,返回1。

*/

public int compare(Object o1, Object o2) {

int i1 = ((Integer)o1).intValue()

int i2 = ((Integer)o2).intValue()

if (i1 <i2){

return 1

}

if (i1 >i2){

return -1

}

return 0

}

}

//上面的为比较的函数实现,下面真正的添加数据,

//通过调用上面的比较函数实现自定义排序的功能

package book.arrayset

import java.util.ArrayList

import java.util.Collections

import java.util.List

/**

* 对List中的元素排序

*/

public class SortList {

public static void output(List list){

if (list == null){

return

}

for (int i=0i<list.size()i++){

System.out.print(list.get(i).toString() + " ")

}

System.out.println()

}

public static void main(String[] args) {

List list = new ArrayList()

list.add(new Integer(5))

list.add(new Integer(8))

list.add(new Integer(1))

list.add(new Integer(3))

list.add(new Integer(2))

list.add(new Double(3.1))

System.out.println("list开始状态")

SortList.output(list)

//Collections.sort方法将用默认比较器排列list的元素

Collections.sort(list)

System.out.println("list被默认比较器排序后的状态")

SortList.output(list)

//下面将list的元素按降序排列

Collections.sort(list, new MyIntComparator())

System.out.println("list被自定义比较器排序后的状态")

SortList.output(list)

//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,

//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。

//然后采用Collections.sort(list, comparator)方法对容器进行排序。

}

}