文章目录
- 一、Java基础
- java命令
- 基础编译原理
- 注释
- 一些编码规范
- 相关名词:
- 二、变量数据类型
- 基本数据类型
- 类型转换
- 三、流程控制
- 选择结构
- 循环结构
- 四、集合框架
- 结构图
- 相关集合框架特点
一、Java基础
java命令
javac
:Java编译器,将Java源代码转换成字节,编译成可以运行的.class文件java
:运行.class文件, Java解释器,直接从类文件执行Java应用程序代码javadoc
:根据Java源代码及其说明语句生成HTML文档jar
:多用途的存档及压缩工具,是个java应用程序,可将多个文件合并为单个JAR归档文件
基础编译原理
源代码 --> JVM编译 --> 可运行的.class文件(Java字节码文件) -->Java运行平台上运行
百度文库这篇文章进行了一些说明
https://wenku.baidu.com/view/a19004b069dc5022aaea006e.html
注释
// 单行注释
/**/ 多行注释
/** */文档注释
一些编码规范
命名:
类:首字母大写,多个单词则每个单词首字母大写,驼峰命名法
包:全小写,域名,项目名倒叙写
方法:首个单词小写,多个单词,后面单词首字母小写
变量:与方法相同,常量全大写,多个单词用 _ 隔开
相关名词:
JDK:Java语言的软件开发工具包(Java Development Kit)
JRE:Java运行环境(Java Runtime Environment),包含了java虚拟机,java基础类库
API:应用程序接口(Application Programming Interface)
Java API:Java标准类库提供的函数
虚拟机 JVM:基于操作系统给不同的操作系统配置对应的运行环境
JVM结构
环境变量:
JAVA_HOME:方便找到java安装目录
CLASSPATH: lib目录下的dt.jar lib.jar rt.jar
path: bin jre/bin
二、变量数据类型
基本数据类型
八大基本数据类型:
byte short int long float double char boolean
整型:int
32位 short
16位 long
64位 byte
8位
浮点型:double
float
(float f = 1.0f)
字符型:char (ASII码:0:48 a:97 A:65)
布尔型:boolean
引用数据类型:Array,new 出来的,string是个特殊的引用类型
自定义类型:类
类型转换
显示转换(强制类型转换)--------->大转小
Animal cat = new Cat;
cat = (Cat) A;
double b=3.0;
int a = (int)b;
隐式转换--------->小转大
int a=2;
double b;
b=a;
基本数据类型和引用数据类型区别
存储不同,基本数据库类型存储在栈中,值来源于常量池
引用数据类型在堆栈中,值来源于常量池,对象,方法区,静态
栈中基本数据存为值,引用数据类型存为地址
参数传递过程中,基本数据类型传值,引用数据类型传地址
拆装箱
装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型
//自动装箱
Integer a =1;
//自动拆箱
int b = a;
三、流程控制
选择结构
if if-else if-else if-else
switch-case
循环结构
for() while() do{}while()
三个关键字
break;
continue;
return;
普通 增强for
遍历数组来说
普通for循环可以遍历数据,获取数组的下标,删除数组里的值,根据下标修改数组,即:增删改查,
增强for循环,只可以遍历数组
关于效率
当为数组时,效率几乎是差不多的
当为集合时效率却大不同,当为ArrayList时,普通for的效率高于增强for
当为LinkedList时,增强for的效率高于普通for
四、集合框架
结构图
相关集合框架特点
Collection
:无序,可重复List
:有序、可重复
ArrayList
:底层数据结构是数组;查询快,增删慢;线程不安全,效率高
LinkedList
:底层数据结构是链表;查询慢,增删快;线程不安全,效率高Set
:无序、不可重复
HashSet
:底层数据结构是哈希表;元素唯一性:hashCode()
和equals()
TreeSet
:底层数据结构是红黑树;不重复,有序。排序:自然排序,比较器排序Map
:键值对、无序、值可重复、键不可重复
HashMap
:key-value,key不可重复value可重复
解决强制类型转换时容易出现异常的问题
List
的get(index)
方法获取元素
Map
的get(key)
方法获取元素
Iterator
的next()
方法获取元素
基础整理随时补充