1.日期类,时间类,日期时间类

初步日期使用方法及格式转换方法(旧方法):

格式://Mon Jul 30 11:26:05 CST 2018             年月日时分秒    CST代表北京时间

获取当前毫秒

Date date = new Date();

转换时间格式:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = sdf.format(date);

日历类的使用

Calendar c1 = Calendar.getInstance();
int year = c1.get(c1.YEAR);
int month = c1.get(c1.MONTH);

打印日历示例(新方法:LocalDate时间类)

public static void getMonth(int year,int month){

        LocalDate date = LocalDate.of(year, month, 1);
/**
* 判断月
*/
int days = 0;
if(month == 1 ||month == 3 ||month == 5||month == 7||month == 8 ||month == 10 || month == 12){
days = 31;//31天
}else if(month == 2){
//2月份
if(date.isLeapYear()){
days = 29;//29天
}else{
days = 28;//28天
}
}else{
days = 30;//30天
}
//判断当前月第一天是周几
int week = date.getDayOfWeek().getValue();
/**
* 一 二 三 四 五 六 日
* 1 2 3 4
* 5 6
*/
//第一行,打印"日 一 二 三 四 五 六"
//第二行,打印,根据星期打印空格,
//之后打印1--(30 31 28 29)
System.out.println("日\t一\t二\t三\t四\t五\t六");
//打印空格
int count = 0;
for (int i = 1; i < week; i++) {
count++;
System.out.print("\t");
}
//1 ---- 31 29 30
for (int i = 1; i <=days; i++) {
count++;//接着之前的空格计算
System.out.print(i+"\t");//不换行打印
if(count%7==0){//每行7个字符。换行
System.out.println();
}
}
}
public static void main(String[] args) {
getMonth(2018, 7);
for(int i=1;i<=12;i++){
System.out.println("\n*********************************************");
getMonth(2019, i);
System.out.println("\n*********************************************");
}
} }

LocalDate 创建日期类,日期的格式化,快速创建日期的方法,获取年月日,判断闰年的方法

LocalTime 创建时间的类,时分秒的格式化

LocalDateTime日期时间类

DateTimeFormatter类-----"yyyy-MM-dd HH:mm:ss"

可以说,LocalDateTime里可以包含LocalDate类的信息和LocalTime类的信息

LocalDate使用示例:

//判断当前年是否是闰年
LocalDate localDate1 = LocalDate.now();
boolean leapYear = localDate1.isLeapYear();
//2001 1 1 快速的构建一个日期类LocalDate of()方法去构建
LocalDate ld2 = LocalDate.of(2001, 1, 1);

LocalTime使用举例:用来返回当前时间

LocalDateTime dateTime = LocalDateTime.now();

        System.out.println(dateTime);
//格式化日期格式的类DateTimeFormatter
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyy-MM-dd HH:mm:ss");
//把LocalDateTime类型转化为String字符串类型
String strDateTime = dtf.format(dateTime);
//获取当前月份,获取当前年份,时分秒
LocalDateTime date = LocalDateTime.now();
date.getYear();
date.getMonth();
date.getHour();
date.getMinute();
date.getSecond();

2.String某些函数用法

//不区分大小写判断是否相等
str1.equalsIgnoreCase(str2)
//字符串是否包含另一个串
str1.contains("a")
//找到字符串中下标为1的字符
str1.charAt(1)
//截取字符串,包含前不包含后
String newStr = str.substring(1,5);
//按逗号分割成String数组
String[] ss =strs.split(",");
//trim()方法,只能去前后空格,中间空格去不掉
String s = str3.trim();
//检查字符串的尾串是不是逗号
countstr.endsWith(",")
//替换所有的逗号为空字符
countstr.replace(",","");
//最后一个点的位置
email.lastIndexOf(".")
//第一个@的位置
email.indexOf("@")

String与StringBuffer的区别

1、String的值不可以改变,只能改变内存地址的指向。所以String类在修改字符串方面的效率较低。StringBuffer的值可以改变,带有缓冲区,方便进行内容修改。

2、String类中连接用’+’,而StringBuffer用append方法做数据连接

StringBuffer类中定义的方法全部使用同步定义,属于线程安全操作

StringBuilder类没有同步定义,都是异步方法,属于非线程安全操作

String与StringBuffer相互转换

StringBuffer strBuff = new StringBuffer("新字符串:");
for (int i = 0; i < ss.length; i++) {
strBuff.append(ss[i]+",");//将后面加上逗号,放入缓冲区
}
System.out.println(strBuff.toString());
strBuff.deleteCharAt(strBuff.length()-1);
//去掉最后一个逗号,不用返回,直接拿strBuff操作
System.out.println(strBuff.toString());
//新字符串:今天,天气真的不错,我们一起去爬山吧,好的
char a[] = new char[]{'[','2','0','1','8',']'};
strBuff.insert(0,a);
//strBuff.insert(0, "[2018] ");
System.out.println(strBuff.toString());

正则表达式用法

String reg = "^[0-9]{0,9}";//零到九
//*所有
//.占位符
boolean flag = "12".matches(reg);
System.out.println(flag);

数字包装类

包装类解决了基本数据类型,不能使用对象的问题

1、  装箱--->把基本数据类型转化成相应的包装类

Integer i = new Integer(a);
Integer i1 = new Integer("100");
Double d1 = new Double(b);
char c2 = new Character('a');

自动装箱:

Integer iii = 1000;
Character c1 = 'a';
double b = 10.10;

2、  拆箱--->把包装类转化为基本数据类型(自动拆箱和手动拆箱)

手动拆箱:

int i_3 = i1.intValue();
double d_2 = d1.doubleValue();
boolean bool1_2 = bool1.booleanValue();

自动拆箱

int i__3 = i;
int i1__3 = i1;

3、  String和包装类及基本数据类型的转化

String str5 = "2312";
String str6 = "2345.23.23";
String str7 = "23.12d";
String str2 = "1000";
int ii2 = Integer.valueOf(str2);
//如果str5加上L字符,转化将有异常
Long str5_1 = Long.valueOf(str5);
//出现多个点的话,转化有错误
double str6_1 = Double.valueOf(str6);

日期类时间类,日期时间类,单例模式,装箱与拆箱,数字类随机数,BigDecimal总结的更多相关文章

  1. C#基础回顾(二)—页面值传递、重载与重写、类与结构体、装箱与拆箱

    一.前言 -孤独的路上有梦想作伴,乘风破浪- 二.页面值传递 (1)C#各页面之间可以进行数据的交换和传递,页面之间可根据获取的数据,进行各自的操作(跳转.计算等操作).为了实现多种方式的数据传递,C ...

  2. Integer类的装箱和拆箱到底是怎样实现的?

    先解释一下装箱和拆箱: 装箱就是  自动将基本数据类型转换为包装器类型:拆箱就是  自动将包装器类型转换为基本数据类型. 下表是基本数据类型对应的包装器类型: int(4字节) Integer byt ...

  3. 1.1 JAVA装箱和拆箱以及Java Number & Math&Character 类

    JAVA装箱和拆箱 从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了.原文链接: http://www.cnblogs.com/dolph ...

  4. java - day010 - 基本类型包装,自动装箱和拆箱,日期,集合

    基本类型的包装类 byte Byte short Short int Integer long Long float Float double Double char Character boolea ...

  5. Java基础(35):装箱与拆箱---Java 中基本类型和包装类之间的转换(Wrapper类)

    基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了. 那什么是装箱 ...

  6. Integer类的装箱和拆箱实现

    反编译:是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析.研究”工作,以推导出他人的软件产品所使用的思路.原理.结构.算法.处理过程.运行方法等设计要素,某些特定情况下可能推导出源代码.反 ...

  7. 设计模式之PHP项目应用——单例模式设计Memcache和Redis操作类

    1 单例模式简单介绍 单例模式是一种经常使用的软件设计模式. 在它的核心结构中仅仅包括一个被称为单例类的特殊类. 通过单例模式能够保证系统中一个类仅仅有一个实例并且该实例易于外界訪问.从而方便对实例个 ...

  8. Java ——Number & Math 类 装箱 拆箱 代码块

    本节重点思维导图 当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等 int a = 5000; float b = 13.65f; byte c = 0 ...

  9. Android随笔之——Android时间、日期相关类和方法

    今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...

随机推荐

  1. RPC web service

    ---------------------------------------------------------------------------------------------------- ...

  2. Zabbix监控平台3.2.4(一)搭建部署与概述

    一,Zabbix架构 zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix 能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制 ...

  3. VMware要不要装在固态SSD上,虚拟机系统文件要不要放固态SSD上,虚拟机伤不伤固态SSD

    先说结论:VMware建议装在固态上运行快,系统文件最好放在机械硬盘上(有钱除外),虚拟机会伤固态. 今天在学淘淘商城中的搜索项目,克隆了一个虚拟机,这个虚拟机开机贼慢,令人无法忍受,我觉得我再也受不 ...

  4. selenium使用技巧

    标签(空格分隔): selenium 我们进行selenium的时候,就是通过webdriver,对浏览器做一些操作的: webdriver,除了find操作,之外还有哪些方法和属性呢? 1.获取当前 ...

  5. Mysql数据存在更新,不存在则插入的实现

    有些情况下,我们需要对数据库进行插入或更新操作的时候需要先根据特定的字段去判断是否已存在,然后做出不同的插入或者跟新操作. replace函数: 我们要在需要判断的字段上建立一个唯一索引,且这个字段不 ...

  6. .net framework , code first

    1. 创建一个控制台应用程序, 并添加引用 2 创建 一个类 public class New { [Key] public string NewId { get; set; } public str ...

  7. 纯css3单选框/复选框美化样式代码

    纯CSS 单/复选框 美化请选择iPhone 型号 iPhone 6s iPhone 6s Plus iPhone 7 iPhone 7 Plus   选择兴趣爱好 女 绘画 摄影 骑行   原理在这 ...

  8. 2. 2A03简介

    2A03简介 1.CPU 1.1 内部寄存器 1.累加寄存器A(Accumulator):8位寄存器,用于同算术逻辑单元(ALU)共同完成各种算术逻辑运算,它既为ALU提供原始操作数又担任存放ALU运 ...

  9. linux一台服务器配置多个Tomcat

    前提:linux服务器上已经运行多个Tomcat,再去搭建一个Tomcat服务 1.官网下载Tomcat 2.上传到服务器指定一个目录/usr/local/tomcat 3.然后解压tar包,tar ...

  10. dubbo知识体系

    Dubbo负载均衡 Random随机/ RoundRobin轮询/ LeastActive最少Dubbo缓存Dubbo集群容错 Dubbo回调 服务分组: group Dubbo异步调用 <du ...