Java的基本知识java
这部分自行百度,百度百科会有详细解释,了解java语言的特色,编程
JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。api
jre:java的运行环境 。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。数组
jvm:java虚拟机,计算机设备的规范,是一个虚构出来的计算机安全
jcp: 是一个开放的国际组织,由Java开发者以及被受权者 发展和更新多线程
api:应用程序的编程接口 预先定义的函数jvm
提供应用程序与开发人员基于某软件或硬件访问数据的能力,而又无需访问源码;无需了解内部工做细节分布式
oop:Object Oriented Programming 面向对象编程函数
ooa:Object-Oriented Analysis 面向对象分析方法工具
ood: Object-Oriented Desig 面向对象设计
其主要做用是对OOA分析的结果做进一步的规范化整理,以便可以被OOP直接接受。
Java 特色面向对象 简单 分布式 健壮性 安全 可移植 多线程 动态性 编译和解释性 高性能
Java的变量
Java的变量,java中的变量主要包括8种,byte short int long char double float Boolean
相关的封装类型 长度及范围以下:
数据类型 |
内存 |
封装类型 |
范围 |
byte |
8位 |
Byte |
-128 127 |
short |
16位 |
Short |
32767 -32768 |
int |
32位 |
Integer |
2147483647 -2147483648 |
long |
64位 |
Long |
-9223372036854775808 9223372036854775807 |
浮点类型
数据类型 |
内存 |
封装类型 |
|
float |
32位 |
Float |
1.4E-45 3.4028235E38 |
double |
64位 |
Double |
4.9E-324 1.7976931348623157E308 |
** long定义时在后面添加上L l
** float定义时在后面添加上F f
** double定义时在后面添加上D d
char
数据类型 |
内存 |
封装类型 |
char |
16位 |
Character |
放在单引号内 存放unicode 能够与unicode的编码相互转换
A=65 ; Z=90
a=97 ; z=122
boolean
数据类型 |
内存 |
封装类型 |
boolean |
8位 |
Boolean |
直接赋值和逻辑判断赋值
还有一中数据类型,String 但string不是基本数据类型,
变量名
变量先声明,赋值,再使用(类中实例变量不用,在建立对象时,会初始化为相关数据类型的默认值,方法里的局部变量必须先声明才能使用)
变量名:只能有字母 数字 下划线 $ 组成,不能以数字开头,不能使用关键字做为变量名,变量名小驼峰,第一个字母小写,后边大写
变量类型的转换,由低转高,高转低会丢失精度,char 类型与整型的转换,
常量 final 一次赋值不能更改 常量名大写单词使用下划线隔开
Static 使用类名调用,也可使用对象调用 关于static的机制这里很少作说明,后边可能回详细介绍
在java中的运算符分为如下几种
算术运算符: + - * / % ++ -- += -= *= /= %= >> <<
自增(自减)运算在表达式中的 的前后循序 i++ 先使用i的值
++i,i先执行运算,再执行外围表达式
关系运算符 < > <= >= != == 运算结果是一个boolean类型的结果
逻辑运算符
&& & 与 &&具备短路效果 第一个表达式为false,就不会执行第二个表达式
|| | 或 ||具备短路效果 第一个表达式为true,就不会执行第二个表达式
!
三元运算符:
A?b:c A 语句 为真 返回b 不然c
流程控制,if语句 和switch语句
if(condition){……} /if(condition){……}else{……}/ if(condition){……}else if(){……} else{……}
开关语句 switch (){case ……;break;default ……;break;}
没有break;会执行下一句,直到break语句
default的位置无关
case: 表达式惟一
switch 语句中的变量类型能够是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串类型了,同时 case 标签必须为字符串常量或字面量。
循环for循环 while(condition){….} do{…..}while(condition);
For([起始条件];[循环条件];[步长]){
…..}
起始条件,循环条件,步长可能没有表达式,一个或多个
While与do while的条件都是一个结果为boolean的表达式,
do while,先执行一次循环体
在java中,类封装了属性和方法来描述一类事物的特性和行为,经过类的实例化来建立对象.
权限修饰符 class [className]{
//属性
//方法
}
构造方法,jvm会默认提供一个无参的构造方法,用户自定义其余有参的构造方法时须要写出无参构造
类名 对象=new 类名();
对象.属性;//赋值或访问
对象.方法;//调用方法
类与对象的关系:
类是对象的类型;
对象是类的实例
类是模板;对象是模板建立的副本
一个类建立的对象:彼此不共享(static 修饰的变量全部对象共享)
new是的对象的实例化
属性:属性是对类型的特征描述;本质上是变量;由类进行封装(打包)
this 在构造方法间相互调用,可是自能在第一行,
this 表明当前对象,能够调用其余实例方法,在方法中解决 全局变来量与局部变量的重名问题,
方法重载
static修饰符的含义相关知识
static的含义:在java的类的加载过程当中经过static关键字,告知内存分配机制进行优先分配内存地址(空间),便可以提早获取内存地址
相关知识
不只能够修饰方法和变量;还能够修饰代码块同时代码块只执行一次(初始化)
可使用类名直接调用类方法或者类变量
传统方式使用对象名调用 :对象名.方法();对象名.属性方法()
直接方式:类名.方法();类名.属性方法
static不能修饰局部变量
通常状况下、 类方法不能访问实例变量 也能访问实例方法
通常状况下、实例方法中不推荐使用类变量
抽象类和抽象方法特色,关系
方法的重写知足条件
如何使用super调用父类的属性、方法、构造方法
首先、子类具备调用父类属性、方法的权限
使用关键字 super调用父类的元素
super.属性名 》》》super.name
super.方法名(形参列表)
※ super() 或 super(形参列表) //调用构造方法时,必须放在子类构造方法的第一行 调用的是(直接)父类的构造方法 有时 能够省略
public EmpDaoImpl extends Object implements EmpDao1 ,EmpDao2{……}
接口的特性
在继承的条件下:具备多种行为(形态)表现的集合特征
实现多态
继承的存在
子类重写父类的方法
向上转型
定义方法时、形式参数类表类型的定义;推荐使用父类(object)类做为形式参数的类型
定义方法时、返回值类型的定义:推荐使用父类(Object)做为返回值类型或者Object[](对象数组)
判断一个对象是否属于某个类(型)或接口的引用
通常状况下结合逻辑判断语句使用,返回boolean类型
if(对象名 instanceof 类){
}
else{
}
好处:体现代码的健壮性一般与强制类型转换