printf
转换符
%n 换行 相当于 \n
%c 单个字符
%d 十进制整数
%u 无符号十进制数
%f 十进制浮点数
%o 八进制数
%x 十六进制数
%s 字符串
%% 输出百分号
打印格式
printf("转换符",转换符对应的元素)
宽度和精度的变化
%m.n m控制小数点前的位数,n控制小数点后的位数
左对齐&右对齐
左对齐::在转换符单词前加“-”
printf(”%-d“,5)
右对齐::默认右对齐,什么都不用加
数据类型的转换
-
int-->String
1.i+" " String s=""+12365; System.out.println(s); 2.Integer.toSTring(int) String s1=Integer.toString(56254562); System.out.println(s1); 3.String.valueOf(int) String s2=String.valueOf(56200062); System.out.println(s2);
-
String-->int
1.Integer.parseInt(S) int i=Integer.parseInt("955"); System.out.println(i); 2.Integer.valueOF(S).intvalue() int j =Integer.valueOf("9555555").intValue(); System.out.println(j);
-
数组-->String
1.Arrays.toString(arr) 输入: int []arr={1,2,5,6,7}; String s= Arrays.toString(arr); System.out.println(s); System.out.println(s.substring(1, s.lastIndexOf("]")));//截取
输出:
[1, 2, 5, 6, 7]
1, 2, 5, 6, 7
-
char-->String
1.char+""
char c='a';
String s=c+"";
字符数组&字符串
代码
public class ChStr {
public static void main(String[] args) {
//字符数组转换为字符串
//1.传递参数,即直接传递字符数组
char [] ch={'n','m','i','x','x'};
String str0=new String(ch);
System.out.println(str0);
//2.传递参数,和下标
String str1=new String(ch,0,2);
System.out.println(str1);
//3.传递参数,即直接传递字符数组
String str2=String.valueOf(ch);
System.out.println(str2);
//4.传递数组
String str3=Arrays.toString(ch);
str3.substring(1,str3.lastIndexOf("]"));
System.out.println(str3);//输出有[,]
//5.建立stringbuilder
StringBuilder sb=new StringBuilder();
for (int i = 0; i < ch.length; i++) {
sb.append(ch[i]);
}
System.out.println(sb);
//字符串传递为字符数组
String str="糯米香香";
char[] chs=str.toCharArray();
System.out.println(Arrays.toString(chs));//输出有[,]
}
}
输出
nmixx
nm
nmixx
[n, m, i, x, x]
nmixx
[糯, 米, 香, 香]
API
BigDecimal
应用场景
- float,double都为浮点型,而计算机为二进制的,浮点数会失去一定精度.
- 十进制的二进制表达形式可能不精确,会造成数据丢失
- 比如钱包余额等涉及金额的计算必须十分精确,用BigDecimal计算比较合适
- 所以BigDecimal用来十进制计算的
构造器
方法 | 含义 |
BigDecimal(int val) | 创建一个参数为整数表示的对象 |
BigDecimal(double val) | 不准用,把double先转换为str再用 |
BigDecimal(long val) | 创建一个参数为长整数表示的对象 |
BigDecimal(String str) | 创建一个参数为字符串表示的对象 |
成员方法
方法 | 含义 |
sd1.add(sd2) | sd中的值相加 |
sd1.subtract(sd2) | sd中的值相减 |
sd1.multiply(sd2) | sd中的值相乘 |
sd1.divide(sd2) | sd中的值相除 |
枚举类
数据类型
类型 | 范围 |
byte | -128~127 |
short | -2^15~2^15-1 -32768~32767 |
int | -2^31~2^31-1 |
long | -2^63~2^63-1 |