Java基础部分记录
2017-09-11 19:03
316 查看
基础知识
数据类型
1、基本数据类型
在栈区直接存储数据byte/short/int/long/double/float/char/boolean
整数类型*4/浮点类型*2/字符/布尔值
这八种数据类型有对应的封装类型
Byte/Short/Integer/Long/Double/Float/Charactor/Boolean
基础数据类型初始值(跟引用类型比较):
byte/short/int:0 long:0L double:0.0 float:0.0f char:'\u0000' boolean:false
在基础数据类型和引用类型互相转换的过程叫做自动装箱/拆箱
Integer integer=100;//实际上编译器会自动将其转化为下面这句: Integer integer=Integer.valueOf(100); int i=integer;//这一句实际上将integer对象进行了拆箱 int i=integer.intValue();
使用”=”赋值(此处与引用数据类型的区别)
int i1=100; int i2=i1; i1=200; i1==i2;//false
将i1的值拷贝一份给i2
如果是数组的话
int[] arr1=new int[]{1,2,3}; int[] arr2=arr1;
此时两个数组指向的是同一个地址
2、引用数据类型
在栈区存储引用的地址,指向堆区的特殊空间是一个对象
对于Integer对象来说:
当数值处于-128~127时,不会创建新的对象
建议使用equals()方法来判断内容是否相等(而不是“==”)
一般会重写类的equals()方法,若没有重写就会默认调用Object类的,相当于”==”
“==”会比较两边的引用地址
常见的String类型的比较:
1、String重写了equals()方法,会直接比较对象的字符串内容。(Integer等封装类也是)
String s1="string"; String s2=new String("string"); s1.equals(s2);//true
下面不考虑equals()情况
2、如果使用new String(“内容”)的话,会创建一个新的对象,即使内容相同,”==”也会判断为不等
String s1="string"; String s2=new String("string"); s1==s2;//false
3、即使是使用”+”将字符串连接起来也一样
String s1="str"+"ing"; String s2="string";
4、但是使用对象+”字符串”就相当于创建新的对象
String s1="string"; String s2=new String("st 889e r")+"ing"; s1==s2;//false
将引用指向另外的地址:
以下代码仅仅是把p2的引用指向了p1的实例
Person p1=new Person(); Person p2=p1;
注意此处与基本数据类型的区别
修改一个会影响另外一个
String的初始化以及基本数据类型的初始化:
使用String s和使用String s=null不同
前者未初始化,不能使用,后者为空,可以使用…而加上static之后就默认为null
引用类型的对象没有初始化就不能用(即使你把他初始化为空也是不一样的)
相关文章推荐
- java基础知识记录--XML部分(摘自张孝祥整理java面试题)
- java基础知识记录--Java web部分(摘自张孝祥整理java面试题)
- java基础知识记录--Java web部分(摘自张孝祥整理java面试题)
- java基础知识记录--linux部分(摘自张孝祥整理java面试题)
- java基础知识记录--EJB部分(摘自张孝祥整理java面试题)
- Java基础部分个人学习记录
- java基础知识记录--webservice部分(摘自张孝祥整理java面试题)
- Java面试之路(一)Java基础部分
- Java笔记 第四章(3) Java面向对象编程基础 第三部分(对象概述)
- Java动画编程基础第三部分
- Java记录 -1- 基础JDK
- java笔试面试题---基础部分4
- Java基础部分
- Java面试题-基础部分
- java笔试面试题---基础部分5
- 给Java新手的一些建议----Java知识点归纳(Java基础部分)
- 【2017-08-22】 Java基础复习记录
- java基础三 [深入多态,接口和多态](阅读Head First Java记录)
- Java基础部分第二十节
- Java Media Framework 基础教程(学习JMF中,看到好的中文教程,在这里记录下来)