java编程自学记录(day05)

数据的复制与扩容
(1)数组变量额度赋值,是并不会复制数组对象,是两个变量引用了同一个数组对象。
(2)数组的复制的本质是创建了新数组,将原来数组的内容复制过来。
(3)扩容:创建新数组,新数组容量大于原数组,将原数组内容复制到新数组,
 并且丢弃原数组,简单说,就是更换更大的数组对象。
 很多方法都使用了数组的扩容。
 
排序算法
(1)要会冒号排序:比较相邻的元素,大的向后交换。
(2)Arrays类包含了大量的基础排序算法,在实际使用时可以直接调用。

递归调用
(1)方法中调用方法本身。
(2)优势:简练,只需考虑一层逻辑即可,但是需要有经验。
(3)递归一定要有结束条件。否则会造成栈溢出。
(4)递归深度不能太深。否则会造成栈溢出。

二进制基础
(1)16进制是2进制的简写,其实就是2进制。
(2)记补码的另一个方式:
 所有位全部为1时,表示值为-1
 第一位为1,后面都为0时,表示最小值
 第一位为0,后面全为1时,表示最大值。

移位运算
(1)左移:<<  最低位补0
(2)算数右移:>> 最高位补原数据的最高位(才能保持符号不变)
(3)逻辑右移:>>> 最高位补0
(4)移位运算符的优先级比四则运算低

面向对象
(1)类
 1)类是一个概念抽象的定义。简单说类就是分类
 2)类定义了该类型对象的数据结构,称之为“成员变量”,同时,也定义了一些
 可以被调用的功能,称之为“方法”。
 3)类是用于构建对象的模板,对象的实质就是内存中的一块存储区域,存储数据,
 其数据结构由定义它的类来决定
(2)对象的创建
 1)当一个类的定义存在后,可以使用new运算创建该类的对象,对象穿件的过程
 一般成为类的实例化
 2)对象是在堆中创建的,创建后,对象的元素初始值为0值,与数组相似。
(3)引用类型
 1)除了8种基本类型之外,用类名(接口、数组)生命的变量称为引用类型变量,
 就,简称引用。
 2)引用类型变量的值中存储的是某个对象在内存中的地址信息。引用的功能在于
 访问对象,引用类型按照如下方式进行声明:
  类名 引用类型变量名
(4)对象的本质是:复合数据结构封装,如:Point封装了属性(x,y)
(5)对象创建后,其成员变量可以按照默认的方式初始化:
  类型        默认初始值
 byte/short/int/long/float/double 0
 boolean        false
 char        \u0000
 引用类型        null
(6)成员变量和实例变量(成员变量)的区别
 成员变量是main方法中声明的变量,在栈中分配;
 实例变量是在对象中声明的变量,在堆中分配,有默认初始值;
(7)成员方法
 一般用来操作本对象的属性。
(8)方法重载
 定义一组方法,方法名一样,但是参数不一样。这些方法就相互构成了重载。
 实现了类似的功能。
 调用方法时,根据 参数列表和方法名 调用不同方法。
this关键字
(1)this是在方法中对当前对象的引用,本质是方法的隐藏参数,大多数情况不用
 写明。生存周期是方法运行期间,运行完毕会被回收
(2)在方法运行期间引用了当前对象


 
其他知识点
(1)定义类时,类的成员变量和方法要合理,不能与实际差的太多,这是一个写程序
 的好习惯
(2)方法中声明的变量叫做局部变量。
(3)类、局部变量(方法中定义的变量)、对象的关系:
 1)类(.class文件)是存储在硬盘中的。当使用时,会被加载到“方法区”中。
 电脑执行的一直是方法区中的代码。
 2)当main方法中创建一个类的引用变量(局部变量)时,变量在栈中分配。
 3)使用new运算实例化对象时,对象在堆中创造,并按照属性分配空间。
  eg:
   一个类中有int x ; int y ;两个属性。那么它占用内存就是
   两个int的大小。
 对象的属性有默认值(0值);
 4)通过赋值运算p = new Point();将局部变量p与创建的对象联系起来。
 注意,创建的对象地址对开发者是透明的,不要想像C那样去找到地址。
 5)在调用时,创建的引用变量指向创建的对象。
(4)从(3)中可以看到,代码在执行时,待执行代码放在“方法区”中,局部变量
 放在“栈”中,对象放在“堆”中。
 注意:不是所有变量都在栈中分配,比如对象的实例变量就在堆中分配。
(5)java只有局部变量,没有全局变量!没有全局变量!没有全局变量!
(6)堆和栈的容量有限,使用太多会超出内存。
(7)在同一个包中不能有同名称的类
(8)System.out.println()就是重载方法,

使用到的方法
(1)Integer.toBinaryString(n)
 将n转换为二进制字符串输出。
(2)java中,每个类(class)在编译之后都会成为一个.class文件


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值