前言
自己的Java理论知识方面一直都不是很好,决定从0开始好好总结下,把想到的和以前不确定的(查阅资料确定)的知识整理一下,加油!!坚持!!!
Java概述
Java三大体系
1、JavaSE 标准版 2、JavaEE 企业版(主流) 3、JavaME 微型版
JDK下载安装
建议安装JDK8以上
环境变量配置
1、JAVA_HOME
JDK安装根目录,示例:
D:JDK8_211
复制代码
2、path
;%JAVA_HOME%bin;%JAVA_HOME%jrebin
复制代码
3、CLASSPATH
.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar
复制代码
验证安装和编译运行DOS
验证安装
java -version
复制代码
编译运行
1、javac:编译成class文件
javac Hello.java
复制代码
2、java:运行java
java Hello
复制代码
HelloWorld.java
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello World!");
}
}
复制代码
Java语法规则(规范)
1、大小写敏感 2、类名首字母大写 3、方法名小写 4、源文件名与类名必须相同,后缀名为.java 5、一个源文件只能有一个public修饰的类,可以有多个其他类(内部类、匿名类) 6、所有程序由主方法(main())入口开始执行 7、标识符规则
- 以字母、美元符、下划线开头,不能用数字开头
- 关键字不能做标识符
8、注释
- 单行://
- 多行:/**/
Java关键字
常见的都在这里了,可以边看边回忆这些关键字的意义和使用,复习巩固,查漏补缺
访问控制
private //私有模式
protected //保护模式
public //共用模式
复制代码
类、方法和变量修饰符
class //声明一个类
abstract //表明类或者成员方法具有抽象属性
extends //继承
final //最终属性,不能改变
interface //声明一个接口
implements //实现一个接口
new //创建新实例对象
static //表明具有静态属性
synchronized //表明一段代码需要同步执行
volatile //表明两个或者多个变量必须同步发生变化 复制代码
程序控制语句
break //跳出最里循环
continue //跳出本次继续下一次循环
return //从成员方法返回数据
do..while() //至少先执行一次,再判断是否继续循环
if()..else //如果,条件判断
for //循环
instanceof //判断一个对象是否是指定类型的实例对象
switch //分支语句
case //在switch后,表示其中的一个分支
default //switch中都不符合条件则使用default
复制代码
错误处理
try //尝试一个可能抛出异常的代码块
catch //捕捉异常,并进行处理
throw //抛出异常
throws //声明在当前成员方法所有需要抛出的异常
复制代码
包相关
import //指定要访问的包或类
package //包
复制代码
基本类型
boolean //布尔型
byte //字节型
short //短整型
int //整型
long //长整型
char //字符型
float //单精度浮点型
double //双精度浮点型
null //空,注意:不能赋给原始类型(int,long...)
true //真
false //假
复制代码
变量引用
super //表示当前对象父类型的引用或父类型的构造方法
this //表示当前对象的引用
void //表示当前成员方法没有返回值
复制代码
保留关键字
goto
const
复制代码
常量和变量
常量
1、使用final修饰常量 2、一般使用大写命名,示例:
final String DEMO = "Hello";
复制代码
final 修饰变量只允许初始化一次,一般与 static 一起使用
变量
示例:int a = 2;
数据类型
基本数据类型
引用数据类型
数组 类 接口
数据类型转换
自动类型转换
1、表数范围小的自动转换为表数范围大的 2、byte和short不能和char相互转换,char值范围为0~65535,byte和short都包含负数 3、字符串与任何数据类型相连都会转换为字符串类型 4、运算有多种数据类型结果自动转换为最大的数据类型
强制类型转换
1、表数大的转表数小的需要强制转换 2、运算符为(),括号里写小的数据类型,示例:byte b = (byte)12
运算符
算数
+,-,*,/,%,++,--
赋值
=,+=,*=,/=,%/
比较
< ,>, >= , <=, != ,==
逻辑
&&, || ,!
三目
条件?true的取值:false的取值
优先级
尽量使用 小括号,可读性更好
instanceof
检查当前对象是否是某个特定类型
控制流程
顺序
分支
if else
switch case
复制代码
循环
whiledo while 至少执行一次
for
增强型for循环
for(int hero : heros)
{
//代码句子
}
复制代码
关键字
break
最里层循环完全中止
continue
中止本次循环,开始下一次循环
return
直接结束一个方法
数组
定义
存储在堆上的对象,可保存多个同类型变量 数组初始化,内存所占空间固定,长度不可改变
静态初始化
int demoArray[3] = {1,2,3};
复制代码
动态初始化
int demoArray[10];
复制代码
声明
int[] a
复制代码
创建
int[] a = new int[5];
int[] a = {1,2,3,4,5};
复制代码
遍历
//数组索引从0开始
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
//for each循环
for (double element: myList) {
System.out.println(element);
}
复制代码
Arrays类方法
排序
sort
比较
equals
常见操作
排序(冒泡,选择) 求最大最小值 折半查找