Java SE快速上手

基本数据类型

byte 1字节
short 2字节
int 4字节
long 8字节 0L
float 4字节 0.0f
double 8字节
boolean 1字节
char 2字节 ‘\u0000’

变量类型

局部变量:方法,语句块中定义的变量,作用域方法内,使用前必须初始化
成员变量:类中,方法外的变量,作用域整个类。
静态变量:类中,方法之外,用static修饰,作用域整个类,在运行期间只有一个副本。
传参时,基本类型的参数采用值传递,方法内修改变量值不会影响方法外对应的变量。
引用类型的参数采用引用传递,方法内修改变量的值会影响方法外的变量。

修饰符

访问修饰符和非访问修饰符

访问修饰符:

public,protect,default(不写的默认值),private

非访问修饰符

static:静态方法和静态变量。
final:变量被修饰后不能被重新赋值,方法被修饰后可以被继承,但不能被重写。
abstract:修饰的类不能被实例化,abstract和final不能同时存在。修饰的方法必须被子类重写。
synchronized:修饰的方法在同一时间只能被一个线程访问。
transient:序列化的对象会跳过被修饰的指定变量。
volatile:被修饰的对象每次被读取时会

String

String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上。
.length()返回字符串长度
使用+或者.concat()连接字符串
StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象
StringBuffer 线程安全。

数组

声明并创建一个数组

dataType[] arrayRefVar = new dataType[arraySize];

数组的长度 .length 变量
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的:

  • 给数组赋值:通过 fill 方法。
  • 对数组排序:通过 sort 方法,按升序。 比较数组:通过 equals
  • 方法比较数组中元素值是否相等。
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

数据结构

主要结构包括:

  • 枚举
  • 位集合
  • 向量
  • 字典
  • 哈希表
  • 属性
  • 集合 collection

有很多是传统的遗留,已经不太常用。
字典,向量,栈,属性这些数据结构缺少核心,统一的主题。
collection的设计满足:高性能;不同类型的集合具有高度互操作性;扩展和适应要简单。
集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:

  • 接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map
    等。之所以定义多个接口,是为了以不同的方式操作集合对象

  • 实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

  • 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序,这些算法实现了多态,那是因为相同的方法可以在相似的接口上有着不同的实现。
    Java SE快速上手_第1张图片

ArrayList

add(item) 增加一个元素
set(index, item)修改指定位置的元素
remove(index)删除指定位置的元素
size()返回数组长度
sort()排序数组

LinkedList

和ArrayList的使用方法一样,只不过建议的使用场景不同,类似于链表和数组的场景区别

HashSet

基于HashMap实现;允许null;无序;线程不安全;实现Set接口
remove(item)根据元素值删除元素

HashMap

put(key, value)添加键值对
get(key)访问键值对
remove(key)删除键值对

你可能感兴趣的:(Java,java,算法)