Minecraft(我的世界)中文论坛

标题: JAVA语言零基础学习教程 第四章——数据类型

作者: 简单    时间: 2013-7-7 11:17
标题: JAVA语言零基础学习教程 第四章——数据类型
本帖最后由 简单 于 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 也能自动转换,原因是字符型数据可以整数型数据表示。
浮点数强制转换给整数型将会直接去掉小数点后的部分。

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




作者: 简单    时间: 2013-7-7 11:20
今天就不写了=。=忙活一上午了。。。
作者: 冰与火    时间: 2013-7-7 11:20
占沙发了····
作者: Emerson    时间: 2013-7-7 11:25
顶个..
作者: 巴黎没有摩天轮~    时间: 2013-8-19 07:54
和c差不多,
作者: 简单    时间: 2013-8-19 11:07
巴黎没有摩天轮~ 发表于 2013-8-19 07:54
和c差不多,

语法差不多,思想才太多
作者: xky1997xky    时间: 2014-1-28 18:14
“byte(字符类型) 8位 -182~127 ”     不是只有256吗   不该是-128~127吗?  打错了?
作者: 简单    时间: 2014-1-28 18:35
xky1997xky 发表于 2014-1-28 18:14
“byte(字符类型) 8位 -182~127 ”     不是只有256吗   不该是-128~127吗?  打错了? ...

恭喜你答对了。。。就是打错了。。
作者: StevenNight    时间: 2014-4-13 10:31
大概转义字符我只记得\n 和\ 了
数字类型 其实 单精度和双精度常用不  看了这么久JAVA教程 没见他用  
毕向东QAQ{:10_493:}
作者: 简单    时间: 2014-4-13 13:54
StevenNight 发表于 2014-4-13 10:31
大概转义字符我只记得\n 和\ 了
数字类型 其实 单精度和双精度常用不  看了这么久JAVA教程 没见他用  
毕向 ...

有些数据肯定是要用到浮点型的。
作者: Jim_game    时间: 2014-7-21 20:16
是false不是flase。我在这里意识到了Pascal的差劲----integer即java的short,short即Java的byte,pascal的byte是非负数。
作者: tsqdhh2    时间: 2014-7-22 00:27
继续学习这一章
作者: zzymax    时间: 2014-7-25 17:02
楼主,我刚学java,看网页上说char类型是16字节吧。
作者: 简单    时间: 2014-7-28 10:22
本帖最后由 简单 于 2014-7-28 10:25 编辑
zzymax 发表于 2014-7-25 17:02
楼主,我刚学java,看网页上说char类型是16字节吧。

。。char只表示一个字符,西文字符用asc码表示只用得到一个字节。——学C给学忘了,这里的char不是c的char,看楼下。
作者: 简单    时间: 2014-7-28 10:24
zzymax 发表于 2014-7-25 17:02
楼主,我刚学java,看网页上说char类型是16字节吧。

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

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

简直逗比了,0~65535刚好16位,我自己也弄糊涂了,我还在疑惑java的char干嘛弄这么大呢,UTF-16表,16位没问题,我写错了,已改。
作者: a824492020    时间: 2014-10-5 07:29
楼主是不是该贴个算值范围的公式
作者: 萝卜玩mc    时间: 2015-1-18 15:13
数据类型和unity里的一样.....
好像都是一样的
作者: Arobcher    时间: 2016-9-3 09:54
楼主我想知道 Byte是如何计算出64的过程
作者: 冻死的企鹅    时间: 2017-1-8 18:40






  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    时间: 2017-4-23 16:34
本帖最后由 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
具体因自行度娘

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