JAVA复习总体大纲
1 java基础.
[1].变量--- 数据类型 变量名=值;
数据类型:
1.基本数据类型. byte[1字节] short[2字节] int[4字节] long[8字节] float[4字节] double[8字节] boolean[1字节] char[2个字节]
2.引用数据类型. 类 接口 枚举 数组
变量名:----命名规则
1. 由字母 数字 下划线_ 美元符 $ 组成
2. 不能以数字开头
3. 不能使用java的关键字。
4. 习惯: 见名知意 类名接口名每个单词首字母大写。
方法 变量名第一个单词的首字母小写其他单词的首字母大写.[studentAge]
常量所有字母全大写。
[2] 运算符:
1. 算术运算符。+,-,*,/, %, ++[前(先+1在运算) 后[先运算再+1]],--.
例子: int i=2; int c=++i*2+1; sout(c==) sout(i==)
例子: int i=2; sout(i++);
3. 关系运算符。>,>=,<,<=,==,!= 得到的结果一定是boolean值。
2. 逻辑运算符。 连接多个关系运算的。 &&[这两个关系运算符得到的结果都为true是才为true] || [两个关系运算符只要有一个为true,就是true] !
4. 赋值运算符。=,+=,-=,*=,/=,%=
例子: int a=2; int b=2; b*=a+1; b=b*(a+1) sout(b)
5. 位运算符【二进制】。 &,|,^,>>,<<.
int a=1; int b=2; int c=a&b; 001 &010 sout(c); c=a|b; sout(c)
6. 三目运算符。
条件语句?表达式1:表达式2
[3]控制语句
if(条件){}
if(条件){}else{}
if(条件){}else if(条件){} ...else{}
switch(表达式){ //switch表达式的值得类型byte short char int String
case 值1: break;
case 值2: break;
case 值3: break;
default: break;
}
// 每一个case得值不能重复。
// default 找到不匹配的case时执行default的语句。
// break执行完对应的case后 跳出switch语句。 如果没有使用break则找到匹配的case后 会把后面所有的语句都执行。
while(条件){//条件是boolean值。
}
do{}while(条件);
for(初始值;条件;变化){ //初始值只会被执行一次.
}
[4]数组:
数据类型[] 变量名=new 数据类型[长度];
数据类型[] 变量名={值,值,值,值};
排序: 冒泡排序 快速排序 选择排序【擂台排序】。
2.1 java面向对象.
1. 类和对象!
类:具有相同属性和行为的一组对象的集合。 抽象的概念。
对象: 万事万物皆为对象。 具体存在的实物。
2. 如何定义类:
public class 类名{
//成员变量。
//成员方法。
}
//如何根据类创建对象
类名 对象名=new 类名();
//对象如何调用类中的成员.
对象名.成员变量;
对象名.成员方法(实参)
3.三大特性:
封装: 把类中成员使用private进行封装,使外界无法之间调用。---安全。
一般: 封装属性。并且生成getter和setter方法。
继承: 一个子类继承父类中的成员 extends ------
public class 子类名 extends 父类名{
}
overload重载 和 override重写?
overload:在同一个类中,出现方法名相同,参数列表不同的方法。不考虑返回类型。这些方法就是就是反复重载。
override:在父类和子类之间,子类中出现了和父类中方法名一样,参数列表一样。返回值类型一样。访问修饰符不能小于父类方法得访问修饰符。
抛出得异常不能大于父类中。 子类中出现的这种方法就是就是重写。
访问修饰符:
public: 同一个工程下都可以访问。
protected: 同包或者不同包下的子类访问。
默认: 同包访问
private: 同类访问。
多态 : 一个对象具有多种形态。
父类声明 对象名=new 子类对象();//向上转型: 对象名.方法(); 调用的是子类重写的方法
子类声明 对象名=(子类)父类对象; //向下转型。
抽象类和接口:
抽象类:只能被继承,因为他不能实例化对象。 抽象类中有构造方法。抽象类中可以有非抽象方法。 抽象类中的属性可以是普通属性也可以是静态属性。
接口: 可以被多实现。 没有构造方法。 全是抽象方法【jdk8后出现了默认方法 和静态方法】。都是静态常亮。
异常处理:
try{}catch(异常类型 对象){}
throws 抛出异常。---->throws加在方法参数的后面 谁调用该方法谁处理这个异常。
集合:
Collection:
List: 有序 可重复
ArrayList: 底层数组:查询快,缺点:前提不是尾部元素,插入和删除慢。
LinkedList: 底层链表.有点: 插入和删除快
Vector:
Set: 无序 不可重复。
HashSet: 底层是按照hash表执行。 先按照hashcode表比对如果hash相同【hash冲突】,则按照equals方法比对。如果equals也相同则视为同一个元素。
TreeSet: 底层树形结构 元素拍好序的。
LinkedHashSet: 排序好序得 按照添加的顺序
Map:
HashMap:原理: map.put(key,value); map.get(key); 数组+链表【超过8】+红黑树。
TreeMap:
还差个IO流没有总结。。。
JAVA复习总体大纲的更多相关文章
- java 复习003 之排序篇
由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; ...
- java 复习001
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时 ...
- java复习(1)---java与C++区别
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用 ...
- 《Java开发学习大纲文档》V7.0
<Java开发学习大纲文档>V7.0简介: 本文档是根据企业开发所需要掌握的知识点大纲进行总结汇编,是Java开发工程师必备知识体系,系统化学习针对性非常强,逻辑分析能力非常清晰;技术方面 ...
- Java复习11. 单例编程
Java复习11. 单例编程 1.最简单的写法,那个方式是线程不安全的 public class Singleton { private static Singleton instance; ...
- Java复习9网路编程
Java 复习9网路编程 20131008 前言: Java语言在网络通信上面的开发要远远领先于其他编程语言,这是Java开发中最重要的应用,可以基于协议的编程,如Socket,URLConnecti ...
- Java复习8.多线程
Java复习8 多线程知识 20131007 前言: 在Java中本身就是支持多线程程序的,而不是像C++那样,对于多线程的程序,需要调用操作系统的API 接口去实现多线程的程序,而Java是支持多线 ...
- Java复习10.Servlet编程
Java复习10. Servlet编程知识 20131008 前言: 之前在大三下的时候,学习了一个月的JSP和Servlet知识,但是没有什么项目经验,把JSP Web开发学习实录看了前面几张,后面 ...
- Java复习6异常处理
Java复习6.异常处理 20131005 前言: Java中的异常处理机制是非常强大的,相比C++ 来说,更加系统.但是我们开发人员没有很好的使用这一点.一些小的程序是没有什么问题的,但是对于大型项 ...
随机推荐
- Python之requests模块-response
response类故名思议,它包含了服务器对http请求的响应.每次调用requests去请求之后,均会返回一个response对象,通过调用该对象,可以查看具体的响应信息. 示例如下: import ...
- MyBatis-Plus 代码生成器模板
MyBatis-Plus 代码生成器模板 maven 依赖 <!--Mysql--> <dependency> <groupId>mysql</groupId ...
- 快速模式第三包:quick_inR1_outI2()
快速模式第三包:quick_inR1_outI2() 文章目录 快速模式第三包:quick_inR1_outI2() 1. 序言 2. quick_inR1_outI2()的处理流程 3. 快速模式第 ...
- 完蛋,公司被一条 update 语句干趴了!
大家好,我是小林. 昨晚在群划水的时候,看到有位读者说了这么一件事. 在这里插入图片描述 大概就是,在线上执行一条 update 语句修改数据库数据的时候,where 条件没有带上索引,导致业务直接崩 ...
- AQS快速入门
一.模板方法模式 父子类多态,父类中用一个方法调用执行所有所需要的方法: 父类: 子类: 主线程执行时候调用父类的模板方法: 二.AQS思想 sync都是独占锁,lock显示锁也是,只有读写锁是共享锁 ...
- 硕盟 TYPE C转HDMI+VGA+USB3.0+PD3.0四口扩展坞
硕盟SM-T54是一款USB-C 四合一多功能扩展坞,支持四口同时使用,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显示器.电视机或其他显示设备.产品可以接入硬盘. ...
- 一文搞懂如何使用Node.js进行TCP网络通信
摘要: 网络是通信互联的基础,Node.js提供了net.http.dgram等模块,分别用来实现TCP.HTTP.UDP的通信,本文主要对使用Node.js的TCP通信部份进行实践记录. 本文分享自 ...
- PHP中的文件系统函数(三)
总算来到我们最关心的部分了,也就是 f 相关函数的操作.基本上大部分的文件操作都是以今天学习的这些内容为基础的,话不多说,我们就一个一个的来学习学习吧. 文件读取 文件的读取其实非常简单,fopen( ...
- 还不知道PHP有闭包?那你真OUT了
做过一段时间的Web开发,我们都知道或者了解JavaScript中有个非常强大的语法,那就是闭包.其实,在PHP中也早就有了闭包函数的功能.早在5.3版本的PHP中,闭包函数就已经出现了.到了7以及后 ...
- FastAPI logger日志记录方案 loguru模块
实现方式: 采用 loguru 模块.跟flask直接挂载到app上有区别,当然也可以尝试去这样做. 但是 好像没有这个必要.要的就是个快速.整那些子虚乌有的东西完全木有意义. 1.首先是去项目git ...