Java核心语法要点全面解析
格式化输出 printf
转换说明符
| 说明符 | 功能描述 |
|---|---|
| %n | 换行符,等同于\n |
| %c | 单个字符输出 |
| %d | 十进制整数 |
| %u | 无符号十进制数 |
| %f | 十进制浮点数 |
| %o | 八进制数 |
| %x | 十六进制数 |
| %s | 字符串 |
| %% | 输出百分号字符 |
基本语法
使用格式:printf("转换说明符", 对应变量)
宽度与精度控制
格式:%m.nf — m指定总宽度,n指定小数位数
对齐方式
左对齐:在说明符前加负号"-",如 %-10d
右对齐:默认对齐方式,无需额外标记
数据类型转换
整数转换为字符串
//方式一:字符串拼接
String result = "" + 98765;
System.out.println(result);
//方式二:Integer.toString方法
String result1 = Integer.toString(78541236);
System.out.println(result1);
//方式三:String.valueOf方法
String result2 = String.valueOf(41258796);
System.out.println(result2);
字符串转换为整数
//方式一:parseInt解析
int num = Integer.parseInt("843");
System.out.println(num);
//方式二:valueOf后转型
int num1 = Integer.valueOf("6273948").intValue();
System.out.println(num1);
数组转换为字符串
import java.util.Arrays;
int[] data = {3, 7, 2, 9, 4};
String text = Arrays.toString(data);
System.out.println(text);
System.out.println(text.substring(1, text.lastIndexOf("]")));
输出结果:
[3, 7, 2, 9, 4]
3, 7, 2, 9, 4
字符转换为字符串
char letter = 'k';
String str = letter + "";
System.out.println(str);
字符数组与字符串互转
import java.util.Arrays;
public class CharStringDemo {
public static void main(String[] args) {
//字符数组转字符串
char[] characters = {'j', 'a', 'v', 'a'};
//构造方法一:直接传入数组
String strA = new String(characters);
System.out.println(strA);
//构造方法二:指定起始位置和长度
String strB = new String(characters, 0, 2);
System.out.println(strB);
//使用valueOf方法转换
String strC = String.valueOf(characters);
System.out.println(strC);
//使用Arrays工具类(输出带括号)
String strD = Arrays.toString(characters);
System.out.println(strD);
//循环拼接方式
StringBuilder builder = new StringBuilder();
for (char ch : characters) {
builder.append(ch);
}
System.out.println(builder);
//字符串转字符数组
String message = "编程世界";
char[] charArray = message.toCharArray();
System.out.println(Arrays.toString(charArray));
}
}
执行结果:
java
ja
java
[j, a, v, a]
java
[编, 程, 世, 界]
BigDecimal精确计算
使用场景
- float和double为浮点类型,计算机内部采用二进制表示,容易产生精度误差
- 十进制数转换为二进制时可能无法精确表示,会造成数据偏差
- 金融类应用(如账户余额、金额计算)对精度要求极高,必须使用BigDecimal
构造方法对比
| 构造方法 | 说明 |
|---|---|
| BigDecimal(int value) | 接收整数参数 |
| BigDecimal(double value) | 不推荐,double先转字符串再使用 |
| BigDecimal(long value) | 接收长整数参数 |
| BigDecimal(String value) | 推荐使用,字符串构造精确 |
常用运算方法
| 方法 | 功能 |
|---|---|
| add(BigDecimal) | 加法运算 |
| subtract(BigDecimal) | 减法运算 |
| multiply(BigDecimal) | 乘法运算 |
| divide(BigDecimal) | 除法运算 |
枚举类型
枚举是一种特殊的数据类型,用于定义固定数量的常量集合。
基本数据类型取值范围
| 类型 | 取值范围 |
|---|---|
| byte | -128 ~ 127 |
| short | -32768 ~ 32767 |
| int | -2147483648 ~ 2147483647 |
| long | -9223372036854775808 ~ 9223372036854775807 |