聚焦java知识点

  • java基础知识
  • 数据类型
  • 操作符
  • 控制执行流程
  • 访问权限控制
  • 对象的特性-多态
  • 对象的特性-抽象
  • 泛型
  • I/O系统
  • java高阶知识
  • 数据结构
  • 数组
  • 链表
  • 并发编程


java基础知识

一直纠结了很久,要不要把自己平时零零碎碎的知识点梳理下,经过一翻思考,认为还是有必要整理下,希望对大家有所帮助,同时也是自我提升的一个途径

数据类型

常用的数据类型分为两大类:基本类型和引用类型

  1. 基本类型:
    字符串: String;
    整型: 短整型 int ,长整型:long;
    浮点型:单精度 float,双精度:double
    布尔类型:boolean(true、false)
  2. 引用类型:
    Integer、Long、Float、Double、Boolean、普通的java类、枚举类等

操作符

  1. 算术操作符:
    一元加(+)、减操作符(-)
  2. 关系操作符:
    计算操作数的值之间的关系 等于(==) ;不等于(!=);小于(<);大于(>);小于等于(<=);大于等于(>=) 生成一个布尔值
  3. 逻辑操作符:
    与(&&)、或(||)、非(!) 生成一个布尔值
  4. 按位操作符:
    对两个参数中对应的二进制位执行布尔代数运算,最终生成一个结果
    位“与“操作符(&)、位“或“操作符(|)、位“异或”操作符(^)、位“非“操作符(~)
  5. 位移操作符:
    左移位操作符(<<):按照操作符右侧指定的位数将操作符左边的操作数向左移动
    右移位操作符(>>):按照操作符右侧指定的位数将操作符左边的操作数向右移动
  6. 三元操作符:
    特点是针对三个操作数的计算,最终得到一个值

控制执行流程

1.根据表达式的条件判断执行的分支:if-else
比如:

if(x1){
 System.out.println("x1");
 }else if(x2){
 System.out.println("x2");
 }else{
 System.out.println(“x==”);
 }


2.迭代(循环):根据条件判断重复执行的次数
比如:

while(1==1){
 …
 }do{
 …
 }while(x==1)for(int i=0;i<5;i++){
 …
 }


Java SE5版本引入了用于更简单遍历数组和容器的语法,即foreach,不必创建int变量去对访问项构成的序列进行计数

int a[]=new int[5];
 for(int i:a){
 …
 }

访问权限控制

我们知道java代码主要通过项目/库(project)、包(package)、类(接口也是类)进行管理的,所以代码的访问权限也在这些范围内,java主要是通过public、protected、private这些关键字来控制访问权限的

public:允许项目/库+包+类 所有成员可以访问

protected:只允许所在包内其他类可以访问,继承的子类可以访问基类所在包的public成员

friendly:只允许所在包内的类可以访问

private:只许类内部对象成员访问,不对外开放权限

对象的特性-多态

持续更新

对象的特性-抽象

持续更新

泛型

持续更新

I/O系统

java高阶知识

数据结构

数据结构分为逻辑结构和物理结构;
逻辑结构:数据之间的关系
物理结构:数据在内存或磁盘存储的位置

持续更新

数组

持续更新

链表

持续更新

并发编程

持续更新