华杉研发九学习日记16 SimpleDateFormat类 包装类 BigDecimal类 DecimalFormat类 System类

华杉研发九学习日记16

一,SimpleDateFormat类

SimpleDateFormat主要是实现字符串和Date之间的互转

格式化(format): Date类型对象------->String类型: String format(Date date)

解析(parsey: String类型时间---->Date类型: Date parse(String source)

java 复制代码
//  2024-07-23 10:53:23 星期二
//  yyyy-MM-dd HH:mm:ss E           这些字母有对应的意义
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
//  format()方法
//  把Date类对象里面对应的日期信息按照格式填充(对应字母。。。)
System.out.println(sdf.format(new Date()));

测试结果:2024年07月23日 10:59:28 星期二

二,包装类

包装类是对java中的8中基本数据类型进行类的封装。

优点:

​ 1.包装类为基本数据类型提供了方法的调用

​ 2.包装类主要实现基本数据类型、字符串类型、包装类三者之间的相互转换

​ Number类是Byte、Short、Integer、Long、Float、Double的父类。它是一个抽象类,内部定义了一些抽象方法,这些抽象方法由子类负责实现。

Character和Boolean的父类不是Number类而是Object类。

​ 因为Byte、Short、Integer、Long、Float、Double都继承与Number,则其中的很多方法都是类似,我们在此只需要使用Integer来操作即可。

2.1 Integer类

Integer是int的包装类,父类为Number,要实现其中所有的抽象方法

构造器:

java 复制代码
//  构造器     --    int 转为Integer对象
Integer in1 = new Integer(111);
System.out.println(in1);
//             --   把String转为Integer对象
String s ="45";
Integer in2 = new Integer(s);
System.out.println(in2+2);

方法:

java 复制代码
//  方法	intValue()
int a = in1.intValue();     //  值,Integer对象转为int值
System.out.println(a);
//  in1->字符串	toString()
String s1 = in1.toString();
System.out.println(s1+1);     

重点(主推):自动装箱----自动拆箱

转换:

int --> Integer

java 复制代码
//  int --> Integer
int a = 111;
Integer in1 = new Integer(a);	//构造器方法
System.out.println(in1);
Integer in2 = Integer.valueOf(a);	//valueOf
System.out.println(in2);
//  自动装箱    --JDK 1.5,可以自动装箱
Integer in3 = 123;
System.out.println(in3);

Integer --> int

java 复制代码
//  Integer --> int
int a2=in1.intValue();		//	intValue
System.out.println(a2);
//  自动拆箱    --  java中系统可以自动把包装类拆箱为基本数据类型
int a3=in2;
System.out.println(a3);

Integer --> String

java 复制代码
//  Integer --> String
Integer in4 = new Integer(23);	//构造器
String s1=in4.toString();		//toString
System.out.println(s1);

String --> Integer

java 复制代码
//  String -- > Integer
String s2="34";
Integer in5=new Integer(s2);		//构造器
Integer in6=Integer.valueOf(s2);	//valueOf
System.out.println(in5+11);
System.out.println(in6+22);
Integer in7 = Integer.valueOf("1000");
System.out.println(in7);

String --> int

java 复制代码
//  String --> int
String s3="2003";
int year=Integer.parseInt(s3);	//	parseInt
System.out.println(2024-year);

int --> String

java 复制代码
//  int --> String
String.valueOf(year);   //  valueOf
System.out.println(year+2);
String s5 = Integer.toString(year); //利用包装类的toString
System.out.println(s5);
String s6 = year+"";    //  利用拼接
System.out.println(s6);

2.2 Character类

Character类char的包装类,是对char的封装,Character类继承于Object类。

方法:

java 复制代码
char ch = 'A';
System.out.println(Character.isDigit(ch));//    是否数字
System.out.println(Character.isLetter(ch)); //  是否字母
System.out.println(Character.isLetterOrDigit(ch));//    是字母活着数字
System.out.println(Character.isUpperCase(ch));//    是否大写字母
System.out.println(Character.isLowerCase(ch));//    是否小写字母
System.out.println(Character.isSpaceChar(ch));//    是否空格字符

二,BigInteger

BigInteger类可以让超过Integer范围的数据进行运算,通常在对数字计算比较大的行业中应用的多一些。

特点:构造器穿的参数要用双引号括起来

java 复制代码
//用来保存超出Integer范围的数据
BigInteger in=new BigInteger("10");
System.out.println(in);
BigInteger in2 = new BigInteger("3");
System.out.println(in.add(in2));        //加法
System.out.println(in.subtract(in2));   // 减法
System.out.println(in.multiply(in2));   //  乘法
System.out.println(in.divide(in2));     // 除法
BigInteger[] arr = in.divideAndRemainder(in2);  //  取商和余数
//    返回值用一个数组来保存
System.out.println(arr[0]);
System.out.println(arr[1]);

三,BigDecimal类

对于基本数据类型中double的精度不够时,可以用到BigDecimal类

java 复制代码
System.out.println(2.0-1.1);
//上面的方法得到的值为0.8999999999999999
BigDecimal b1 = new BigDecimal("10");
BigDecimal b2 = new BigDecimal("3");
System.out.println(b1.subtract(b2));//	减法
System.out.println(b1.add(b2));		//	加法
System.out.println(b1.multiply(b2));//	乘法
//  四舍五入保留两位小数
System.out.println(b1.divide(b2, 2,BigDecimal.ROUND_HALF_UP));			//BigDecimal.ROUND_HALF_UP规则 取就近,即四舍五入

四,DecimalFormat类

Decima1Format是格式为十进制数的NumberFormat的具体子类。它具有各

种功能,旨在使任何地区的数字解析和格式化

格式化:

字符 含义
0 数字
# 数字
. 小数点
, 逗号
% 百分比
\u2030 千分比
java 复制代码
DecimalFormat df = new DecimalFormat("#,###.##");//保留两位小数点
//DecimalFormat df = new DecimalFormat("#0#.0#");错误的,在整数或小数上不能混用
double num = 1234.5678;
String fm = df.format(num);
System.out.println(fm);
//  百分比
DecimalFormat df2 = new DecimalFormat("0%");
double dd = 2;
String dd2 = df2.format(dd);
System.out.println(dd2);
//  数字转换并用Number类对象接收
Number p = df.parse("23.45");
System.out.println(p);

五,System类

java 复制代码
System.out.println("你好");
System.err.println("我是错误信息");// 生成顺序不稳定

System.out.println(System.currentTimeMillis()); //  当前时间毫秒(到基准时间)
System.exit(0);         //  退出虚拟机  系统
System.gc();    //  垃圾回收机制  一般不需要手动开启,系统自动启动
相关推荐
genispan2 分钟前
QT/C++ 多线程并发下载实践
开发语言·c++·qt
松韬18 分钟前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存
-代号952721 分钟前
【JavaScript】十三、事件监听与事件类型
开发语言·javascript·ecmascript
绝顶少年30 分钟前
Spring Boot 注解:深度解析与应用场景
java·spring boot·后端
心灵宝贝30 分钟前
Tomcat 部署 Jenkins.war 详细教程(含常见问题解决)
java·tomcat·jenkins
天上掉下来个程小白32 分钟前
Redis-14.在Java中操作Redis-Spring Data Redis使用方式-操作列表类型的数据
java·redis·spring·springboot·苍穹外卖
ゞ 正在缓冲99%…40 分钟前
leetcode22.括号生成
java·算法·leetcode·回溯
写代码的小王吧44 分钟前
【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~
java·开发语言·网络·安全·web安全·网络安全·jar
小卡皮巴拉1 小时前
【力扣刷题实战】矩阵区域和
开发语言·c++·算法·leetcode·前缀和·矩阵
伊成1 小时前
Springboot整合Mybatis+Maven+Thymeleaf学生成绩管理系统
java·maven·mybatis·springboot·学生成绩管理系统