Java中的数据类型和引用
JAVA数据类型分primitive数据类型和引用数据类型。
Java中的primitive数据类型分为四类八种。primitive也不知道怎么翻译比较贴切, 暂且叫他基本数据类型吧, 其实直接从英文的字面意思理解更为容易。
primitive数据类型包括: boolean , char , 整型, 浮点型。 整型又包括:short, byte, int, long 。 浮点型又包括:float, double 。
所有primitive总共是八种。 大小分别为:boolean(由JVM决定) char(16 bits) short(16 bits) byte(8 bits) int(32 bits) long(64bits) float(32 bits) double(64 bits)
除了基本的数据类型, Java中剩下的都是引用(reference)。
一般来说, 对象的声明、赋值、创建有三个步骤: 通过一个简单的小例子来看 :
Dog myDog = new Dog(); 通过这句话我们可以创建一个Dog的对象(myDog),以后看到这种new语句一定要在脑海中有三个步骤把它拼凑起来 :
- step1: Dog myDog = new Dog(); 执行语句中的红色部分, 声明了一个引用 myDog(要求java虚拟机在栈上分配空间给引用变量,并命名为myDog, 此引用变量将永远被固定为Dog类型)
- setp2: Dog myDog = new Dog(); 执行语句中的红色部分, 创建了一个对象(要求java虚拟机在堆上分配空间给Dog对象)
- setp3: Dog myDog = new Dog(); 执行语句中的 “=” 符号, 连接了对象和引用 (把Dog对象赋值给myDog这个引用)
此处有一个特殊的对象需要特别说明下, 那就是数组, 对, 数组也是对象! 数组对象的创建过程如下 : (图片截自HeadFirst Java)
Java中的数据类型和引用的更多相关文章
- Java中的数据类型及相互转换方法
本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...
- Java中基本数据类型和包装类
参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内 ...
- Java中的基本类型和引用类型变量的区别
Java中的基本类型和引用类型变量的区别 学了一年多,说实话你要我说这些东西我是真说不出来是啥意思 基本类型: 基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值. 引用类型: ...
- 理解--->Java中的值传递&引用传递
转自:http://url.cn/5tL9F5D 值传递和引用传递 值传递(pass by value)是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际 ...
- 讲说问题:|和||的区别以及&和&&的区别。2、Java中的数据类型分几类?基本数据类型有哪些?
|和||的区别以及&和&&的区别. |或 为或运算 判断为逻辑或 || 为短路或 只有逻辑判断 当左侧为真不再继续判断 &与 为与运算 判断为逻辑与 && ...
- Java中关于数据类型的一些问题
Java中关于数据类型的一些问题 总结一下最近笔试遇到的一些关于Java中数据类型的一些问题. 虽然比较基础,但在实际做题却很容易出错的点,而且往往这些题出错了会给面试官很不好的感觉:你的基础不好. ...
- 010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二——变量类型——即Java中的数据类型
010 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 04 变量的三个元素的详细介绍之二--变量类型--即Java中的数据类型 Java中变量的三要素 变量名 变 ...
- 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式
今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...
- JAVA中MESSAGEBOX,静态类直接引用
原文:JAVA中MESSAGEBOX,静态类直接引用 package cisdi.mes.wrm.mcode.serviceImpl; import javax.persistence.Entity; ...
随机推荐
- Bootcamp Win10蓝牙鼠标的问题
运行services.msc找到Bluetooth support service 把启动类型从手动改为自动 重新连接蓝牙鼠标
- 如何优化Mysql执行查询数据的速度
在项目中数据量小的情况下使用like查询速度还行,但是随着数据一天一天增加,再使用like进行模糊查询的时候速度上就会显得比较慢,现提供两套解决方案: 问题: 使用like查询效率很慢 select ...
- Java基础:(四)继承
一.访问权限 java中有三个访问权限修饰符private:protected:public和一个默认default(不加修饰符). 如果子类的方法覆盖了父类的方法,那么子类中该方法的访问级别不允许低 ...
- 【踩坑】springMVC 接收String参数没有判断为空
今天在调试iReview项目的接口时,发现新增词条和新增库的时候,某些字段即使留空POST到后台时也能当做不为空. 经过排查,发现后台是使用 String 变量名 == null 这样的语句去判断变量 ...
- android图片缩放平移
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android=" ...
- django之session配置
session应用示例 from django.shortcuts import render from django.shortcuts import HttpResponse from djang ...
- jsp之初识UserBean
package com.java.model; public class Student { private String name; private int age; public String g ...
- Codeforces 666E Forensic Examination SAM or SA+线段树合并
E. Forensic Examination http://codeforces.com/problemset/problem/666/E 题目大意:给模式串S以及m个特殊串,q个询问,询问S的子串 ...
- cookie存验证码时间,时间没走完不能再次点击
<script> var balanceSeconds=getcookie('Num'); console.log(balanceSeconds) var timer; var isCli ...
- MySQL8 Authentication plugin 'caching_sha2_password' cannot be loaded
这是因为mysql8 和以前密码的验证方式不同,可以先从命令行进入 MySQL -uroot -p 然后输入 ALTER USER 'root'@'localhost' IDEN ...