首页 > 其他分享 >第十一天

第十一天

时间:2024-02-06 11:11:06浏览次数:24  
标签:第十一天 BigDecimal System calender println Calendar out

Stringbuffer

先创建一个对象,可以用append添加内容,用add追加。在指定位置添加用inisert,指定位置替换0,4即替换前三个字符,删除delete同理

package StringBuffer;

public class Demo01 {
    public static void main(String[] args) {
        StringBuffer str =new StringBuffer();
        //apend
        str.append("java世界第一");
        System.out.println(str.toString());
        //追加
        str.append("wolaie");
        System.out.println(str.toString());
        //插入insert
        str.insert(1,"dada");
        System.out.println(str.toString());
        //repalce,可以指定位置替换
        str.replace(0,4,"hello");//0123位置的字符,替换为新的
        System.out.println(str.toString());
        //delete删除
        str.delete(0,4);//删除0123位置的字符
        System.out.println(str.toString());
    }
}

BigDecimal

BigDecimal是一个包装好的类,先创建一个对象,对象里用""把值标进去,可以进行加减乘除,要注意的是这是一个类,不能直接用+-/*,加用add,减号是用subtract,✖是multiply,除法是divide,要注意的是除法的结果是无穷尽的会报异常,num1.divide(num2,保留几位小数,ROUND_HALF_UP四舍五入)

可能遇到面试题,银行金额为什么不能用double和float因为都是近似值容易丢失精度。

package Bigdecimal;

import java.math.BigDecimal;

public class Demo01 {
    public static void main(String[] args) {
        double d1 =1.0;
        double d2 = 0.9;
//        System.out.println(d1-d2);//
        //bigdecima
        BigDecimal bigDecimal = new BigDecimal("1.0");
        BigDecimal bigDecimal2 = new BigDecimal("0.9");
        System.out.println(bigDecimal.subtract(bigDecimal2));
        System.out.println(bigDecimal.add(bigDecimal2));
        System.out.println(bigDecimal.multiply(bigDecimal2));
        System.out.println(bigDecimal.divide(bigDecimal2,2,BigDecimal.ROUND_HALF_UP));
        new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
    }
}

Date

比较老的一个类,jdk一开始就有了,现在快淘汰了,快被替代了

package DateDemo;

import java.util.Date;

public class Demo01 {
    public static void main(String[] args) {
        System.out.println(new Date().toLocaleString());
        Date date = new Date();//创建一个对象,默认值是当前日期
        Date date2 = new Date(date.getTime()-60*60*24*1000*3);//利用今天的日期减去一天,就是昨天的的日期
        System.out.println(date2.toLocaleString());//改变格式输出
        boolean cc = date.after(date2);//判断是不是在另一天的前面
        boolean cc1 = date.before(date2);//判断是不是在另一天的后面
        System.out.println(date.compareTo(date2));//比较两天,类似于字符串的比较
        System.out.println(cc);
        System.out.println(cc1);
        System.out.println(date2.equals(date));
    }
}

calender

calender是一个抽象类,不能被实例化。Calendar calender =Calendar.getInstance();一般用getInstance方法创建对象,

Calendar.YEAR 获得获取时间的年份

Calendar.MONTH 获得获取时间的月份

Calendar.DAY_OF_MONTH 获得获取时间的天数

Calendar.HOUR 获取获得时间的几时,12小时制

Calendar.HOUR_OF_DAY 获取当前时间的24小时制

Calendar.MINUTE 和获取当前时间的分钟

Calendar.SECOND 获取当前时间的秒数

package DateDemo;

import sun.util.resources.CalendarData;

import java.util.Calendar;

public class CalendarDemo {
    public static void main(String[] args) {
    Calendar calender =Calendar.getInstance();
        System.out.println(calender.getTime().toLocaleString());
        //获取时间信息
        int year = calender.get(Calendar.YEAR);
        int month = calender.get(Calendar.MONTH);
        int day = calender.get(Calendar.DAY_OF_MONTH);
        int hours = calender.get(Calendar.HOUR);
        int hour = calender.get(Calendar.HOUR_OF_DAY);
        int mintues = calender.get(Calendar.MINUTE);
        int miao = calender.get(Calendar.SECOND);
        System.out.println(month+1);
        System.out.println(year);
        System.out.println(day);
        System.out.println(hour);
        System.out.println(mintues);
        System.out.println(miao);
        System.out.println(year+"年"+(month+1)+"月"+day+"日"+hour+"时"+mintues+"分"+miao+"秒");
        Calendar calender2 =Calendar.getInstance();
        calender2.set(Calendar.YEAR,2023);
        System.out.println(calender2.getTime().toLocaleString());
        calender2.add(Calendar.YEAR,3);
        System.out.println(calender2.getTime().toLocaleString());
        System.out.println(calender2.getActualMaximum(Calendar.DAY_OF_MONTH));
        System.out.println(calender2.getActualMinimum(Calendar.DAY_OF_MONTH));
    }
}

SimpleDateFormat

先创建一个对象,顺便设置格式yyyy年MM月dd日HH:mm:ss,simpleDateFormat.format(date).。利用创建好的格式进行格式化。

需要注意的是simpleDateFormat.parse("2000年05月13日13:05:06").toLocaleString(),采用parse设置指定时间要按照格式来,不然会产生异常,抛出异常才能运行

package DateDemo;

import java.text.SimpleDateFormat;
import java.util.Date;

public class Simdemo {
    public static void main(String[] args) throws Exception{
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");//设置显示日期的格式
        Date date = new Date();//创建一个日期
        System.out.println(date.toLocaleString());//输出当前时刻的日期
        String format = simpleDateFormat.format(date);//利用设置好的格式,格式化当前日期
        System.out.println(format);//输出
        System.out.println(simpleDateFormat.parse("2000年05月13日13:05:06").toLocaleString());//simpleDateFormat.parse 自己设置时间
    }
}

标签:第十一天,BigDecimal,System,calender,println,Calendar,out
From: https://www.cnblogs.com/inian/p/18009400

相关文章

  • 代码随想录算法训练营第十一天 | 20. 有效的括号 | 1047. 删除字符串中的所有相邻重
     有效的括号 已解答简单 相关标签相关企业 提示 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应......
  • 代码随想录算法训练营第十一天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复
    20.有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。题目链接:20.有效的括号-力扣(LeetCode)思路:只......
  • [代码随想录] 第十一天
    239.滑动窗口最大值[https://leetcode.cn/problems/sliding-window-maximum/submissions/497438333/]思路:滑动窗口大小为K,现在前K个数中找到Max值进入ans数组,然后开始向后遍历,每进入一个数字时先判断if(nums[i-k]==max),查看上一个max是否被滑动窗口滑出,若已滑出则在当前滑动窗口......
  • 代码随想录算法训练营第十一天|20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150
    一、20.有效的括号题目链接:LeetCode20.有效的括号学习前:思路:当前元素为左括号,直接入栈当前元素为右括号,若找到对应的左括号匹配,则循环继续;反之返回false若栈为空,返回true;反之false时间复杂度:O(n)空间复杂度:O(n)学习后:采用入栈右括号,降低复杂度。即当遇到左......
  • 代码随想录算法训练营第十一天 | ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻
    今日学习的内容●20.有效的括号varisValid=function(s){letstack=[];for(leti=0;i<s.length;i++){lettemp=s[i];if(temp=='('){stack.push(')')continue;}if(......
  • Java拾贝第十一天——IO流之打印流
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么在整个IO包中,打印流是输出信息最方便的类。主要包括字节打印流(PrintStream)和字符打印流(PrintWriter)打印流没有输入流,所以没有输入输出这个说法,都是输出PrintStream字节打印属于OutputStream的子类,PrintStream的构造方......
  • Java拾贝第十一天——IO流之字节流复制图片、视频
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么文件在硬盘或传输时都以字节的形式进行传输。包括图片、视频等。思路:先定位源文件file1作为源文件,file2作为复制文件使用字节流输入流读取file1使用字节流输出流输出file2关闭流。定位源文件,我特地翻出来一张学校......
  • Java拾贝第十一天——IO之File类
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么Java中提供了IO以操控计算机中的文件File类在整个IO包中,与文件相关的类就是File类。使用它可以进行创建或删除文件因为File类是个普通类,初始化它需要调用其有参构造publicFile(Stringpathname){//传参为文件路径}使......
  • 代码训练营第十一天(Python)| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150
    20.有效的括号思路:分析出三种情况,画图模拟。写代码容易写错。classSolution:defisValid(self,s:str)->bool:a_stack=list()foriins:ifi=='(':a_stack.append(')')elifi=='{':......
  • 学习C语言的第十一天
    写一个函数,实现一个整形有序数组的二分查找#include<stdio.h>intBinary(intarr[],intk)//这里的arr本质上是个指针{ intsz=sizeof(arr)/sizeof(arr[0]);//由于上面的是指针,所以这里sz计算的是指针的大小,在win32系统下是4,而arr[0]是一个整形的大小,也是4,所以sz=4/4......