Java中的数据类型——通过示例学习Java编程(5)

Java中的数据类型

作者:CHAITANYA SINGH

来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=15

数据类型用来定义变量可以采用的值,例如,如果变量具有int数据类型,则它只能接受整数值。在java中,我们有两类数据类型:1)原始数据类型 2)非原始数据类型 - 数组和String是非原始数据类型,我们将在后面的教程中讨论它们。这里我们主要讨论Java中的原始数据类型(primitive data types)和字面量(literals)。

Java是一种静态类型化语言,意思就是程序在编译时必须知道变量的数据类型,这意味着在写代码的时候,您必须首先指定变量的类型(声明变量),然后才能使用这个变量。

在上一篇关于“Java变量”的教程中,我们学习了如何声明变量,让我们回忆一下:

int num;

所以,为了在我们的程序中使用变量num,我们必须首先声明它,如上面所示。在程序开始时首先声明所有变量(您将要使用的变量)是一个很好的编程习惯。

1)原始数据类型(Primitive data types)

在Java中,我们有八种原始数据类型:布尔类型(boolean)、字符类型(char)、字节类型(byte)、短整类型(short)、整数类型(int)、长整数类型(long)、单精度浮点型(float)、双精度浮点型(double)。在不同的操作系统中,这些原始数据类型的大小都是一样的,所以一旦Java开发人员在程序代码中选用了这些数据类型,这个程序就可以在不同的操作系统下面运行而不用担心数据类型的不符,这就是所谓的Java程序的可移植性。

字节型(byte)、短整型(short)、整型(int)、长整型(long)这四种数据类型用来存储整数。

浮点类型(float、double)用来存储包含小数的数据类型。浮点类型分为float(单精度型)和double(双精度类型)这两种。float(单精度型)一般在精度要求不高的时候使用。double(双精度类型)一般在数值精度高的时候使用。

字符类型(char)用来存储字符,比如说各种字母、特殊符号、等等。注意字母除了26个英文字母外,也可以是数字字母,如‘1’、‘2’、‘3’,等等。字符类型的值一般都放在单引号'或双引号"里面,如'a',"a",等等。

布尔类型(boolean)用来存储存储布尔变量的值。布尔变量的值只能在下面两个值中取其中的一个:true,false。true表示“是”或“真”,false表示“否”或“假”,所以对于布尔变量的值只有两个可能:“true”,或者“false”。

字节型(byte):

用来存储从-128到127之间的整数。如果我们知道变量的大小范围在这个范围之内,我们就把变量的数据类型定义为字节型(byte),这样可以节省在计算机内存中存储这个变量的值需要分配的空间。

需要内存空间大小:1字节(byte)

例子:

class JavaExample {

    public static void main(String[] args) {

        byte num;

        num = 113;

        System.out.println(num);

    }

}

输出:113

建议:通过将150个值赋值给变量num来尝试相同的程序,您将得到类型失配错误,因为值150超出了字节数据类型的范围。正如我前面提到的,字节的范围是-128到127。

短整型(short):

用来存储从-32,768到32767之间的整数。

需要内存空间大小:2字节(byte)

short num = 45678;

整数类型(int)

用来存储从-2,147,483,648到2,147,483,647之间的整数。

需要内存空间大小:4字节(byte)

例子:

class JavaExample {

    public static void main(String[] args) {

        short num;

        num = 150;

        System.out.println(num);

    }

}

输出:150

字节数据类型不能容纳整数值150,但短数据类型可以容纳,因为它的范围更广,可以容纳从-32,768到32767之间的整数。

长整型(long):

如果一个整数值的大小超过了整数类型(int)可以容纳的范围后,我们需要用长整型(long)的变量来存储这个超大整数值。长整型(long)可以用来容纳范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数值。

需要内存空间大小:8字节(byte)

例子:

class JavaExample {

    public static void main(String[] args) {

        long num = -12332252626L;

        System.out.println(num);

    }

}

输出:-12332252626

双精度浮点类型(double):

可以存储包含高达15位小数的数值。

需要内存空间:8字节(byte)

例子:

class JavaExample {

    public static void main(String[] args) {


        double num = -42937737.9d;

        System.out.println(num);

    }

}

输出:-4.29377379E7

单精度浮点类型(float):

可以容纳6至7位小数位数

需要内存空间:4字节(byte)

例子:

class JavaExample {

    public static void main(String[] args) {

        float num = 19.98f;

        System.out.println(num);

    }

}

输出:19.98

布尔型(boolean):

布尔型数据值只能是true或false。true表示“真”,false表示“假”。

例子:

class JavaExample {

    public static void main(String[] args) {

        boolean b = false;

        System.out.println(b);

    }

}

输出:false

字符类型(char):

存储字符,如各种字母、符合、数字符,等等

需要内存空间:2字节(byte)

例子:

class JavaExample {

    public static void main(String[] args) {

        char ch = 'Z';

        System.out.println(ch);

    }

}

输出:Z

Java的字面值(Literals in Java)

Java代码中的字面值(Literal)的意思就是按照字面上的意思去理解的数值。字面值(Literal)代表了一个固定的值,我们可以通过操作符=把字面值分配给程序中的一个变量。

int num=10;

这里的值10是一个整数字面值。

char ch = 'A';

这里A是一个字符字面值。

整数字面值(Integer Literal)

整数字面值可以赋值给以下的数据类型的变量:byte,、short,、int、long.

byte b = 100;

short s = 200;

int num = 13313131;

long l = 928389283L;

浮点字面值(Float Literals)

浮点字面值可以赋值给以下的数据类型的变量:float和double。

double num1 = 22.4;

float num2 = 22.4f;

注意:对于单精度浮点字面值,我们一定要记得加上“f”后缀,如果没有这个后缀,编译器在编译的时候会把它当做双精度浮点值来处理。

字符和字符串字面值(Char and String Literal)

字符和字符串字面值用于赋值给字符和字符串类型的变量。

char ch = 'Z';

String str = "This is Beginner's Book 这是初学者的教程";

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

推荐阅读更多精彩内容