《Java核心技术卷一》基础巩固(第1-3章)

前言

频繁的用一门语言写程序,很容易陷入自身的习惯中,但并不知道自己的一些“习惯”是否“正确”。因此开设此文章用于巩固和强化Java基础的学习。

名词术语

image.png

jdk,jre,se,ee,sdk的区分和全称

jdk版本命名

image.png

命令行编译运行程序

image.png

变量类型介绍

image.png

8种基本类型

整型

image.png

浮点型精度问题

image.png

char类型的建议

image.png

常量

image.png

常量类

image.png

变量类型自动转换

image.png
image.png

“++”的使用建议

image.png

运算符

image.png

位运算符

image.png

枚举类型

image.png

字符串

image.png

字符串的join方法

image.png

字符串的equals方法

image.png

判断字符串是否相等的注意事项

image.png

一定不要用==来判断

检查null和""

image.png

码点和代码单元

image.png

String API

image.png
image.png
image.png
image.png

StringBuilder

image.png
image.png

读取输入

image.png
image.png

读取输入 API

image.png

格式化输出

image.png

String.format和时间格式化

image.png
image.png
image.png

格式说明符语法图

image.png

文件输入与输出

image.png
image.png

控制流程-块

image.png

浮点数在for循环中使用

image.png

for和while循环的关系

image.png

case语句的注意事项

image.png
image.png
image.png

带标签的break

image.png
image.png

continue语句

image.png

大数值

image.png
image.png
注:在实际应用中,涉及到金额计算基本都使用BigDecimal来操作。

//计算工具类
public class BigDecimalUtil {  
    private BigDecimalUtil(){}  
    public static BigDecimal add(double v1,double v2){  
        BigDecimal b1 = new BigDecimal(Double.toString(v1));  
        BigDecimal b2 = new BigDecimal(Double.toString(v2));  
        return b1.add(b2);  
    }  
  
    public static BigDecimal sub(double v1,double v2){  
        BigDecimal b1 = new BigDecimal(Double.toString(v1));  
        BigDecimal b2 = new BigDecimal(Double.toString(v2));  
        return b1.subtract(b2);  
    }
  
    public static BigDecimal mul(double v1,double v2){  
        BigDecimal b1 = new BigDecimal(Double.toString(v1));  
        BigDecimal b2 = new BigDecimal(Double.toString(v2));  
        return b1.multiply(b2);  
    }  
  
    public static BigDecimal div(double v1,double v2){  
        BigDecimal b1 = new BigDecimal(Double.toString(v1));  
        BigDecimal b2 = new BigDecimal(Double.toString(v2));  
        return b1.divide(b2,2,BigDecimal.ROUND\_HALF\_UP);//四舍五入,保留2位小数  
    }  
}

数组

image.png
image.png

foreach

image.png
image.png

数组的初始化和匿名数组

image.png
image.png

数组拷贝

image.png

命令行参数:main方法里的[]

image.png

数组排序 sort方法

image.png

random方法的特点

image.png

Arrays API

image.png
image.png

二维数组

image.png
image.png

不规则数组

image.png

//示范样例
public static void main(String[] args) {
    final int NMAX = 10;
    //分配一个具有所含行数的数组
    int[][] odds = new int[NMAX + 1][];
    //分配这些行
    for (int n = 0; n <= NMAX; n++){
        odds[n] = new int[n + 1];
    }
    //赋值
    for (int n = 0; n < odds.length; n++){
        for (int k = 0; k < odds[n].length; k++) {
            int lotteryOdds = 1;
            for (int i = 1; i <= k; i++)
                lotteryOdds = lotteryOdds * (n - i + 1) / i;
            odds[n][k] = lotteryOdds;
        }
    }
    //取值
    for (int[] row : odds) {
        for (int odd : row)
            System.out.printf("%4d", odd);
        System.out.println();
    }
}

后记

总结
至此就介绍完《Java核心技术卷一》(第1-3章)的内容了,希望对大家有所帮助。笔者不才,文章若有疑问或错误之处欢迎一起讨论。
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


smartboy
16 声望3 粉丝

您好,世界!