java语言特性
- 简单性
- 面向对象
- 健壮性
- 可移植性
数据类型取值范围
- byte 1
- short 2
- int 4
- long 8
- float 4
- double 8
对数组的排序
选择排序
// 选择排序:把0索引的元素和1索引后面的元素进行比较
int[] arr = {4, 5, 2, 8, 1};
// 第一层从0循环到长度-1(倒数第2个)
for (int i = 0; i < arr.length - 1; i++) {
// 第二次从1循环到整个数组结尾
for (int j = i + 1; j < arr.length; j++) {
if (arr[i]>arr[j]){
// 互换值
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
冒泡排序
// 冒泡排序:第一层循环轮数,第二层循环量量比较,一轮找出一个最大数
int[] arr = {4, 5, 2, 8, 1};
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length -1 -i; j++) {
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
二分查找(针对有序数组查找,不要先给数组排序)
数组工具类Arrays
- Arrays.toString()
- Arrays.sort() 快速排序
- Arrays.binarySearch(int[] arr,int flag) 二分查找法
面向对象与面向过程
面向过程
注重实现的过程,语句之间的因果
- 优点:业务逻辑比较简单,容易开发
- 缺点:耦合性非常高,由于没有对象概念,导致组件无法复用
面向对象
是基于面向过程思想之上的,也是人类的一种思考方式,主要是关注对象能完成哪些功能
面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决过程中的行为
- 优点:符合人类思想,将我们从执行者变为指挥者,将复杂的问题简单化,降低耦合性,增加复用性
- 缺点:前期开发成本高,需要建立大量类
- 注意:所有的面向对象语言都有三大特性:封装、继承、多态