Java思惟导图css
学习方法:html
Java
简介: 简单性,面向对象,分布式,健壮性,安全性,平台独立与可移植性,多线程,多态性等.前端
Java
三大致系:JavaSE
,JavaEE
,JavaME
平台标准版,平台企业版,微星版.java
Java
开发环境配置:下载jdk
,配置环境变量,JAVA_HOME
设置,安装java
开发工具,CLASSPATH
设置,PATH
设置..算法
java
基础语法:spring
对象,就是类的一个实例,有行为和状态
类,就是模板,用来描述一个类对象的行为和状态
方法,就是行为
实例变量,就是每一个对象都有一些独特的实例变量,对象的状态由这些实例变量的值决定sql
基础语法:后端
在Java
中大小写敏感,就是说Hello
和hello
是不同的额.
类名,类名的首字母应该是大写
方法名,全部方法名都应该是以小写字母开头
源文件名,源文件名必须和类名相同
主方法入口,全部程序经过publlic static void main(String []args)
方法执行数组
标识符:类名,变量名以及方法名都被称为标识符安全
标识符以字母,美圆符号,或下划线
关键字不能用做标识符
标识符是大小写敏感的
修饰符分为访问控制修饰符和非访问控制修饰符
一,访问,default
public
protected
private
二,非访问,final
abstract
strictfp
变量:局部变量, 类变量(静态变量), 成员变量(非静态变量)
数组,数组就是存储在堆上的对象,能够保持多个同类型的变量
枚举概念为,枚举限制变量只能是预先设定好的值,枚举是能够用于单独声明或者声明在类里面,方法,变量,构造函数也能够在枚举中定义.
在java
中有大概50多个保留字吧,关键字是不能用于常量变量,和任何标识符的名称.
继承是在java
中,一个类能够由其余类派生的,被继承的类为超类,派生的类为子类,利用了继承的方法,能够重用已经存在类的方法和属性
接口,是做为对象间相互通讯的协议,接口是定义要用到的方法,方法的实现要在派生类
学习java
不少吧,有:
面向对象:
类是描述对象的行为和状态
对象是类的一个实例,有行为和状态
构造方法,新建对象时,执行的一个特殊方法,建立一个对象的时候,至少要调用一个构造方法,构造方法的名称要和类同名,一个类能够有多个构造方法.
this
是用来引用当前对象,构造方法之间的调用.
方法的重载是同名不一样参.
final
是用来修饰方法,变量,和类的,是最终不能够变的.
static
静态, 静态变量是类, 又叫类变量, 非静态成员属于实例, 静态成员是经过类名直接调用, 而被static
修饰的成员将最优先加载到内存里.
接口, interface
替代class
, implements
替代extends
接口中只能定义,公共的常量,抽象方法,内部类,内部接口.
说到抽象类,抽象类的做用是为子类提供通用代码,抽象类不能建立对象,在抽象类中,不必定有抽象方法,可是有抽象方法的类,必定是抽象类.
说到内部类,内部类是定义在类的内部,方法的内部或者是局部代码中的类,就是叫内部类.
内部类: 静态内部类, 非静态内部类, 局部内部类, 成员内部类, 匿名内部类.
面向对象的三大特性
继承的做用是代码重复使用,单继承,一个类只能有一个父类,一个类,能够有多个子类.在java
中构造方法不继承,静态成员不继承,没有访问权限的成员不继承.
多态,继承是多态的基础,没有基础就没有多态,继承属于多态的一种,子类重写父类的方法,父类引用变量指向子类对象.
子类转父类,将一个父类的引用指向一个子类的对象,称为向上转型,自动类型转换.
封装,封装的好处是用来隐藏类的实现,修改属性的可见性来限制属性的访问.
Java
中的程序
声明对象,有对象名称和对象类型,使用关键字new
来建立对象,初始化对象,如Person person = new Person("dashu")
,经过建立对象进行访问成员变量和方法,声明和实例化对象,访问其中的变量和方法.
在java
中,一个源文件只能有一个public
类,能够有多个非public
类,源文件的名称和类名要同样.java
包,包是用来对类和接口进行分类的.
数据类型
八种基本类型,六种数字类型,四种是整数型,两种是浮点型, 另外的是字符类型, 还有布尔型.
类型: byte
,short
,int
,long
, float
,double
, boolean
,char
引用数据类型,在java
中有对象和数组都是引用数据类型,全部引用类型的默认值为null
.
基本数据类型
自动类型转换,低到高,byte
,short
,char
->int
->long
->float
->double
.
强制类型转换,高到底.
转换:\n
换行,\r
回车,\b
退格,\s
空格等.
修饰符
修饰符是用来定义类,方法或是变量,java
中支持4种不一样的访问权限,public
能够用于当前类,同一包内,子孙类,其余包,protected
能够用于当前类,同一包内,和子孙类,default
能够用于当前类,同一包类,private
只能用于当前类.
若是父类中声明public
的方法在子类中也必须是public
,若是父类中protected
的方法在子类中声明为protected
,也能够为public
,不能为private
.声明为private
的方法,不能被继承.
非访问,static
修饰符,能够用来建立类方法和类变量.final
修饰符是用来修饰类,方法,变量.final
修饰的类不能被修饰,修饰的方法不能被继承类从新定义.修饰的变量为常量是不能够被修改的.abstract
用于建立抽象类和方法.synchronized
和volatile
用于线程.
运算符要点
i++
是运算完加1,++1
先加1,后运算.
运算符:
&
都是1,结果为1,不然为0;
|
都是0,结果为0,不然为1;
^
相同的,结果为0,不然为1;
~
按位补运算符翻转操做数的每一位,即0变成1,1变成了0.
循环结构
// do...while循环和while循环类似,可是do...while循环至少会执行一次 while(){ } do{ }while(); for(初始化;布尔表达式;更新){ } for(声明语句;表达式){ } if语句 if...else语句 if...else if...else语句 switch语句 switch语句中的变量类型为: byte, short, int, char
封装,拆箱,抽象类,
Math
类,String
类
StringBuffer和StringBuilder StringBuffer的方法是线程安全的 StringBuilder相比较StringBuffer有优点 Integer x = 2; x = x + 2; 抽象类Number Integer,Long,Byte,Double,Float,Short Math类 xxxValue(),valueOf(),parseInt(),abs(),random() int compareTo() 进行比较两个字符串 String concat() 将字符串链接到此字符串的结尾 boolean equals() 将字符串与指定的对象比较 int length() String[] split() byte[] getBytes() int hashCode() int indexOf() String substring() String trim()
数组
声明数组变量,建立数组,多维数组
arr[] arr = {1,3,4,5,6,7,13}; for(int array : arr){ }
时间
Date
和SimpleDateFormat
String toString() long getTime() int compareTo() boolean before() boolean after() Date datenow = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss"); System.out.println(ft.format(datenow));
流,文件,
io
FileReader->InputStreamReader FileWriter->OutputStreamReader
// 建立目录 mkdir()建立一个文件夹 mkdirs() // 读取目录 isDirectory()判断是不是目录 list()列表文件 delete()方法
异常处理
Throwable->Error Throwable->Exception try/catch throws/throw finally
集合框架
接口 Collection Map List 为采用线性列表的存储方式,长度可动态改变 Map 为键-值对的存储方式,长度可动态改变 具体类 List Map List -> ArrayList LinkedList Map -> HashMap 算法 Collections 提供了对集合实现遍历等 Collection接口是最基本的容器接口 List接口 Set接口 List -> LinkedList -> 底层数据结构为链表结构,查询慢,增删快 ArrayList -> 底层数据结构是数组结构,查询快,增删慢,线程不一样步 Vector 底层是数组数据结构,线程同步,增删改查都慢的 Set -> 不容许放入重复的元素,最多只能保护一个null HashSet类,底层基于HashMap,不保证Set的迭代顺序和永久不变 Map HashMap TreeMap
泛型
public class Test<T>() Test<Object> t = new Test<Object>(); 泛型类: public class Box<T>{ private T t; public void add(T t){ this.t = t; } public T get() { return t; } }
类型通配符:值使用
?
代替具体的类型参数
多线程
多线程就是多个线程进行?,线程是一种轻量级的进行,进程具备独立性,动态性,并发性,进程的独立性在于拥有独立资源,独立的地址,无受权其余进程没法访问.多线程表明性,继承Thread
和实现Runnable
接口.
线程创建,new一个Thread,而后就绪执行start方法,开始运行,执行run方法,而后阻塞,接着死亡.run方法进行结束,调用stop方法.
要学习框架的理念,目的,背景,优点,功能,特色,看书,框架原理,作一些demo
等.
学习开源项目,要学什么,要掌握什么,框架用法,功能通常有前台和后台.须要掌握的是前端和后端.这个项目的结果,设计思想,有什么是咱们要学习的,遇到的一些问题去如何实现.
javase
基础,掌握语法基础,io
流,多线程,反射,sql
继承,增删改查,和学习表关联查询,前端学习,html``css
,jsp
学习,框架学习spring
,springmvc
,springBoot
,mybatis
等.
若是看了以为不错
点赞!转发!
达叔小生:日后余生,惟独有你
You and me, we are family !
90后帅气小伙,良好的开发习惯;独立思考的能力;主动而且善于沟通
简书博客: 达叔小生
https://www.jianshu.com/u/c785ece603d1