Java程序设计(基础)
2019-11-13 13:30:57 1 举报
AI智能生成
Java基础知识
作者其他创作
大纲/内容
Java程序设计(基础)
4.流程控制
循环结构
分类
while循环
do-while循环
for循环
for-each循环
相关关键字
break
continue
分支结构
if...else
switch...case..default
顺序结构
5.数组
基本用法
数组的定义
数组的初始化
new
静态初始化
length属性
下标运算
Arrays工具类
sort:排序
toString:将数组变成字符串
copyOf:数组拷贝
equals:比较数组元素是否相同
二维数组
一个普通数组,每个元素又是一个数组
应用
表格
矩阵
2D游戏中的地图
棋盘
6.方法
[访问修饰符][修饰符]返回类型 方法名([参数列表])[异常声明]
访问修饰符
public
protected
默认
private
修饰符
static
abstract
final
修饰变量,变量变成常量
修饰类,类不能继承
修饰方法,方法不能被重写
synchronized
native
方法调用
静态方法:类名.方法名(实参列表)
非静态方法:对象.方法名(实参列表)
递归
8.面向对象
基本概念
类
对象的蓝图和模板
类与类之间的关系
IS-A:继承
泛化
实现
HAS-A:关联
关联
聚合
合成
USE-A:依赖
定义类
[访问修饰符][修饰符]class 类名 [extends 父类] [implements接口1,接口2...]{}
属性:数据抽象
方法:行为抽象
构造器
创建对象:new构造器{}
对象
一切皆为对象
对象都有属性和行为
对象都是唯一的
对象都属于某个类
消息
调用对象的方法就是给对象发送了一个消息
一个对象能够接受某种消息,就意味着该对象向外界提供了某种服务
三大支柱
封装
隐藏一切可隐藏的实现细节,只暴露最简单的编程接口
继承
从已有类创建新类的过程
提供继承信息的类叫做父类(基类、超类)
子类可以继承到父类中public、protected的属性和方法得到继承信息的类叫做子类(派生类)
Java中的继承是单继承
Object类是所有类的父类
多态
定义
解释1:同样的引用调用相同的方法却做了不同的事情
解释2:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但对A系统来说是透明的
方法重写:不同的子类对父类的同一方法给出不同的实现版本
对象造型:用父类型的引用引用子类型的对象
相关内容
方法、属性、内部类
抽象类
如果一个类有抽象方法,这个类必须被声明为抽象类
抽象类中可以没有抽象方法,抽象类也可以有自己的构造器
抽象类不能实例化(不能创建对象)
强烈建议:将被继承的类设计成抽象类
接口
接口是约定:实现接口的类必须重写接口中所有方法,否则就要声明为抽象类
接口代表能力:实现了接口的类就是具备了接口所描述的能力
接口是一种角色:一个类可以实现多个接口,一个接口也可以被多个类实现
Java中的接口
单方法接口:这个唯一的方法通常都是回调方法
ActionListener
Runnable
Comparable
标识接口:没有方法,但是表示了某种能力
Cloneable
Serializable
常量接口:这是接口最不正确的用法
内部类
相当于外部类中的一个属性
内部类可以访问外部类的私有成员
设计原则
单一职责原则
专业化
模块化
开闭原则
抽象是关键
封装可变性
依赖倒转原则
里氏替换原则
接口隔离原则
合成聚合复用原则
迪米特法则
1.概述
特点
面向对象
平台可移植性
分布式
多线程
安全性
工作方式
开发工具
JDK
javac
java
javadoc
IDE
Intellij
Eclipse
NetBeans
术语
JRE
JVM
API
源程序结构
package
管理类
解决命名冲突
import
class
注释
行注释
//
块注释
/*....*/
文档注释
/**....**/
@author
@param
@return
@throws
2.基本语法
关键词
有特殊含义的单词(50)
能用的(48)
不能用的(2)
goto
const
标识符
给类、接口、方法、变量等起的名字
命名规则
字母、数字、下划线和$,数字不能开头
大小写敏感
不能跟关键字和保留字(null、true、false)冲突
见名知意
驼峰标识
类名每个单词首字母大写
变量和方法名从第二个单词开始每个单词首字母大写
命名常量全大写,多个单词用下划线隔开
更多可参考阿里编码规范
运算符
算术运算符
赋值运算符
关系运算符
短路运算符
条件运算符(三目运算符)
(自增/自减)运算符
正负号运算符
移位运算符
布尔运算符
位运算符
new 创建对象
instanceof 运行时类型识别
()
强制类型转换
改变运算优先级
[]
下标运算符
.
取成员运算符
优先级
需要弄清楚优先级再加()
结合性
从左向右
从右向左
赋值运算
自加自减
条件运算
正负号
字面量
整型字面量:100、100L
浮点型字面量:3.5、3.5F、3.123e2
字符字面量:'a'、'\\t'、'\\123'
布尔型字面量:true、false
引用字面量:null
类型字面量:String.class、int.class
分隔符
3.数据类型
基本类型
整数
byte
short
int
long
小数
float
double
char
boolean
枚举类型
enum
引用类型
String
数组
自定义的类或接口
7.字符串
创建字符串对象
s引用静态区的字符串字面量 String s = \"Hello\";
s引用堆上的字符串对象 String s = new String(\"Hello\");
字符串的方法
长度:length();
取字符:charAt(int)
变大小写:toUpperCase()/toLowerCase()
连接:concat(String)
比较:equals(String)/compareTo(String)
判断开头/结尾:startsWith(String)/endsWith(String)
去除左右两边空白:trim()
拆分:split(String)
String代表的是不变字符串
可以被修改的字符串
StringBuilder
适用于单线程环境
StringBuffer
适用于多个线程操作同一个字符串的场景
方法
追加:append(String)
倒转:reverse()
0 条评论
回复 删除
下一页