1. 九种基本数据类型的大小,以及他们的封装类。

类型 基本类型 大小(字节) 默认值 封装类
整数型 byte 1 (byte)0 Byte
short 2 (short)0 Short
int 4 0 Integer
long 8 0L Long
浮点型 float 4 0.0f Float
double 8 0.0d Double
布尔型 boolean - false Boolean
字符型 char 2 \u0000(null) Character
  void - - Void

注:(1)java默认使用unicode作为编码,一个char作为2个字节来存储;

  (2)Java的类型分成两种,一种是基本类型,一种是引用类型。两种的本质区别就是:基本类型是在堆栈处分配空间存“值”。但是引用类型,是在堆里面分配空间存“值”。Void是不能new出来,也就是不能在堆里面分配空间存对应的值。那就是一开始在堆栈处分配好空间了。所以,将Void归成基本类型。

基本数据类型封装之后:

(1)封装类可以有属性和方法,可以利用这些属性和方法来处理数据。比如:Integer对象有parseInt(String str),就是将字符串转换为int类型。

(2)基本数据类型跟封装类(引用类型)的默认值是不一样的。比如:int i,i的默认值是0;但是Integer j,j的默认值是null。

(3)封装类产生的是对象,对象默认值是null。一旦java看到null,就知道这个引用还没有指向某个对象,在任何引用使用之前,都必须为其指定一个对象,否则报错。

基本数据类型 封装类
基本数据类型只能按值传递 封装类按引用传递
基本数据类型在堆栈中创建,直接存储值,效率高,但可能发生内存泄漏 对象类型,对象在堆中创建,对象的引用在堆栈中创建
基本数据类型在声明时系统自动为其分配空间 引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间后才能赋值
基本数据类型跟封装类(引用类型)的默认值是不一样的,int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况
注:数组对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用,所以通过某一个数组所做的修改另一个数组中也看得见

2、三种引用类型:类(class)   接口(interface )   数组(array)

(1)Heap 堆空间:分配对象 new Student()

(2)Stack 栈空间:临时变量 Student stu

    new一个对象的时候,如 new Student(); ,在堆空间分配空间并创建一个Student实例;

    若写成 Student stu = new Student(); 则会把堆中的Student实例地址赋值给stu变量(栈空间),调用对象的方法时可以用stu来调用,实际上调用就是stu指向的对象的方法

3、switch()参数支持的类型

(1)在JDK 1.5以前,switch(expr)中,exper只能是byte,short,char,int类型,byte,short,char会自动类型转换为int

(2)从JDK 1.5开始,exper可以是enum类型

(3)从JDK 1.7开始,exper还可以是String类型

注:可以把相关的常量分组到一个枚举类型里

4、equals与==的区别

(1)==比较的是两个对象的地址

(2)equals比较的是两个对象的内容

注:如果一个类没有自定义equals方法,它默认的equals方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果

J2SE基础小结的更多相关文章

  1. 点滴的积累---J2SE学习小结

    点滴的积累---J2SE学习小结 什么是J2SE J2SE就是Java2的标准版,主要用于桌面应用软件的编程:包括那些构成Java语言核心的类.比方:数据库连接.接口定义.输入/输出.网络编程. 学习 ...

  2. Java 基础--小结

    Java  基础--小结 java基础 Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机( ...

  3. J2SE基础题

    J2SE基础 八种基本数据类型的大小,以及他们的封装类.(有的也说是9中基本数据类型,包括了void) 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 ...

  4. android基础小结

    (注:此小结文档在全屏模式下观看效果最佳) 2016年3月1日,正式开始了我的android学习之路. 最最开始的,当然是学习怎样搭载环境了,然而苦逼的我在win10各种坑爹的指引下还是安装了一个星期 ...

  5. Hbase客户端API基础小结笔记(未完)

    客户端API:基础 HBase的主要客户端接口是由org.apache.hadoop.hbase.client包中的HTable类提供的,通过这个类,用户可以完成向HBase存储和检索数据,以及删除无 ...

  6. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  7. J2SE学习小结

    开始接触Java的学习,Java 2 Standard Edition为Java2平台的标准版,其包括了构成Java语言核心的类,此番学习算是学习了Java体系中的基础部分. 学习框架大致整理如下: ...

  8. J2SE基础:7.系统经常使用类一

    1.Object对象 Object对象是全部对象的根类. 每一个对象都默认继承自Object类. equals():对象与对象之间是否相等. 逻辑上面的相等.equals 物理上面的相等(地址相等) ...

  9. Hibernate search使用示例(基础小结-注解方式)

    (对于项目环境配置,一直没怎么看过.这次经历里从基础环境搭建到hibernate search示例的完成) 1.首先创建project,选择了web project. 2.导入hibernate se ...

随机推荐

  1. 【blog】SpringBoot普通类中如何获取其他bean例如Service、Dao

    自己写工具类 工具类 import org.springframework.beans.BeansException; import org.springframework.context.Appli ...

  2. #6278. 数列分块入门 2(询问区间内小于某个值 xx 的元素个数)

    题目链接:https://loj.ac/problem/6278 题目大意:中文题目 具体思路:数列分块模板题,对于更新的时候,我们通过一个辅助数组来进行,对于原始的数组,我们只是用来加减,然后这个辅 ...

  3. SpringBoot的Web配置

    重写全局配置 如果springboot提供的springmvc配置不符合要求,则可以通过一个配置类(标有@Configuration注解的类)加上@EnableWebMvc注解来实现完全自己控制的mv ...

  4. python初级实战-----主机在线情况监控web

    背景 公司有600多台服务器,打算写一个小程序,能一眼看见哪些服务器不在线. 大体思路是: 1.把所有服务器ip存进数据库,ping命令判断服务器是否在线 2.更新数据库中ip的状态 3.简单的web ...

  5. nginx基础命令

    1.nginx 启动nginx service nginx start 查看nginx状态 service nginx status 关闭nginx service nginx stop 热重启(前提 ...

  6. Mysql多实例安装笔记

    参考: 系统:KaliLinux (x86_64) 软件下载 1.下载地址: 2.选择5.6版本 安装 1.准备文件和目录 tar -zxvf mysql-5.6.40-linux-glibc2.12 ...

  7. xadmin后台页面定制和添加服务器监控组件

    xadmin定制 项目需要添加服务器监控页面,碍于xadmin不是很好自定义页面,之前写过插件,太麻烦了,还是直接改源码 原理其实很简单,因为xadmin的处理流程和django类似,都是通过拦截UR ...

  8. C#如何操作XML文件

    ⒈XML? XML是一种可扩展的标记语言 具有以下特点 1.严格区分大小写 2.标签成对出现 3.有且只有一个根节点 ⒉XML的创建 <?xml version="1.0" ...

  9. 使用WireMock快速伪造RESTful服务

    ⒈下载WireMock独立运行程序 http://wiremock.org/docs/running-standalone/ ⒉运行 java -jar wiremock-standalone-2.2 ...

  10. 【转】Java并发编程:并发容器之CopyOnWriteArrayList

    Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改, ...