Java数据类型简述(主要是对于取值范围的理解)

说在前面:

    说起来其实挺有意思的,我大学刚开始是食品专业,在大二转到了数字媒体技术专业,当初一心想做自媒体,但在大三下半学期(今年年初)又开始学习前端,实习了几个月,然后又在今年12月份因为一些原因开始学习Java,之前完全没有接触过这门语言,与之前学的前端语言其实还差挺多的,之前没有写博客的习惯,但是感觉很是很有必要的,所以我写的东西可能都是从很基本开始写,还请各位大佬嘴下留情,有错误的地方还请指出来;对于跟我一样刚入门的同学,希望能对你有帮助,如果没帮助也没关系,大家一起努力~

正文:

之前做前端这边,因为JavaScript是弱类型语言,声明方法用function,其余的变量都可以用 var 来声明,无非就是在ES6加入了let、const这几种,但它们的区别只是作用域和是否可以修改(感觉像Java的final),跟声明变量的类型没有关系,还有一个class,之前没仔细看,但学了一点Java之后感觉就是Java的类声明。

但因为Java是一种强类型语言,这意味着必须为每一种变量声明一种类型。(而且因为是强类型,所以分号不能省略,JavaScript可以)

然后又分为基本类型和引用类型。(引用类型先不赘述,先来说下几种基本类型)

Java中,一共有8中基本类型,

(1)4种整型(分别为 byte、short、int、long)

(2)2种浮点类型(分别为float、double)

(3)1种用于表示Unicode编码的字符单元的字符类型( char )

(4)1种用于表示真值的类型( boolean )

这里就出现了JavaScript和Java的区别:

JavaScript声明一个整数

var i = 1;

JavaScript声明一个小数(浮点数)

var j = 1.1;

JavaScript做加法

var sum = i + j ;

console.log(sum);    (JavaScript的打印)

打印出2.1

而Java呢?

Java声明一个整数

int i = 1; (因为声明变量是整数,所以用整型声明,这里我们选int,几个的区别我们下面说)

Java声明一个小数(浮点数)

double j = 1.1; (因为声明变量是小数,所以用浮点类型声明,这里选double,区别也是下面说)

JavaScript做加法

double sum = i + j ;    (这里为什么用double,因为我们口算出结果是小数,如果这里用int,编译器会报错)

System.out.println(sum);    (Java的输出指令)

打印出2.1

从上面可以看出来,JavaScript作为弱类型语言,都用了var来声明

而Java则每个变量你都要清清楚楚地表明它的类型,否则编译器就会报错

下面就来说下4种整型和2种浮点型的区别:

首先是整型的不同:

类型        存储需求             取值范围

byte          1字节                -128 ~ 127(-2的7次方 ~ 2的7次方-1)

short         2字节                -32768 ~ 32767(-2的15次方 ~ 2的15次方-1)

int             4字节                -2的31次方 ~ 2的31次方-1

long          8字节                -2的63次方 ~ 2的63次方-1

存储需求和取值范围的关系是什么呢?

1字节(byte) = 8位(bit)

大家都知道计算机里是用2进制来进行存储

而且第1位还要用来表示正负,所以剩下7位用于数值的存储

所以取值范围就是2的“存储所占位数-1”次方幂

选择用哪个就看你声明变量的值,如果声明变量的值超过了取值范围,就会出错

而且考虑到占用内存的问题,能用小的就用小的(主要是因为以前的计算机内存少不够用)

默认整型是int,大概20亿,一般用这个

最后是浮点型的区别

类型        存储需求                取值范围

float            4字节            有效位数为6~7位

double        8字节            有效位数为15位

有效位数其实就是可以存储几位小数

默认浮点类型是double,一般float的精度很难满足需求,所以都用double

如果想用float声明变量,得在声明的数值后面加 f 或者 F ,否则编译器会报错

例如: float i = 1.1F;

char类型

这里简单地说一下这个类型

JavaScript的单引号与双引号,除了嵌套的规则其实两者没有很大的区别

但在Java里,‘A’是指编码值为65所对应的字符常量,他与“A”不同,“A”表示的是包含一个字符A的字符串。

布尔类型(boolean)

这个就没什么大的区别了,就是用来表示逻辑条件。


其实里面还牵扯到数据类型转换的问题,因为时间原因,先整理到这儿,这篇博客主要是想记录取值范围这边的东西,因为之前记忆的时候是死记,并没有理解其中的原理什么的,根本不清楚它们之间的关系。

其实要整理的东西还挺多的,但因为要实习,所以空闲时间也不多,抽时间再更吧,谢谢大家~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容

  • 第一类:逻辑型boolean 第二类:文本型char 第三类:整数型(byte、short、int、long) c...
    Jasonme阅读 1,064评论 0 4
  • 一、基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~1...
    CHEERW阅读 2,375评论 1 0
  • 早前看过一则类似笑话的小故事。 夫妻俩都是很懒的两个人,妻子不爱做饭,所以他俩的伙食基本都是在外解决,丈夫也乐于不...
    幻岭之漫阅读 280评论 5 8
  • C++中的多态性分为编译时多态性和运行时多态性,编译时多态通过函数重载和模板体现,运行多态通过虚函数体现编译、连接...
    GodsLeft阅读 447评论 0 1
  • 来源:校团委 |作者:汪昱坤 张家玮/文 王晗宇 杨乐涛/图 “老师,大学是什么样的,我们想去看看!” 为...
    西北农林科技大学阅读 487评论 0 0