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