Java程序的基本结构 -- 数据类型与变量范围

基本数据和引用数据

基本数据类型

No. 数据类型 大小/位 可表示的数据范围
1 long 64 -9223372036854774808 ~ 9223372036854774807
2 int 32 -2147483648 ~ 2147483647
3 short 16 -32768 ~ 32767
4 byte 8 -128 ~ 127
5 char 16 0 ~ 65536
6 float 32 3.402823e+38 ~ 1.401298e-45
7 double 64 1.797693e+308 ~ 4.9000000e-324
8 boolean - true / false

引用数据类型

  • 自己定义的(数组、类、接口)

基本数据类型间的转换

  • Boolean型不能和其他的基本类型相互转换
  • 代码中的整型数值默认为int类型
  • 代码中的浮点型数值默认为double类型
  • char类型本身是无符号,所以byte不能自动提升到char类型
  • char不会自动提升到short
  • byte可以直接提升到short
  • 自动类型提升
byte b = 4;
int x = 3;
x = x + b;// 自动类型提升
  • 强制类型转换
b1 = (byte)(b1 + 129);// 强制转换
  • 隐式类型转换
byte b1 = 3;// 隐式转换, 3为int类型4个8位, byte为1个8位, 3在byte的取值范围之内, 隐式转换为byte类型
  • Java编译器拿到的数值,默认类型是int,如果赋值给范围小于int的类型,编译器会自行判断,如果当前的数值超过了赋值目标的范围,这时就会报错,否则会自行转换成目标类型

原码、反码、补码

在计算机内部,所有信息都采用二进制表示,每个二进制由 0 和 1 两种状态,一个字节有 8位, 也就是由 8 个 0 或 1 构成,
如果 short 类型的 6 在计算机中是如何存储的, short 是两个字节, 那么
short 6 的二进制为: 00000000 00000110
int
类型的 6 在计算机中存储为 32 位: 00000000 00000000 00000000 00000110
十进制到二进制的换算
规则: 除 2 取余, 逆序输出
如 10 进制 6 二进制换算方式为:
6 / 2 = 3 余 0
3 / 2 = 1 余 1
1 / 2 = 0 余 1
将余数逆序输出就是 6 的二进制表示: 110 , 位数不够补零:00000110
二进制到十进制的换算
规则: 取出最后一位, 从 2 的 0 次方开始乘, 将得到的结果相加即可
如: 二进制的 110 进行十进制换算:
0 * 2 的 0 次方 = 0
1 * 2 的 1 次方 = 2
1 * 2 的 2 次方 = 4
110 的十进制为: 0 + 2 + 4 = 6
第一种理解方式(人类的理解方式)
原码 3
0000 0011
反码 3
1111 1100
补码 正3的补码 代表负3
1111 1101
正数存原码 负数存补码
另一种理解方式(计算机的理解方式)
正数的原码反码补码相同
负数用正数补码来表示
正数3原码 负数3原码
0000 0011 0000 0011
正数3反码 负数3反码
0000 0011 1111 1100
正数3补码 负数3补码
0000 0011 1111 1101
计算机只存补码

变量的范围

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

推荐阅读更多精彩内容

  • Java源码 Integer Integer的签名如下,继承了Number类并实现Comparable接口 Com...
    wngn123阅读 1,246评论 0 2
  • 进制基本概念 什么是进制?进制是一种计数的方式,数值的表示形式 常见的进制十进制、二进制、八进制、十六进制 进制书...
    极客江南阅读 2,008评论 0 11
  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 2,857评论 1 9
  • 进制基本概念 什么是进制?进制是一种计数的方式,数值的表示形式 常见的进制十进制、二进制、八进制、十六进制 进制书...
    低头看云阅读 837评论 0 1
  • 湖北早上的日出比较早,六点多太阳已直射进宿舍窗户,所以舍友们早早都起了床,洗漱后到早餐店吃了一份热干面配一杯豆浆,...
    小武柴房阅读 973评论 5 2