Java基本数据类型

为什么有数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间,可以合理的分配内存空间。比如你去买菜的时候需要用一个袋子来装菜,去家具城买家具需要用卡车来装家具,如果用袋子装家具,显然是不现实的,开卡车去装菜,也是资源的浪费。因此程序员在定义变量的时候,需要声明这个变量的数据类型,这样就会给这个变量开辟一块合理大小的内存区域,从而避免空间浪费。

Java中数据类型的分类

基本数据类型
引用数据类型

基本数据类型分类(4类8种)

整数型
byte 占一个字节 -128到127 (字节型)
short 占两个字节 -215~215-1 (短整型)
int 占四个字节 -231~231-1 (整型)
long 占八个字节 -263~263-1 (长整型)
浮点型
float 占四个字节 -3.403E38~3.403E38 单精度
double 占八个字节-1.798E308~1.798E308 双精度
字符型
char 占两个字节 0~65535
布尔型
boolean
boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
1gb=1024mb
1mb=1024kb
1kb=1024byte

public class DataType01{

    public static void main(String[] args){

        //将整数100赋值给i变量。
        int i = 100;

        //将整数888复制给l1变量
        long l1 = 888;

        //程序将2147483648看做int类型,但是这个数据本身已经超出了int的取值范围。
        //long l2 = 2147483648;报错error

        //正确的方法应该在后面加上L,这样就会把2147483648看做是long类型。
        //如果不加L的话,会把2147483648看成int类型,即默认会将整数的字面值看成是int类型
        long l3 = 2147483648L;


    }
}

请注意上面代码里面的

long l1 = 888;

这行是没有报错的。

这里面存在自动类型转换,会自动将int类型转换成long类型,即自动将int类型的888转换成为了long类型。

自动类型转换可以自动将int转成long,那么是否可以将long类型转成int类型呢?请看如下代码

public class DataType02{
 public static void main(String[] args){

        long l1 = 1000L;

        //如果想要将long类型转换成int类型,是不能自动类型转换.
        //int i1 = l1;错误error

        //需要强制类型转换,如下方式
        //程序在运行阶段可能损失精度,所以一定要谨慎使用。一般不建议这样使用。
        int i1 = (int)l1; //大容量向小容量转换,需要强制类型转换.

        //给byte类型赋值时,一定要注意byte的取值范围
        byte b2 = 127;

        //128本身已经超出了byte的取值范围。
        //byte b3 = 128;错误error

        //给short类型赋值时,一定要注意short的取值范围
        short s1 = 32767;
        //short s2 = 32768;错误error        

    }
}
如果想要将long类型转成int类型的话,需要进行强制类型转换,不过这种从大容量向小容量进行转换的时候要谨慎使用,有可能损失精度。

在浮点型里面也可以进行强制类型转换

/*
    关于浮点型:
        float  4个字节
        double 8个字节    
*/
public class DataType03{

    public static void main(String[] args){

        //3.14默认为double类型
        double d1 = 3.14;

        //float f1 = 1.5;错误error

        //因为1.5默认是double类型,从容量大向容量小的类型转换需要强制类型转换
        float f1 = (float)1.5;

        //直接声明1.5为float类型
        float f2 = 1.5F;    

    }
}

boolean类型的数据只有两个值:true/false

/*
关于java中的布尔类型:

    1.boolean类型的数据只有两个值:true/false。
    2.boolean类型的数据主要用在逻辑运算和条件控制语句中。
*/
public class DataType04{

    public static void main(String[] args){

        boolean flag = true;

        if(flag){
            System.out.println("对");
        }else{
            System.out.println("错");
        }    

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

推荐阅读更多精彩内容

  • 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间.内存管理系统根据变量的类型为变量分配存...
    海人为记阅读 434评论 0 0
  • 目录:1.基本数据类型2.引用数据类型 数据类型: Java语言是一个强类型语言 1.所有变量,必须先声明类型...
    Ansaxnsy阅读 986评论 0 7
  • 参照:http://www.runoob.com/java/java-basic-datatypes.html学习...
    ityanping阅读 402评论 0 1
  •   前两篇已经将开发环境搭建完成,如果你已经按之前的教程按部就班的完成了部署,那么世界上最优秀的编程语言之一和世界...
    弗兰克的猫阅读 140评论 0 0
  • Java中的类型转换在Java编码中具有重要的作用。首先,来了解下数据类型的基本理解:数据类型是用来描述数据的种类...
    时待吾阅读 1,329评论 0 2