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

华杉研发九学习日记16

一,SimpleDateFormat类

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

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

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

//  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,要实现其中所有的抽象方法

构造器:

//  构造器     --    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);

方法:

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

在这里插入图片描述

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

转换:

int --> Integer

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

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

Integer --> String

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

String --> Integer

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

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

int --> String

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

方法:

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范围的数据进行运算,通常在对数字计算比较大的行业中应用的多一些。

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

//用来保存超出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类

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, 2BigDecimal.ROUND_HALF_UP));			//BigDecimal.ROUND_HALF_UP规则 取就近,即四舍五入

四,DecimalFormat类

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

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

格式化:

字符含义
0数字
#数字
.小数点
,逗号
%百分比
\u2030千分比
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类

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

System.out.println(System.currentTimeMillis()); //  当前时间毫秒(到基准时间)
System.exit(0);         //  退出虚拟机  系统
System.gc();    //  垃圾回收机制  一般不需要手动开启,系统自动启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孤鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值