当前位置 博文首页 > m0_46212244的博客:一些关于java的日常使用方法记录
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