`
welcomezhang
  • 浏览: 16857 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【回顾】java基本数据类型

阅读更多

java数据类型概述

跟php、javaScript等弱类型语言相比,java是一种强类型(strongly typed)编程语言,体现在下面2点:

 

  • 变量必须先申明、后使用
  • 指定类型的变量只能接受与之匹配的值

 

 

java数据类型

 下面主要对基本数据类型做一个解释:

 

 整数类型

 1 字节(byte) = 8 位(bit),在计算机中,正数用原码表示,负数用补码表示,因此4种整数类型表数范如下(详细见《【转】负数在计算机中的表示 》):

 

note:

整数默认是int类型,如果要转为Long,需要加上L或者l

 

浮点类型

同样的,浮点数表数范围如下:

 

note:

1.浮点数默认是double,如果要定义为float,需要加上F或者f。

2.浮点数有十进制和科学计数法2种表现形式。

 

字符类型

char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用16位的Unicode编码,它的前128字节编码与ASCII兼容字符的存储范围在\u0000~\uFFFF(65,535,即2的16次方-1),在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1。

        char c = '1';
        System.out.println(c);
        char d = '\u0031';
        System.out.println(d); //c、d输出的值是一样的

 

note:

1.char是用单引号,字符串用双引号。

2.这块要复习下askii码、unicode等编码相关知识。 参考文章

 

布尔型

数据值只有true或false,适用于逻辑计算。

note:

boolen本来只需要1个bit位就可以表示,但是目前占用的是1个字节(8个bit),这是因为大部分计算机分配内存的最小单元是1字节。

 

 

数据类型转换

java提供的7种数值类型直接可以相互转换。

 

自动类型转换

小转大,相当于把小瓶里的水倒入大瓶,不会有任何问题。

 

 

强制类型转换

大转小,转换的格式是:(targetType)value。
如果大瓶子里的水很多,将会引起溢出,从而造成数据丢失,因此这种转换也被称为“缩小转换(narrow conversion)”。

 

引用数据类型

基本数据类型在栈中直接分配内容;引用数据类型的数据在栈中,对象的引用在堆中。


JVM的内存空间:
 a. Heap 堆空间:分配对象 

 b. Stack 栈空间:临时变量 

 c.Code 代码区 :类的定义,静态资源 

Student stu = new Student(); //new 在内存的堆空间创建对象
stu.study(); //把对象的地址赋给stu引用变量

 

上例实现步骤:
 a.JVM加载Student.class 到Code区

 b.new Student()在堆空间分配空间并创建一个Student实例

  c.将此实例的地址赋值给引用stu, 栈空间。

 

自动装箱拆箱

在java数据类型的基础上,要理解装箱拆箱机制。

装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。int包装成Integer、float包装成Float

拆箱:和装箱相反,将引用类型的对象简化成值类型的数据

Integer a = 100; //这是自动装箱  (编译器调用的是static Integer valueOf(int i))
int     b = new Integer(100); //这是自动拆箱

note:

这块详细可以参考《Java装箱和拆箱的基本概念及使用
  • 大小: 29.9 KB
  • 大小: 24 KB
  • 大小: 20.5 KB
  • 大小: 29.3 KB
  • 大小: 9.5 KB
分享到:
评论

相关推荐

    计算机后端-Java-Java核心基础-第21章 常用类 14. 回顾String与基本数据类型包装类的转换.avi

    计算机后端-Java-Java核心基础-第21章 常用类 14. 回顾String与基本数据类型包装类的转

    自己记录的一些java基础的东西,希望能够经常回顾

    一些java基础的东西,有时候面试会问到,里面涵盖了数据类型,操作符等一些java基础的东西,有时候面试会问到,里面涵盖了数据类型,操作符等一些java基础的东西,有时候面试会问到,里面涵盖了数据类型,操作符等

    计算机程序设计(Java)-教案--单元二--Java语言开发基础.docx.docx

    二、工程任务分解 ・:・带着学生分析本章工程并对工程进行任务分解,各工程分解任务如下: 工程1:猜数字游戏 ,任务1:确定变量 /任务2:选择数据类型 /任务3:确定表达式 /任务4:循环猜数,并统计次数 三、任务分析 :...

    动力节点JAVA完美学习课程 JAVA黄埔军校2018年最新JAVA夜校班全程班视频教程 1-56部分.txt

    ├─(22) 022-Java夜校视频教程-基本数据类型.avi ├─(23) 023-Java夜校视频教程-数据类型之间的转换.avi ├─(24) 024-Java夜校视频教程-回顾上次课所讲内容.avi ├─(25) 025-Java夜校视频教程-课后练习题.avi ├...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    阶段性章节复习:String类的使用 以及与基本数据类型变量间的运算 认识进制 常用运算符回顾之算术运算符、赋值运算符

    这是近期练习过的JavaSE基础源代码,含义注释及说明,适合复习Java基础使用,欢迎有需要的朋友下载交流学习。另外,热门专栏“Python从入门到人工智能”持续更新中,欢迎大家订阅学习和交流。

    Java领域基础部分JavaSE笔记

    Java数据类型和变量 控制流程语句(if-else, switch, for, while等) 数组和集合 面向对象编程(OOP)基础(类,对象,继承,封装,多态) 异常处理 泛型 基本的输入输出(I/O) 线程和并发 Java集合框架(List, Set...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    《Java程序设计案例教程》教学课件02Java语言基础.pptx

    03 掌握基本数据类型及数据类型转换。 05 掌握从控制台获取用户键盘输入数据的方法。 04 掌握运算符的分类和使用,以及表达式中运算符的优先级和结合性。 《Java程序设计案例教程》教学课件02Java语言基础全文共48...

    Java2游戏编程.pdf

    2.2.7 Java数据类型、数组和标识符需要记忆的要点 2.3 Java中的运算符 2.3.1 赋值运算符 2.3.2 比较运算符 2.3.3 算术运算符 2.3.4 自增和自减运算符 2.3.5 更多的整数运算符 2.3.6 使用点运算符 2.3.7 instanceof...

    JAVA基础课程讲义

    基本数据类型(primitive data type) 26 整型变量 26 浮点型 27 字符型(2个字节): 28 boolean类型 29 运算符(operator) 29 二元运算符 29 一元运算符 30 布尔逻辑表达符 30 位运算符 30 扩展运算符 31 字符串连接...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    5.3.1 数据类型 5.3.2 字长的考量 5.3.3 类装载器子系统 5.3.4 方法区 5.3.5 堆 5.3.6 程序计数器 5.3.7 java栈 5.3.8 栈帧 5.3.9 本地方法栈 5.3.10 执行引擎 5.3.11 本地方法接口...

    java 编程入门思考

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    java学习笔记 - 2

    1.回顾前一天知识 2.变量的声明,初始化及使用 3.java标识符的命名规则 4.八种基本数据类型的介绍 5.类型之间的转换

    Java初学者入门教学

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    java联想(中文)

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    Java基础复习笔记.docx

    从基本的数据类型、控制结构、函数和对象导向编程(OOP)原则,到异常处理、多线程编程和集合框架,所有这些核心主题都得到了详细的涵盖。 清晰的总结和示例:每个主题都有清晰的总结,有助于学习者迅速回顾并巩固...

    JAVA_Thinking in Java

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

    稳稳当当学java之java程序设计基础二(2).md

    本人的笔记,关于java程序设计基础二里的内容 包括 1.作业回顾 2.二进制,bit和字节 3.八种基本数据类型 4.数据类型的转换 5.算数运算符 6.自增自减运算符 7.比较运算符 8.逻辑运算符 9.三目运算符 10.练习

    Thinking in Java简体中文(全)

    2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 ...

Global site tag (gtag.js) - Google Analytics