Java基本数据类型?

Python012

Java基本数据类型?,第1张

一、基本数据类型

byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0

short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0

int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0

long:长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L

float:浮点型,在内存中占32位,即4个字节,用于存储带小数点的数字(与double的区别在于float类型有效小数点只有6~7位),默认值0

double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节,默认值0

char:字符型,用于存储单个字符,占16位,即2个字节,取值范围0~65535,默认值为空

boolean:布尔类型,占1个字节,用于判断真或假(仅有两个值,即true、false),默认值false

二、Java数据类型基本概念:

数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。

基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。

引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。

三、Java中的数据类型与内存的关系

在Java中,每个存放数据的变量都是有类型的,如:

charchfloatxinta,b,c

ch是字符型的,就会分配到2个字节内存。不同类型的变量在内存中分配的字节数不同,同时存储方式也是不同的。

所以给变量赋值前需要先确定变量的类型,确定了变量的类型,即确定了数据需分配内存空间的大小,数据在内存的存储方式。

四、Java数据类型在内存中的存储:

1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型

2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,昆明北大青鸟http://www.kmbdqn.cn/认为“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的。

1. 入门级

针对刚入门的同学,建议不要急着去看那些经典书,像《算法导论》、《算法》这些比较经典、权威的书。虽然书很好,但看起来很费劲,如果看不完,效果会很不好。所以建议先看两本入门级的趣味书:

《大话数据结构

《算法图解》

大话数据结构

将理论讲的很有趣,不枯燥。作者结合生活中的例子去对每个数据结构和算法进行讲解,让人通俗易懂。

算法图解

这是一本像小说一样有趣的算法入门书,书中有大量的图解,通俗易懂。

看完上面一本或两本入门级的书,你就会对数据结构和算法有个大概认识和学习。但这些入门级的书缺少细节、不够系统。所以想要深入的学习数据结构和算法,光看这两本书肯定是不够的。

2. 不同语言的教科书

国内外很多大学都是将《数据结构和算法分析》作为教科书。这本书非常系统、严谨、全面,难度适中,很适合对数据结构和算法有些了解,并且已经掌握了至少一门语言的同学学习。针对不同的语言,分别有:

《数据结构与算法分析:C语言描述》

《数据结构与算法分析:C++描述》

《数据结构与算法分析:java语言描述》

如果你不会C、C++、java,会Python或者JavaScript,可以看:

《数据结构与算法JavaScript描述》

《数据结构与算法:Python语言描述》

3. 面试书籍

现在很多大厂的面试都会考算法题,这里推荐几本面试算法书籍:

《剑指offer》

《编程珠玑》

《编程之美》

剑指offer

为面试算法量身定做的一本书。几乎包含了所有常见的、经典的面试题,如果能搞懂书里面的内容,一般公司的算法面试都应该没问题。

编程珠玑

这本书豆瓣评分有9分,评分很高。这本书最大的特色是讲了很多海量数据的处理技巧。其他算法书籍很少涉及海量数据。

编程之美

有些作者是微软工程师,算法题目较难,比较适合要面试Google、Facebook这样的公司的人去看。

4. 经典书籍

现在数据结构与算法最经典的书籍就是:

《算法导论》

《算法》

《计算机程序设计艺术》

这三本书非常经典,但都很厚,看起来比较费劲,估计很少有人能全部看完。但如果想更深入地学一遍数据结构和算法,还是建议去看看。

算法导论

章节安排不是循序渐进,里面有各种算法正确性、复杂度的证明、推导,对数学功底有一定要求,看起来有些费劲。

算法

偏重讲算法。内容不够全面,对数据结构方面的知识讲的不多,动态规划这么重要的知识点却没有讲。

计算机程序设计艺术

这本书包括很多卷,相比于其他书籍有更好的深度、广度、系统性和全面性。但如果你对数据结构和算法不是特别感兴趣,没有很好的数学、算法、计算机基础,很难把这本书读完、读懂。

5. 课外阅读

有些算法书籍也比较适合在平时悠闲的时候翻翻看看:

《算法帝国》

《数学之美》

《算法之美》

这些书都列举了大量的列子来解释说明,非常通俗易懂。

四种八类:

基本数据类型

整数类型:

byte:字节占用 1字节   8位,用来表达最小的数据单位,储存数据长度为 正负 127;

short:字节占用 2字节 16位,储存数值长度为 -32768-32767

int:字节占用 4字节     32位,最为常用的整数类型,储存长度为,-2^31-1~2^31  (21 亿)

long:字节占用 8字节  64位,当到达int数值极限时使用,储存长度为 看图片:

         

         

浮点数类型:

float:单精度浮点型    32位  取值范围  3.4e-38~3.4e-38

double:双精度浮点型   64位  ,java中默认的浮点类型   取值范围 1.7e-308~1.7e-308

字符类型:

char:16位  ,java字符使用Unicode编码;

布尔类型

boolean : true 真  和 false 假

引用数据类型:

类 class

接口 interface

数组