Java横向三天复习Day1

一、Math数学类

Math.abs(): 获取到绝对值

Math.pow(3,3):3的3次幂

Math.round():四舍五入

Math.sqrt():求平方根 根号

二、基本数据类型包装类

长整型:Long.parseLong(“123456678912345678345”)

整型:integer.parseint()

浮点型:parseDouble()

1.让基本数据类型有面向对象的特征

  1. 封装了字符串转化成基本数据类型的方法(重点)

三、时间类

1.定义时间

Date //返回系统时间 不适合用来增加或减少天数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zsFFaLPc-1655046366111)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612190656371.png)]

System.out.println(date.getTime());

返回的是1900年到现如今的毫秒数。

Calender.getInstance();

image-20220612192411040

可在年月日中增加年数月数天数

Calendar calendar=Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DATE));//天数

得到当前日期的年份和月份

HOUR_OF_DAY是24小时制;
HOUR是12小时制;

calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)+130);//写在日期之前

可以增加年数月数天数

get()获取到时间的某一个部分

set()设置时间->计算时间

区别是:第一个所加天数不能超过当前月数的最大值,只能改变日不能改变月

第二个可以改变年月日。所以增加时间可以使用.set()

Date date=new Date();
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);//
System.out.println(calendar.get(Calendar.YEAR));

2.SimpleFormat的用法

2.1.Format把时间转化成字符串 字符串=日期

Date date=new Date();
 SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 String s=simpleDateFormat.format(date);//格式化时间 但返回的是一个字符串,在java中定义字符串类型应该重新定义一个,得到更改的值,而不是直接更改原值
 System.out.println(s);

2.2. Parse(String)把字符串转换成时间

Scanner sc=new Scanner(System.in);
System.out.print("请输入一个时间(yyyy-MM-dd HH:mm:ss):");
String s=sc.nextLine();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=sdf.parse(s);//
System.out.println(date);

3.计算时间差

String s1 = "2018-01-01 12:00:00";//开始时间 --字符串
String s2 = "2018-01-01 13:45:00";//结束时间

//格式化时间的工具
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//把字符转化成时间
Date d1 = sdf.parse(s1);
Date d2 = sdf.parse(s2);

//转换为毫秒
long l1=d1.getTime();
long l2=d2.getTime();

long diff=Math.abs(l1-l2);//计算毫秒级别的时间差,求绝对值

//秒级别的时间差
long diffSec=diff/1000;
//分钟级别时间差
long diffMin=diffSec/60;
//显示成xxx小时xxx分钟
long diffHour=diffMin/60;//一小时
long diffMin2=diffMin %60;//二小时
System.out.println("您一共玩了"+diffHour+"小时"+diffMin2+"分钟"); 

四、字符串的用法

4.1.charAt

String s="你好啊,我叫赛利亚";
System.out.println(s.charAt(0));//获取第0个位置的字符

4.2 字符串是不可变的数据类型。

几乎所有的字符串操作都会返回一个新字符串

4.3.Concat和Concatins

String s2=s.concat("hhh");//在字符串s上进行拼接,
System.out.println(s2);

Concatins表示包含,返回True或False

4.4.endSwith和StartSwith的用法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ikvBFHNz-1655046366113)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612215423046.png)]

4.5.index0f

字符串出现的位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tlbSaJB1-1655046366113)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612215821156.png)]

4.6.replace(old,new)

替换字符串

4.7. split和subString

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dG82HNB7-1655046366113)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612220605035.png)]

通过_来切割字符串

ss[0]=哈哈 ss[1]=呵呵

subString:相当于MySQL里面的mid从指定位置截取指定长度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wM6yxTol-1655046366114)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612220736495.png)]

trim()去掉字符串中所有空格

4.8.转化字符串两种方法

System.out.println(String.valueOf());
System.out.println(i+"");

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YeR4X15p-1655046366114)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612221342683.png)]

+? 然后两个"true":“false”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NC5X3r6f-1655046366114)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612221553303.png)]

4.9.StringBuffer和StringBulid的区别:可变的字符串

String是不可变的数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jxRBy9VU-1655046366114)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220612225809155.png)]

线程安全和线程不安全的区别

5.0.DecimalFormat

(格式化小数点)

double d=10/3.0;
//0和#表示预留的两位小数
DecimalFormat df=new DecimalFormat(".00");//.#也可以
String s=df.format(d);//需要格式化
System.out.println(s);

xRBy9VU-1655046366114)]

线程安全和线程不安全的区别

5.0.DecimalFormat

(格式化小数点)

double d=10/3.0;
//0和#表示预留的两位小数
DecimalFormat df=new DecimalFormat(".00");//.#也可以
String s=df.format(d);//需要格式化
System.out.println(s);

你可能感兴趣的:(JAVA,java,开发语言)