Java中的数据类型——通过示例学习Java编程(5)
作者: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)的更多相关文章
- Java中的构造函数——通过示例学习Java编程(14)
作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=25 构造函数是用来初始化新创建的对象的代码块. ...
- Java中的变量——通过示例学习Java编程(4)
作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=14&cid= 变量是用来存放可以更改的值的容 ...
- 零基础学习java------day2------关键字、标志符、常量、进制键的转换、java中的数据类型、强制类型转换的格式
今日内容要求: 1. 了解关键字的概念及特点,了解保留字 2. 熟练掌握标识符的含义,特点,可使用字符及注意事项 3. 了解常量的概念,进制,进制之间相互转换,了解有符号标识法的运算方式 4. 掌握变 ...
- Java中基本数据类型和包装类
参考:深入剖析Java中的装箱和拆箱; Java中基本数据类型和包装类互转中 缓冲机制的使用; java学习笔记:装箱和拆箱,包装器和缓冲池 Java 各 类型数据在内存中分配情况详解 一 java内 ...
- Java中的数据类型及相互转换方法
本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...
- java中的数据类型,运算符,字符串,输入输出,控制流,大数值,数组; 《java核心技术卷i》 第三章:java基本程序结构;
<java核心技术卷i> 第三章:java基本程序结构: 每次看书,去总结的时候,总会发现一些新的东西,这次对于java的数组有了更深的了解: java中的数据类型,运算符,字符串,输入输 ...
- 讲说问题:|和||的区别以及&和&&的区别。2、Java中的数据类型分几类?基本数据类型有哪些?
|和||的区别以及&和&&的区别. |或 为或运算 判断为逻辑或 || 为短路或 只有逻辑判断 当左侧为真不再继续判断 &与 为与运算 判断为逻辑与 && ...
- Hash Map 在java中的解释及示例
目录 HashMap在java中的应用及示例 HashMap的内部结构 HashMap的性能 同步HashMap HashMap的构造函数 HashMap的时间复杂度 HashMap的方法 1. vo ...
- Java中关于数据类型的一些问题
Java中关于数据类型的一些问题 总结一下最近笔试遇到的一些关于Java中数据类型的一些问题. 虽然比较基础,但在实际做题却很容易出错的点,而且往往这些题出错了会给面试官很不好的感觉:你的基础不好. ...
随机推荐
- 值域线段树 (玲珑OJ 1117)
点击打开题目链接 题目意思很简单: 1.插入x 2.把小于x的数变成x 3.把大于x的数变成x 4.求集合中第x小数 5.求集合中小于x的数个数 思路: 线段树,节点是值的分数,你可以离散,也可以不离 ...
- 骨牌覆盖问题 KxM
前面我们说了一些简单的骨牌覆盖问题,有了上面的经验,我们可以尝试解决K*M的 思路和上一篇文章所提到的3*N的 很类似: 依然是矩阵快速幂.我们需要把一个小的边固定下来作为的已知边,然后进行矩阵快速幂 ...
- centos服务器安装配置Postgre9.6
安装: STEP1:下载对应rpm yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64 ...
- MFC中显示一张位图
1.用类CBitmap加载位图 2.创建内存DC, 将位图选进此内存DC 3.调用BitBlt将内存DC的内容拷贝到其它DC(通知是显示DC) 例子(来自MSDN): // This OnDraw() ...
- [POI 2000] 病毒
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2938 [算法] 首先建出给定字符串集的AC自动机 存在无限长的代码当且仅当 : AC ...
- c++之cin/cin.get/cin.getline()详解
C++输入过程中,是把输入加载到缓冲区中,然后对缓冲区中的字符进行读取.cin,cin,get(),cin.getline()三个函数虽然都能进行数据读取,但是它们对缓冲区内数据的处理方法是不同的(如 ...
- CodeForces 1111E. Tree
题目简述:给定$n \leq 10^5$个节点的无根树,以及$q \leq 10^5$个询问.每个询问给定$k \leq 10^5$个不同的节点$a_1, a_2, \dots, a_k$,以及参数$ ...
- SSE2介绍及其简单用法举例
http://blog.csdn.net/fengbingchun/article/details/18515241
- c语言编译器内置宏
注:转自http://www.cnblogs.com/lixiaohui-ambition/archive/2012/08/21/2649052.html 感谢分享 前言: 我们在写程序的时候,总是 ...
- Lombok减少代码冗余量
Eclipse需要安装,具体用法见: https://projectlombok.org/ 用maven project的朋友,一定要记得安装到IED里面才能使用,不然无法直接使用哦 从此以后和get ...