Java SE

java怎么存储思维导图数据 javaee思维导图_选择结构

Java语言初始

计算机语言发展

Java的诞生

  • 1995
  • Java SE
  • Java ME
  • Android的应用
  • Java EE
  • 2006
  • Hadoop

JDK

  • 开发者工具包
  • 配置环境变量
  • 系统变量
  • 新建变量JAVA_HOME
  • jdk目录
  • path变量
  • 新增
  • %JAVA_HOME%\bin
  • %JAVA_HOME%\jre\bin

JRE

  • 运行环境

第一个程序

public class Hello{
Public Static void main(String [],args){
System.out.println(“Hello,world”);
}
}

Doc编译命令

  • javac Hello.java
  • 生成class文件
  • java Hello
  • 运行得编译结果

Java属于编译型和解释型语言

Java编译环境软件IDEA

基础语法

注释

  • 行内注释//
  • 多行注释/**/
  • 文档注释/** */
  • javadoc生成帮助文档

标识符

  • 关键字

数据类型

  • 基本数据类型
  • 整数
  • byte
  • 1字节
  • short
  • 2字节
  • int(默认)
  • 4字节
  • long
  • 8字节
  • 进制转换
  • 0b 二进制
  • 0 八进制
  • 0X 十六进制
  • 浮点数
  • float
  • 4字节
  • double(默认)
  • 8字节
  • BigDecimal
  • 金融行业使用
  • 字符
  • char(常用)
  • 2字节
  • ASCII码
  • 英文1字节
  • Unicode
  • 2字节
  • UTP-8
  • 中文
  • ‘\u0000’
  • \b
  • 退格符(Backspace)
  • \t
  • 水平制表符(相当于tab,缩进)
  • \n
  • 换行符
  • \f
  • 换页符
  • \r
  • 回车符
  • ‘’
  • 转义 ‘’
  • \
  • 转义\
  • 布尔值
  • boolean
  • 1位
  • if(a)
    默认a为true
  • 引用数据类型
  • 数组

类型转换

  • 自动类转换
  • 低转高
  • 强制类型转换
  • 低转高

变量和常量

  • type varName [=value];
  • 作用域
  • 类变量
  • 实例变量
  • 局部变量
  • 常量
  • final MAX_ A =10(用大写)
  • 命名规范
  • 1.见名知意
  • 2.驼峰命名(变量、方法)
  • 3.类,首字母大写,驼峰命名
  • 4.常量:大写+下划线
  • 5.不使用拼音命名

运算符

  • 算术运算符
  • / % ++ –
  • 赋值运算符
  • =
  • 关系运算符

< >= =< == != intanceof

  • 逻辑运算符
  • && || !
  • 位运算符
  • & | ^ ~ >> << >>>
  • 条件运算符
  • ?:
  • 扩展运算符
  • += -= *= /=

包机制

  • 域名倒写
  • 防止命名冲突
  • package
  • import

JavaDoc

  • JDK帮助文档
  • 1.javadoc
    public class HelloWorld{
    /**
  • @author
  • @param args 命令参数
  • @since 1.0
  • @throws 没有异常抛出
    */
    public static void main(String[] args){
    System.out.println(“Hello,world”);

}
}

  • @author
  • @version
  • @since
  • @param
  • @return
  • @throws

流程控制

Scanner

  • 用户交互System.in

顺序结构

  • 程序默认的结构,自上而下的执行

选择结构

  • if 单选择结构
  • if-else双选择结构
  • if-else if-else多选择结构
  • switch
  • jdk支持了String类型
  • case穿透现象
  • default

循环结构

  • while
  • do…while
  • for
  • for(int i=0;i<100;i++)
  • 增强for循环

break&continue

  • break
  • 跳出循环
  • continue
  • 终止当次循环
  • return
  • 结束方法的运行

方法

意思

  • 将实现一个功能的步骤集合在一个方法内

定义

  • 修饰符 返回值 方法名(参数名){return 返回值;}

调用

  • 类名.方法
  • 对象.方法

重载

  • 名字相同,参数列表不同

命令行传参

public class HelloWorld{
/**
* @author
* @param args 命令参数
* @since 1.0
* @throws 没有异常抛出
*/
public static void main(String[] args){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}

}
}

可变长参数

  • 放在最后一个参数,即可实现可变长

递归

  • 自己调用自己,给自己一个出口

数组

数组的定义

  • 1.new int[5]
  • 2.{1,2,3,4,5}
  • 3.new int[5]={1,2,3,4,5}

数组的使用

  • 通过下标拿到值
  • ArrayIndexoutofBounds超出数组范围异常
  • 增强for循环遍历

二维数组

  • int [] []

Arrays工具类

  • 自动排序arrays.sout
  • 数组的长度arrays.length

排序算法

  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序
  • 归并排序
  • 希尔排序
  • 堆排序

面向对象

把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。对象即为人对各种具体物体抽象后的一个概念,人们每天都要接触各种各样的对象,如手机就是一个对象。

面向对象的定义

  • 把数据及对数据的操作方法放在一起,作为一个相互依存的整体

类与对象

  • 类是对象的抽象
  • 模板class
  • 对象是类的具体

构造方法

  • 构造的重载
  • 默认的无参构造
  • 如果手动定义了有参构造就必须要手动再加一个无参构造
  • 单例模式,需要构造器私有

new 对象

  • 栈存放引用
  • 堆存放具体的对象

封装

  • 属性私有,get、set

继承

  • extends
  • Object
  • 子类拥有父类的全部特性
  • 方法重写
  • this
  • super
  • Java是单继承,只能继承一个父类

多态

  • 父类引用指向子类对象 Person person=new Student();
  • instanceof关键字,如果匹配,可以进行类型之间的转换

修饰符

  • public
  • protected
  • private
  • static
  • final
  • abstract

接口

  • interface
  • 约束,只能定义方法名
  • 子类实现接口,必须重写其中的方法
  • 只有一个方法的接口叫做函数式接口,可以使用lamba表达式简化
  • 接口比抽象类更加抽象
  • 一个类可以实现多个接口

内部类

  • 局部内部类
  • 静态内部类
  • 匿名内部类

异常

Throwable

  • Exception
  • 运行时异常
  • 1/0
  • ClassNotFound
  • NullPoint
  • UnKownType
  • 下标越界异常
  • 检查型异常
  • Error
  • AWT错误
  • JVM错误
  • StackOverFlow
  • OutOfMemory

五个关键字

  • try{}
  • catch(){}
  • 先小后大
  • Throwable
  • Exception
  • error
  • finally{}
  • throw
  • 手动抛出异常
  • throws
  • 方法抛出异常

自定义异常

  • 继承Exception类即可