实用类(Math,String及Date,Calendar)

Java API:Java Application Programming Interface 即Java应用程序编程接口
java.lang:编写Java程序时最广泛使用的包,自动导入到所有的程序中,包含了Java程序的基础类和接口.
java.util:包含了系统辅助类,特别是Collection.List和Map等集合类
java.io:包含了与输入/输出有关的类,如文件操作等类
java.net:包含了与网络有关的类,如Socket
java.sql:包含了与数据库相关的类

包装类的特点:
  1,所有包装类都是final类型,不能创建它们的子类
  2,JDK1.5后,允许基本数据类型和包装类型进行混合数学运算
  3,包装类并不是用来取代基本数据类型的
    在基本数据类型需要用对象表示时使用

==>java.lang包
Math类
  Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
  常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率)
  Math.abs(-3.5);//绝对值
  Math.max(2.5,56.6);
  int random = (int) (Math.random()*10);//生成0-9之间的随机数
    random(): 0(包括)-1(不包括)之间的随机浮点数
  ==>另一种方法:java.util.Random
  Random random = new Random(种子);
  Random random1 = new Random(100);
  Random random2 = new Random(100);
  ==>random1.nextInt() == random2.nextInt()
  用同一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,得到的随机数也是相同的.
String类
  (1)length():长度 方法
    对比:数组.length 属性
  (2)equals():比较存储对象的字符串内容是否相同(String类型重写后判断内容是否相等)
    equalsIgnoreCase():忽略大小写
    toLowerCase():转换为小写
    toUpperCase():转换为大写
    equals() 和 "==" 区别:
      ==

         既可以比较基本数据类型,也可以比较引用数据类型,比较基本数据类型比的是值,比较引用数据类型比的是地址值
      equals
         只能比较引用数据类型,方法被重写之前和==的意义是一样的,比的是地址值,重写之后按照重写的规则
  (String类对equals()方法进行了重写,只比较字符内容是否相同)
  

  String s1 = "java";
  String s2 = "java"; //字符串池,s1 s2 是同一个对象
  String s3 = new String("java"); //堆,新的内存地址,新的对象(字符串池如没有,也会放一个对象)
  s1==s2 //true
  s1==s3 //false
  s1.equals(s3) //true

  (3)字符串的连接
    ①"+"
    ②concat()

    注意:字符串方法操作(变大写,小写,连接,截取...)的变化都作用于字符串的副本,而不是本身(需接收)
  (4)字符串提取方法
    public int indexOf(int ch) ch第一次出现的位置,从0开始找,找不到返回-1
    public int indexOf(String value) 字符串第一次出现的位置

    public int lastIndexOf(int ch)
    public int lastIndexOf(String value)

    public String substring(int index)

    public String substring(int beginindex,int endindex) 包含起始位置,不包含结束位置

    public String trim() 返回去掉前后空格字符串的副本

  (5)split():字符串拆分,返回字符串数组

  (6)endsWith();是否以指定字符串结尾
      startsWith();
StringBuffer类:操作字符串
  对字符本身修改,操作效率更高
  StringBuffer sBuffer = new StringBuffer("北大青鸟");
  toString(): StringBuffer-->String
  方法:
    append():追加
    insert(位置,参数):某个位置插入,参数可以是包括String的任何数据类型

    String是不可变对象(操作的是副本)
    StringBuffer是可变的字符串
    StringBuild

  注意:String类的concat()方法只能将String类型的字符串追加到一个字符串后面
    StringBuffer类可以将任何类型的值追加到字符串后面

String类,StringBuffer类及StringBuilder类对比
  1,String:字符串常量
    String类是不可变的对象,在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后指向新的String对象,
      所以经常改变内容的字符串最好不要用String类型,因为每次生成对象都会对系统性能产生影响.
  2,StringBuffer:字符串变量
    StringBuffer是可变的字符串,在每次对StringBuffer对象进行改变时,会对StringBuffer对象本身进行操作,而不是生成新的对象,
       再改变对象引用.所以,在字符串对象经常改变的情况下推荐使用StringFuffer类
  3,SStringBuilder:字符串变量
    和StringBuffer等价,区别在于StringBuffer类是线程安全的,StringBuilder类是单线程的,不提供同步,理论上效率更高.

-==>java.util包
格式化是指日期转换为文本,解析是指文本转换为日期格式Date类 java.util.Date;

//java.text.SimpleDateFormat
  格式化输出日期
 

    Date date = new Date();
  System.out.println(date);
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dString = format.format(date);
  System.out.println(dString);    

Calendar类:操作日期时间
  抽象类,java.util.Calendar
  用于设置和获取日期/时间数据的特定部分
  Calendar类提供一些方法和静态字段来操作日历
  方法 说明
  int get(int field) 返回给定日历字段的值
  MONTH 指示月
  DAY_OF_MONTH 指示一个月中某天
  DAY_OF_WEEK 指示一个星期中的某天

  Calendar calendar = Calendar.getInstance();
  calendar.get(Calendar.YEAR) //返回年
  calendar.get(Calendar.MONTH)+1 //返回月
  calendar.get(Calendar.DAY_OF_MONTH) //返回天
  calendar.get(Calendar.DAY_OF_WEEK)-1 //返回星期

  System.currentTimeMillis 当前毫秒时间

 1 GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
 2 boolean  isLeapYear(int year) 确定给定的年份是否为闰年。
 3
 4     GregorianCalendar gcalendar = new GregorianCalendar();
 5     Calendar c = Calendar.getInstance();
 6     boolean flag = gcalendar.isLeapYear(c.get(Calendar.YEAR));
 7     if (flag){
 8         System.out.println(c.get(Calendar.YEAR) + "是闰年");
 9     } else {
10         System.out.println(c.get(Calendar.YEAR) + "不是闰年");
11     }
12
13 ===> gcalendar.isLeapYear(2012); -->可直接传入年份
时间: 2024-12-13 16:53:01

实用类(Math,String及Date,Calendar)的相关文章

JAVA学习记录(一)——Number\Character\String\数组\Date\Calendar\GregorianCalendar

jdk环境配置 Java Number类 装箱拆箱 Number类的成员方法 Java Character类 简介 Character 方法 Java String类 创建字符串 字符串长度length 连接字符串 创建格式化字符串 String 方法 Java StringBuffer和StringBuilder类 StringBuffer 方法 Java 数组 声明数组变量 创建数组 遍历数组 for foreach Arrays 类 Java日期时间 Date 构造函数 日期方法 获取当前

java中Date Calendar String SimpleDateFormat的关系

Date 唯一的职能是提供一个总毫秒数,在java 1.4后,所有getDay.getMonth这些函数都被废弃. Calendar 可以通过Date创建,也可以导出Date.作用是进行各种日历计算,如setFirstDayOfWeek(设置工作日的开始日). SimpleDateFormat可以将String和Date相互转换,要指定特定格式,如“yyyy-MM-dd”;

String Date Calendar之间的转换

1.Calendar 转化 String 1 Calendar calendat = Calendar.getInstance(); 2 3 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 4 5 String dateStr = sdf.format(calendar.getTime()); 2.String 转化Calendar 1 String str="2012-5-27"; 2 3 Si

String、Date、Calendar之间的转换

1.String.Date.Calendar之间的转换 要用到格式化类SimpleDateFormat 1 package com.rong.se; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 8 public class StringDate { 9 10 public stati

String、Date、Calendar的转换

==================================================== String ---- > Date String dateString = "2019-10-11 08:34:27" ; String strDateFormat = "yyyy-MM-dd HH:mm:ss"; SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat); Date date1

【java】Date与String之间的转换:java.text.SimpleDateFormat、public Date parse(String source) throws ParseException和public final String format(Date date)

1 package 日期日历类; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 public class TestDate { 8 public static void main(String[] args) { 9 Date date=new java.util.Date(); 10 System.out.println(date);/

Java String和Date的转换和 Date类型操作

 String->Date String dateString = "2017-03-11 "; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "); Date date = sdf.parse(dateString); } catch (ParseException e) { System.out.println(e.getMessage()); } /** * 字符串转换到时间格

java中setDate(Date date)方法和String与Date之间的转换

经常在开发的过程中遇到这样的问题,从数据库中读出来的数据需要转换为对像或者java bean,此时经常使用到setDate(Date date);这样的方法.感觉这是个很简单而又难受的事情,在这里浪费时间真的是不应该.我这里就记录下我使用过的,方便以后查阅使用. 例如下面的setter方法: private String userId; private boolean isLogin; private Date loginTime; public void setLoginTime(Date l

Java String和Date的转换 转http://www.cnblogs.com/bmbm/archive/2011/12/06/2342264.html

Java String和Date的转换 String->Date方法一: String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "); Date date = sdf.parse(dateString); } catch (ParseException e) { System.out.println(e.getMessag