作者: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. 一些常用的页面js收集

    //正则表达式 验证整数格式function checkInt(tint){ var re=/^[-]{0,1}[1-9]+[0-9]*]*$/; //判断字符串是否为数字 if (re.test(t ...

  2. MakeFile 文件的使用

    什么是Makefile? 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译, ...

  3. Vue 项目中添加全局过滤器以及全局混合mixin

    可以在.vue文件中定义局部使用的过滤器 export default{ data(){ return [] }, filters:{ toUpperCase:function(value){ ret ...

  4. calicoctl命令简介

    背景 在calico中,有多种网络资源.以v1.6.1为例,网络资源包含:node,bgpPeer,hostEndpoint,workloadEndpoint,ipPool,policy,profil ...

  5. C++学习笔记1-使用数组进行vector初始化

    另外,如果是定义的时候,可以直接指定复制.比如:int s[5]={1,2,3,4,5};vector<int> v(s,s+5);就可以啦.

  6. 爬虫库之BeautifulSoup学习(一)

    Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据. 官方解释如下: Beautiful Soup提供一些简单的.pytho ...

  7. WebService完成文件上传下载

    由于开发需要使用webservice,第一个接触的工具叫axis2.项目开发相关jar下载. service端: 启动类: import java.net.InetAddress; import ja ...

  8. java集合框架之几种set(HashSet LinkedHashSet TreeSet )

    参考http://how2j.cn/k/collection/collection-sets/691.html#nowhere HashSet LinkedHashSet TreeSet HashSe ...

  9. POJ - 2251 Dungeon Master 多维多方向BFS

    Dungeon Master You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is ...

  10. supervisor 启动 celery 及启动中的问题

    一.前言 本教程重点在于supervisor的配置过程,celery的安装配置请参考其他教程 二.安装supervisor 1.安装命令 pip install supervisor # superv ...