1.jdk jre jvm的关系
JDK:是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
Jre:JRE:Java Runtime Enviromental(java运行时环境):也就是我们说的JAVA平台,所有的Java程序都 要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译 器、调试器和其它工具。
JVM:Java Virtual Mechinal(JAVA虚拟机):JVM是JRE的一部分,是java运行虚拟机。
2.java的基本数据类型
8大数据类型:byte(1个字节,8位),short(2个字节),char(2个字节),int(4个字节),long(8个字节),float(4个字节),double(8个 字节),boolean(4个字节)。
3.基本运算符
++(自加) --(自减) > = < || && !(关系运算符)
4.位运算符
|(或) &(与) ^(亦或) ~(非)
<<(将二进制数左移) >>(将二进制数右移)
5.字符串
StringBuilder builder=new StringBuilder();//创建一个空的字符串构造器
builder.append(str);//添加字符串
str.length()//获取字符串的长度
str.substring()//切割字符串
str.equals()//比较两个字符串是否相等
str.matches()//根据正则表达式匹配相对应的字符串
str.split()//根据正则表达式对字符串进行切割
str.indexOf()//返回字段第一次出现在字符串中的索引
str.charAt()//返回对应索引的字符
str.startsWith()//字符串是否是以该字段开头
str.endsWith()//字符串是否是以该字段结尾
StringBuilder(单线程):线程非安全的
StringBuffer(多线程):线程安全的
在执行速度方面的比较:StringBuilder > StringBuffer
6.条件,循环语句
if , if /else,if/else if
while(先判断在执行) do/while(先执行在判断) for for--each switch break continue return
7.数组
一维数组的创建 1)数据类型[]数组名=new 数据类型[长度];
2)数据类型[]数组名={};3)数据类型[]数组名=new 数据类型[长度]{};二维数组创建类似。
数组的排序方法:Arrays.sort()//从小到大
nums.length//数组的长度
nums.equals()//比较两个数组是否相等
nums.toString()//将数组转化成字符串
8.算法
算法的概念:算法简单说就是解决问题的思路和步骤,对程序员至关重要
八大排序算法:
1).插入排序—直接插入排序(Straight Insertion Sort)
2)插入排序—希尔排序(Shell`s Sort)
3)选择排序—简单选择排序(Simple Selection Sort)
4)选择排序—堆排序(Heap Sort)
5)交换排序—冒泡排序(Bubble Sort)
6)交换排序—快速排序(Quick Sort)
7)归并排序(Merge Sort)
8)桶排序/基数排序(Radix Sort)
递归:5.递归算法概念 – recursion
递归 Recursion – 简单说就是自己调用自己
递是传递给自己,自己调用自己
归是退出条件,在某些条件符合的时候,停止调用自己。如果没有退出条件会出现死循环,程序上会出现 java.lang.StackOverflowError(栈内存溢出异常)