作者:CHAITANYA SINGH

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

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

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

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

1
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)

例子:

1
2
3
4
5
6
7
8
9
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)

1
short num = 45678;

整数类型(int)

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

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

例子:

1
2
3
4
5
6
7
8
9
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)

例子:

1
2
3
4
5
6
7
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 这是初学者的教程";

Java中的数据类型——通过示例学习Java编程(5)的更多相关文章

  1. Java中的构造函数——通过示例学习Java编程(14)

      作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=25 构造函数是用来初始化新创建的对象的代码块. ...

  2. Java中的变量——通过示例学习Java编程(4)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=14&cid= 变量是用来存放可以更改的值的容 ...

  3. 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式

    今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...

  4. Java中基本数据类型和包装类

    参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内 ...

  5. Java中的数据类型及相互转换方法

    本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...

  6. java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;

    <java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...

  7. 讲说问题:|和||的区别以及&和&&的区别。2、Java中的数据类型分几类?基本数据类型有哪些?

    |和||的区别以及&和&&的区别. |或 为或运算 判断为逻辑或 || 为短路或 只有逻辑判断 当左侧为真不再继续判断 &与 为与运算 判断为逻辑与 && ...

  8. Hash Map 在java中的解释及示例

    目录 HashMap在java中的应用及示例 HashMap的内部结构 HashMap的性能 同步HashMap HashMap的构造函数 HashMap的时间复杂度 HashMap的方法 1. vo ...

  9. Java中关于数据类型的一些问题

    Java中关于数据类型的一些问题 总结一下最近笔试遇到的一些关于Java中数据类型的一些问题. 虽然比较基础,但在实际做题却很容易出错的点,而且往往这些题出错了会给面试官很不好的感觉:你的基础不好. ...

随机推荐

  1. BZOJ_1044_[HAOI2008]木棍分割_二分答案+DP+单调队列

    BZOJ_1044_[HAOI2008]木棍分割_二分答案+DP Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个 ...

  2. NLP | 自然语言处理 - 语言模型(Language Modeling)

    转:http://blog.csdn.net/lanxu_yy/article/details/29918015 为什么需要语言模型? 想象“语音识别”这样的场景,机器通过一定的算法将语音转换为文字, ...

  3. ARM之工作模式

    前言            以下内容是个人学习之后的感悟,转载请注明出处~ ARM工作模式 ARM工作模式根据功能不同,可分为7类: User Mode:用户模式.操作系统的Task一般以这种模式执行 ...

  4. cocos2d-x2.2+win7+vs2010+python安装配置

    个人网站http://www.ravedonut.com/ 1.安装vs2010 2.解压cocos2d-x,打开cocos2d-win32.vc2012.sln,编译,然后运行Hellocpp成功即 ...

  5. [poj2186]Popular Cows(targin缩点)

    题意:求其他所有牛都认为其牛的牛的个数. 解题关键:targin算法模板题,缩点形成一棵树,并不一定是棵树,可能含有多个入度为0的点,寻找出度为0的点(缩点之后的点)的个数,如果个数大于0,则无解,否 ...

  6. 面试lua笔试题各种坑

    替换字符串"abcdefgh" 中的"abc"为"ddc" local str ="abcdefgh"; b = str ...

  7. 模板 - 洲阁筛 + min25筛

    好像在某些情况下杜教筛会遇到瓶颈,先看着.暑假学一些和队友交错的知识的同时开这个大坑.

  8. hexo新建md文档推送到blog出错

    1. git错误提示 $ hexo g INFO Start processing FATAL Something's wrong. Maybe you can find the solution h ...

  9. forEach方法如何跳出循环

    1.for方法跳出循环 function getItemById(arr, id) { var item = null; for (var i = 0; i < arr.length; i++) ...

  10. HDU5920【模拟】

    模拟题这种东西啊~就是自己读题,自己打,没有别的方法...贴份6000+b的code跑: #include <bits/stdc++.h> using namespace std; //t ...