JAVASE前期知识点总结

变量:可以更改的值,方便操作,用来保存数据 是一个有名字的内存空间

变量声明:数据类型 变量名=值;;

局部变量:在方法中声明的变量称为局部变量,该变量只能在该方法中被使用,并且通过名字直接调用即可,没有默认值,必须赋值;

静态变量:再类体中使用static声明的变量,和方法平级,需要通过类名.静态变量名才能调用,在当前类中调用当前静态变量时,类名可以省略;

成员变量:类体中没有static声明的变量,和方法平级,须通过对象引用才能调用;

默认值:整数(0),小数(0.0),boolean(false),char(\u0000),引用(null);

数组:引用数据类型,用来保存多个数据;

数据结构:存储,组织数据的方式;

操作:增删改查;

数组特性:内存中连续存储,线型数据结构,下标从0开始(内存地址偏移);数组长度一旦确定,不能更改;数组不能进行添加和删除,除非新建新数组,把原来数组复制过去,复制的过程可以添加删除;

数组查询和更改效率高,添加删除效率低;

内置属性:length.保存数组长度;

Java中有一个java.until.Arrays类,提供了一些数组操作;

数组声明:

静态声明:在已知每个元素的时候使用静态声明;

        数据类型[] 变量名=值;

        重新赋值:变量名=new int[]{};

动态声明:不知道数组中元素的时候使用动态声明;

         数据类型[] 变量名=new 数据类型[]长度;

动态声明保存的是对应类型的默认值(整数0,小数0.0,布尔false,字符\u0000,引用null);

数组使用:

获取数据:int[] arr={10,11,12};

         System.out.println(arr[0]);下标从0开始;

         数组长度:System.out.println(arr.length);

更改数据:数组[下标]=值;

         寻找最后一个元素:System.out.println(arr[arr.length-1]);

遍历:

For(int i=0;i<arr.length;i++){System.out.println(arr[i]);}

增强for循环:把数组中的每一个元素都赋值给变量;

For(数据类型 变量名:数组){}

For(int element:arr){}

常见异常:

下标越界;

空指针异常:arr=null;没数组时会出现空指针异常;数组没进行初始化,对数组进行了属性操作;

数组传递:int [] arr={1,2,3} m2(arrr); m2(new int []{1,2,3});

传值和传址:

传值:传递基本数据类型的数据,相互无影响;

传址:传递引用数据类型的值,相互有影响,指向同一个堆内存空间;

数组复制:原数组 原数组起始位置 目标数组 目标数组起始值 复制个数   替换式复制,把原来数组更改了,没生成新数组,传址引用

数组插入式复制:原数组 原数组起始位置 目标数组 目标数组起始值 插入个数    因为是插入复制,所以肯定会更改数组长度,因为数组长度不能更改,所以我们只能新建数组,并通过返回值把数组返回

创建一个新数组,长度为 dest.length + length

目标数组中 从0开始 到 起始位置结束(包含),复制到新数组中

源数组中 从起始位置开始(包含) 复制 length个 到 新数组中

目标数组中 从起始位置+1开始(包含) 到最后 所有的数据 复制到新数组中

排序:让保存的元素按照一定的规则进行排序,存储;

冒泡排序:比较相邻的两个元素;重复对每一个元素进行相同操作,直到没有一对元素的时候;针对所有元素,再重复上面的步骤,直到没有任何一对需要比较;

选择排序:每次把最小的放到左边,拿出第一个,假设是最小的,挨个和后面的进行比较,有比第一个小的就交换下标,比较完一轮,放到最前面,重复步骤,直到当前元素后没其他元素即可;

查找元素:

二分查找:又称为折半查询,要求数据必须有序,升序或降序都可;

升序和降序须更改算法;随机查找的效率更高;

一般用于固定数据查找,添加和删除比较麻烦,需要考虑元素位移问题;

算法实现:

确定开始和结束位置还有中间数据;

用目标数据和中间数据比较;

如果目标数据=中间数据,返回中间数据的索引即可;

如果目标数据>中间数据的话,则在后半截继续查找,其实数据=中间数据+1,结束不变,在生成中间数据

如果目标数据<中间数据,取前半截,起始不变,结束等于中间数据-1,在生成中间数据

重复步骤,若起始数据大于结束数据,则表示查找失败,返回-1;

API排序:只能用于升序;

Arrays.sort(数组);

类和对象:

对象:某一个具体事物;

类:描述了这一类事物的属性和特征;

定义类: 类型 变量=new 类型();;

对象是类的实现,保存了类属性的值;在编程过程中,通过需求或现实事物的属性或特征,来定义相关类;

通过不同属性值来定义不同的对象;

对象和对象之间,有相同的属性相同的值,用静态变量;

对象和对象之间,有相同的属性相同或不同的值,用成员变量;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值