Java的特性与优势
简单性 面向对象 高性能 分布式 多态性 多线程 安全性 健壮性
Java版本
JavaSE:标准版,桌面程序、控制台
JavaME
JavaEE:企业版,web开发、服务端
Java基础
标识符注意点
- 标识符以**字母、$、_**开头
- 首字母后可使用字母、$、_ 或数字
- 关键字不可作为变量名或方法名
数据类型
基本数据类型
数值类型
整数类型:
byte 1个字节 -128-127
short 2个字节 -32768-32767
int 4个字节 -2147483648-2147483647
long 8个字节
浮点类型 :
float 4个字节
double 8个字节
字符类型:
char 2个字节
boolean类型
占1位,值为true\false
浮点数拓展
银行业务字母,使用数学工具类表示钱 BigDecimal
类型转换
强制高–>低转换
double–>float–>long–>int–>char,short,byte
自动相反
变量、常量、作用域
- Java变量是程序中最基本的存储单元,要素包括变量名,变量类型和作用域
变量作用域
- 类变量(static)
- 实例变量 String str = “hello world”;
- 局部变量 方法中int i = 0
常量
使用final或static final
运算符
逻辑运算符
- &&逻辑与运算:都真则真
- ||逻辑或运算:一个为真则为真
- !取反
- x ? y : z 若x为真,则结果为y,否则为z
Java方法
修饰符
返回值类型方法名(参数类型、参数名、、){
方法体
return 返回值
}
public staticvoidchange (Person person){
person.name = “秦疆”;
}
方法重载
- 重载是在一个类中,有相同的方法名,参数列表不同的方法
- 规则:
方法名称必须相同
参数列表必须不同(个数、参数类型、或排序不同)
返回类型可以相同也可以不相同
仅仅返回类型不同不足以成为方法的重载
Java数组
数组的创建
dataType[] arrayRefVar = new dataTypr[arraySize];
int[] nums = new int[10];
//打印所有数组--For-Each循环
for (int num : nums){
System.out.println(num);
}
内存分析
- 堆
存放new的对象和数组
可以被所有的线程共享,不会存放别的对象引用 - 栈
存放基本变量类型
引用对象的变量 - 方法区
可以被所有的线程共享
包含了所有的class和static变量
Arrays类
常用功能:
给数组赋值:fill方法;
排序:sort方法,升序;
比较数组:equals方法比较数组中院组织是否相等
查找数组元素:binarySearch对排序好的数组进行二分查找
冒泡排序
int temp = 0;
for(i=0,i<arrays.length-1,i++){
for(j=0,j<array.length-1-i,j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
面向对象
面向对象
- 本质:以类的方式组织代码,以对象的组织封装数据
- 抽象
- 三大特性:封装、继承、多态
- 认知论:先有对象后有类,对象是具体的事物,类是对象的抽象
- 代码运行:先有类后有对象,类是对象的模板
封装
- 高内聚,低耦合
- 作用:
1、提高数据安全性,保护数据
2、隐藏代码的现实细节
3、统一接口
4、系统可维护性增加
继承
- 本质是对一批类的抽象,子类 is a 父类
重写
- 子类的方法必须与父类一致,方法体不同
- 与属性无关
- 静态方法不能被重写
规则:
方法名称、参数列表必须相同
修饰符范围可以扩大,public>protect>private
static,final,private 不可重写