Java核心知识点的系统整理(一)

目录

一、数据类型与运算符秘籍

1. 四类八种数据类型

2. 自增运算符的暗战

3. 位运算与逻辑运算对决

二、流程控制三剑客

1. 分支结构抉择

2. 循环控制四骑士

三、面向对象核心机制

1. final的三重封印

2. 静态成员生存法则

四、进阶特性解密

1. 多态的三重境界

2. 重载 vs 重写

五、递归与循环的抉择

适用场景对照表

六、企业级开发技巧

七、高频面试题精解


一、数据类型与运算符秘籍

1. 四类八种数据类型
整数家族(4兄弟): byte(1B)、short(2B)、int(4B)、long(8B)  // 企业Tip:财务系统慎用浮点数
小数家族(2姐妹): float(4B)、double(8B)                   // 推荐BigDecimal处理精确计算
字符特工: char(2B) Unicode编码
布尔守卫: boolean(1bit)                                   // 禁止使用0/1替代
2. 自增运算符的暗战
int i = 5;
System.out.println(++i); // 输出6(先加后用)
System.out.println(i++); // 输出6(先用后加)

// 企业级技巧:避免在复杂表达式中混用,防止时序问题
3. 位运算与逻辑运算对决
类型 运算符 特点 典型场景
位运算 & 按位与 掩码操作
位运算 | 按位或 标志位组合
逻辑运算 && 短路与 条件判断
逻辑运算 || 短路或 条件优化
// 二进制转换黑科技(调试利器)
int num = 30;
System.out.println(Integer.toBinaryString(num)); // 11110

二、流程控制三剑客

1. 分支结构抉择
// 平行双if(可能同时执行)
if(condition1) {...}
if(condition2) {...}

// if-else(二选一)
if(condition) {...} 
else {...}

// 多分支(阶梯判断)
if(cond1) {...}
else if(cond2) {...}
else {...}
2. 循环控制四骑士
关键字 作用域 企业应用场景
break 跳出当前循环 搜索命中后终止
continue 跳过本次循环 过滤无效数据
return 结束方法执行 参数校验失败时提前返回
System.exit(0) 关闭JVM 仅限紧急停机(慎用!)
// 实战示例:安全扫描中的break使用
for(File file : directory){
    if(file.containsVirus()){
        triggerAlarm();
        break; // 发现病毒立即终止扫描
    }
}

三、面向对象核心机制

1. final的三重封印
  • 类封印final class 禁止继承(如String类)

  • 方法封印final method 禁止重写(模板方法模式)

  • 变量封印:引用不变,内容可变(集合类典型应用)

final List names = new ArrayList<>();
names.add("张三"); // 合法操作
names = new ArrayList<>(); // 编译错误!
2. 静态成员生存法则
特性 静态成员 实例成员
内存位置 方法区 堆内存
加载时机 类加载时 对象创建时
访问方式 类名访问 实例访问
共享性 全局共享 对象独享

企业实践:静态工具类应私有化构造器,防止误实例化


四、进阶特性解密

1. 多态的三重境界
interface Animal { void speak(); }

class Cat implements Animal {
    public void speak() { System.out.println("喵~"); }
}

// 运行时多态
Animal a = new Cat();
a.speak(); // 输出"喵~"
 
  
2. 重载 vs 重写
维度 重载(Overload) 重写(Override)
发生位置 同一类中 继承体系
参数列表 必须不同 必须相同
返回类型 可不同 需兼容
访问权限 无限制 不能更严格
// 企业级重载实践:参数明确化
public void connect(String url) {...}
public void connect(String host, int port) {...}

五、递归与循环的抉择

适用场景对照表
方案 优点 缺点 典型场景
递归 代码简洁 栈溢出风险 树形结构遍历
循环 内存安全 代码稍复杂 大数据量处理

性能口诀:万级数据用循环,树状结构可递归


六、企业级开发技巧

  1. 防御式编程:所有equals比较前先进行null检查

  2. 代码安全:避免在循环内创建大对象

  3. 性能优化:字符串拼接使用StringBuilder

  4. 团队规范:复杂逻辑必须添加流程图注释

  5. 调试技巧:使用IDEA的Evaluate表达式实时验证

// 安全equals写法示例
public static boolean safeEquals(String a, String b) {
    return a != null && a.equals(b);
}

七、高频面试题精解

Q:如何防止递归导致栈溢出?
A:三板斧策略

  1. 严格设置递归终止条件

  2. 限制递归深度(设置计数器)

  3. 尾递归优化(Java暂不支持,可改为循环)

// 尾递归改循环示例
public static int factorial(int n) {
    int result = 1;
    while(n > 1) {
        result *= n;
        n--;
    }
    return result;
}

你可能感兴趣的:(知识点整理,java,开发语言,面试)