当前位置 博文首页 > m0_46212244的博客:一些关于java的日常使用方法记录

    m0_46212244的博客:一些关于java的日常使用方法记录

    作者:[db:作者] 时间:2021-09-23 13:23

    1.两个整数相除,结果保留两位小数,或者转换成百分比

    package com.zte.mds.web.model.wxsc.display;
    
    import java.text.DecimalFormat;
    
    public class Test {
        public static void main(String[] args) {
            int j = 2;
            int k = 5;
            double l = (double) j / k;
            // 如果想转换为百分数形式可以  double l = (double) j / k * 100
            double z = l * 100;
            // 这里如果为0.xx几这种,那么下面的写法打印出来的就会省略0,会显示.xx
            DecimalFormat decimalFormat = new DecimalFormat("#.00");
            String format1 = decimalFormat.format(l);
            System.out.println(format1);   // 打印 .40
            String format2 = decimalFormat.format(z);
            System.out.println(format2 + "%");  // 打印 40.00%
            // 另外补充一个Long类型转换的方式
            Long a = 2L;
            Long b = 5L;
            String result = String.format("%.2f", (a.doubleValue() / b.doubleValue()) * 100) + "%";
            System.out.println(result);     // 打印 40.00%
        }
    }
    
    PS:一通百通
    

    2.时间戳的转换

    package com.zte.mds.web.model.wxsc.display;
    
    import java.text.DecimalFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Test {
        public static void main(String[] args) throws Exception {
            // 将时间格式的字符串转换成时间戳
            String timeStr = "2021-09-18 13:19:32";
            // 年月日时分秒
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            // 年月日
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date parse = simpleDateFormat.parse(timeStr);
            long time = parse.getTime();
            System.out.println(time);       // 1631942372000
    
            // 将当前时间转换为时间戳
            Date date = new Date();
            long time1 = date.getTime();
            System.out.println(time1);      // 1631942903426
    
            // 将某个时间戳转换为时间格式
            Long timeStamp = 1631942903426L;
            String format = simpleDateFormat.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
            String format1 = dateFormat.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
            System.out.println(format);     // 2021-09-18 13:28:23
            System.out.println(format1);    // 2021-09-18
    
    PS:一个小时的时间戳是: 1 * 60 * 60 * 1000 = 3600000
    
        }
    }
    
    

    3.整数与字符串的转换

    package com.zte.mds.web.model.wxsc.display;
    
    public class Test {
        public static void main(String[] args) throws Exception {
            // 将字符串转换为int, float, double, long
            String a = "12";
            int i = Integer.parseInt(a);
            System.out.println(i);
            float v = Float.parseFloat(a);
            System.out.println(v);
            double v1 = Double.parseDouble(a);
            System.out.println(v1);
            long l = Long.parseLong(a);
            System.out.println(l);
            // 将int转换为字符串
            int b = 12;
            String s = String.valueOf(b);
            System.out.println(s.getClass() + ":" + s);
        }
    }
    

    4.将字符串转换为数组

    package com.zte.mds.web.model.wxsc.display;
    
    public class Test {
        public static void main(String[] args) throws Exception {
            // 将字符串转换为数组
            String a = "000100";
            char[] chars = a.toCharArray();
            for (int i = 0; i < chars.length; i++) {
                System.out.println(chars[i]);
                // 将char转换为int ------方法1
                int b = chars[i] - '0';
                System.out.println(b);
                // 将char转换为int ------方法2
                int c = Integer.parseInt(String.valueOf(chars[i]));
                System.out.println(c);
                System.out.println("******************************");
            }
    
            // PS:一般用上面的就够了
            byte[] bytes = a.getBytes();
            for (int i = 0; i < bytes.length; i++) {
                System.out.println(bytes[i]);
            }
        }
    }
    
    

    5.截取字符串的方法

    package com.example.demo.myTest;
    
    public class Test {
        public static void main(String[] args) {
            String str = "人间寒暑归去来,我寄春秋于山海!";
            // 方法1--通过subString()方法
            String substring = str.substring(1);  // 表示从第2个开始取,一直取到结束
            System.out.println(substring);  // 间寒暑归去来,我寄春秋于山海!
            String substring1 = str.substring(0, 7);  // 表示从第一个开始,一直取到第7个
            System.out.println(substring1); // 人间寒暑归去来
            /**
             * str.indexOf(",")----这个方法是返回指定字符串第一次出现的索引位置
             * 所以可以使用这个方法来截取--当想要截取到某个字符串前面所有的字符串时的逻辑
             * 比如下面这个方案:表示截取逗号之前的所有字符串
             */
            String substring2 = str.substring(0, str.indexOf(","));
            System.out.println(substring2);
            // 方法2--split()
            System