简单
本帖最后由 简单 于 2014-7-28 16:24 编辑

老的引导帖:http://www.mcbbs.net/thread-45650-1-1.html
新的引导帖: http://www.mcbbs.net/thread-138969-1-1.html

这里是第四章,数据类型
本章只需初步理解就可以了,大概给看一下,知道有那些数据类型。
首先我们要了解java中有那些数据类型
数据类型 所占位数 值范围
byte(字符类型) 8位 -128~127
short (短整型) 16 -32768~32767
int (整形) 32 -2147483648~2147483647
long (长整型) 64
float (单精度浮点数) 32
double (双精度浮点数) 32
char (字符)16 0~65335
boolean (布尔) 1 ture或flase


整形
是java中最常用到的数据类型,int在很多时候,系统会将byte和short自动升为int。

float
精度要求不高的浮点型,很少使用。

double
占用64位储存空间,精度较高,一般如果对小数点后的数值有要求就用这个。

char
储存字符的数据类型。
不常用
但我们要掌握转义字符的输入
下面是常用的转义字符表

示例代码:


最后一种,布尔类型
这个好理解,就是java用来判断正确与错误的一种数据类型,它是一个逻辑值,中有true和flase两个数据。
示例代码 :


数据类型的转换
讲完了数据类型,那么,如果遇到不同类型数据之间的运算可以直接进行吗?
答案是,部分可以。
在java中,两种数据兼容,就可以直接进行运算。这个"兼容"也比较好理解比如,byte数据比int数据容量小,将byte数据赋值给int数据,无论如何都不可能出现丢失数据的情况,这时系统就会进行自动转换。否则就需要通过手动强制转换。

我们再来介绍几个强制转换与自动转换的数据。
除了byte int long 之间的转换符合开头写的规则外,char与int byte long 也能自动转换,原因是字符型数据可以整数型数据表示。
浮点数强制转换给整数型将会直接去掉小数点后的部分。

好了,本章就到这里了,本来准备把量也写上,但是一看这也太多了=。=留给下一章吧。
下一章 第五章 量与标示符、关键字




简单
今天就不写了=。=忙活一上午了。。。

冰与火
占沙发了····

Emerson
顶个..

巴黎没有摩天轮~
和c差不多,

简单
巴黎没有摩天轮~ 发表于 2013-8-19 07:54
和c差不多,

语法差不多,思想才太多

xky1997xky
“byte(字符类型) 8位 -182~127 ”     不是只有256吗   不该是-128~127吗?  打错了?

简单
xky1997xky 发表于 2014-1-28 18:14
“byte(字符类型) 8位 -182~127 ”     不是只有256吗   不该是-128~127吗?  打错了? ...

恭喜你答对了。。。就是打错了。。

StevenNight
大概转义字符我只记得\n 和\ 了
数字类型 其实 单精度和双精度常用不  看了这么久JAVA教程 没见他用  
毕向东QAQ{:10_493:}

简单
StevenNight 发表于 2014-4-13 10:31
大概转义字符我只记得\n 和\ 了
数字类型 其实 单精度和双精度常用不  看了这么久JAVA教程 没见他用  
毕向 ...

有些数据肯定是要用到浮点型的。

Jim_game
是false不是flase。我在这里意识到了Pascal的差劲----integer即java的short,short即Java的byte,pascal的byte是非负数。

tsqdhh2
继续学习这一章

zzymax
楼主,我刚学java,看网页上说char类型是16字节吧。

简单
本帖最后由 简单 于 2014-7-28 10:25 编辑
zzymax 发表于 2014-7-25 17:02
楼主,我刚学java,看网页上说char类型是16字节吧。

。。char只表示一个字符,西文字符用asc码表示只用得到一个字节。——学C给学忘了,这里的char不是c的char,看楼下。

简单
zzymax 发表于 2014-7-25 17:02
楼主,我刚学java,看网页上说char类型是16字节吧。

抱歉,如果是16字节那就对应的应该是64位java,那样倒是有可能是16个字节。

zzymax
简单 发表于 2014-7-28 10:24
抱歉,如果是16字节那就对应的应该是64位java,那样倒是有可能是16个字节。 ...

哦不,说错了。是两个字节,也就是16个bit

简单
zzymax 发表于 2014-7-28 16:11
哦不,说错了。是两个字节,也就是16个bit

简直逗比了,0~65535刚好16位,我自己也弄糊涂了,我还在疑惑java的char干嘛弄这么大呢,UTF-16表,16位没问题,我写错了,已改。

a824492020
楼主是不是该贴个算值范围的公式

萝卜玩mc
数据类型和unity里的一样.....
好像都是一样的

Arobcher
楼主我想知道 Byte是如何计算出64的过程

冻死的企鹅






  1. 01.public class hello {

  2. 02.        

  3. 03.        public static void main(String[] args){

  4. 04.                System.out.println("转义字符\r换行");

  5. 05.               

  6. 06.        }

  7. 07.}


复制代码

E:\基础minecraft1.7.2\MC综合>java hello
换行字符

ssr1353359550
long的范围是:
-9223372036854775808到9223372036854775807
计算方法:
正数:2的63次方减1
负数:2的63次方前加一个“-”
再大就要用字符串来表示了

ssr1353359550
本帖最后由 ssr1353359550 于 2017-4-23 16:43 编辑
ssr1353359550 发表于 2017-4-23 16:35
long的范围是:
-9223372036854775808到9223372036854775807
计算方法:

我在加一个整数范围计算公式:
最大值:先用8乘上整数类型所给的最大空间(单位字节)再减1,然后是2的这个数的次方再减1
最小值:先用8乘上整数类型所给的最大空间(单位字节)再减1,然后是2的这个数的次方在其结果的前面加一个“-”
如int:4乘8减1等于31,2的31次方等于2147483648,再减1等于最大值—— 2147483647,而再其前加一个“-”就是最小值—— -2147483648
byte:1个字节
int:4个字节
short:2个字节
long:8个字节
乘上八的原因:
因为计算机的二进制,最小的单位是位(bit),而位与字节的进率是8
并且机智的印度人提出了“-128”这个观点,所以最大值要减1
具体因自行度娘

第一页 上一页 下一页 最后一页