Java学习—4基本数据类型

数据类型指一个类型和定义在这个类型上的操作的集合。

如同所有编程语言,Java的基本数据类型也一样。

数据类型很重要,因为确定了数据类型就可以确定其可以参加的运算和其取值范围。

今天介绍基本的数据类型,包括整型、浮点型、字符型和布尔类型。

1、整数类型

即是数学中的整数,亦即不包含小数点的数。

Java中有四种整数类型,byte,short,int,long.

(1)      byte字节型

它即为占1个字节的整数。

取值范围为:-128~127。

(2)      short类型

它即为占2个字节的整数。

取值范围为:-32768~32767。

(3)      int整型

它即为占4个字节的整数。

取值范围为:-2147483648~2147483647。

(4)      long长整型

它即为占8个字节的整数。

取值范围为:-263~263-1。

同为整数类型,但其取值范围并不相同,所以在定义变量的时候,要注意它能存储的最大值是多少,再据此决定其数据类型。

注:java也提供其他进制的表示形式。

(1)      八进制:以0为前缀,后跟八进制数字。

(2)      十六进制:以0X或0x为前缀,后跟十六进制数字。

在输出时,Java可以自动将其转化为我们熟悉的十进制,如图所示:

2、浮点数类型

即为数学中带小数点的数。

有两种:float和double。

(1)    float类型(单精度浮点数)

其用4个字节表示,取值范围正负数有所不同。

负数为:-3.4028234663852886*1038~-1.40129846432481707*10-45

正数为:1.40129846432481707*10-45~3.4028234663852886*1038

(2)    double类型(双精度浮点数)

其用8个字节表示,取值范围如下。

负数为:-1.7976931348623157*10308~-4.94065645841246544*10-324

正数为:4.94065645841246544*10-324~1.7976931348623157*10308

3、布尔类型boolean

Boolean表示逻辑量,只有两个值:true和false。

此类型在条件表达式中用途颇广。

4、  字符类型char

占2字节。

用单引号’’括起来。

包括:字母、数字、符号等。

比较特殊的字符,如换行、回车、单引号等需要用转义字符才能输出,如图所示:

图中\t为制表符。

5、类型转换

在很多运算中,我们经常会遇到要将int类型转换为float类型,或者将double类型转换为int类型的情况。

Java中分两种方式解决此问题:

(1)      自动类型转换

此种情况不需要我们去修改代码。Java会自动帮你修改,比如:

int i=2;

float a=i;

它会自动将i转换为float类型然后输出。

原则就是:从占用字节数少的向占用多的自动转换。如可以从byte到short,从int到long,从int到float,从float到double。

但是,反向是不允许的,这就需要用到强制类型转换。

(2)      强制类型转换

例:foat i=2.4;

int j=(int)i;

此段代码会将i强制转换为int类型然后赋值给j。

需要注意的是,在强制类型转换时,有可能会丢失精度,如上例:(int)i之后的结果是2,省去了小数点后的数据。

(0)

相关推荐

  • 基础语法第2关笔记

      一.Python 核心知识框架 Python 的核心知识板块包括:数据类型,控制流,函数,模块,类.   数据类型:程序本质上是在操作和处理数据,Python 中所有数据都属于某种数据类型 ...

  • 面试官:Java 中有几种基本数据类型是什么?各自占用多少字节?

    认识基本数据类型 在学习基本数据类型之前,我们先认识一下这两个单词: 1.bit --位:位是计算机中存储数据的最小单位,指二进制数中的一个位数,其值为"0"或"1&qu ...

  • 什么是NumPy?数据类型有哪些?

    NumPy是Python常用的第三方库,功能强大.用途广泛,多见于科学计算.数据分析等领域.那么什么是NumPy?NumPy的数据类型有哪些呢?我们一起来看看吧. 什么是NumPy? NumPy是Py ...

  • Java学习-注解和反射

    注解 java.Annotation Annotation的作用:可以呗其他程序读取 Annotation的格式 注解是:@注释名 在代码中存在,还可以添加一些参数 ​@SuppressWarning ...

  • Java学习-多线程

    多线程 任务(Task).进程(Process).线程(Thread) 进程的创建 1.继承Thread类 自定义线程类继承Thread类 重写run()方法,编写线程执行体 创建线程对象,调用sta ...

  • Java学习-Mybatis

    Mybatis Maven依赖: <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependenc ...

  • Java 学习笔记

    您对计算机(电脑)有了解吗? 计算机组成 系统软件 直接和硬件交互的软件叫系统软件,例如 win7.win8.Linux.mac等操作系统 应用软件 通常在运行在系统软件上,也就是在系统软件上开发的软 ...

  • Java学习-126.2048代码

    本篇帖的是按钮的代码. 因为按钮比较多,包括菜单项的动作,为了区分,我用了两个内部类来实现这两部分代码. //本类是Game_2048类的内部类,用来实现上.下.左.右四个按钮,以及重新开始和退出游戏 ...

  • Java学习—125.2048代码

    本篇帖的是部分动作代码. 每个方法前都有注释说明本方法的功能. //随机选取一个位置,并填入数字2.如果此位置中已有数字,那么换一个位置. public void rule(){ x=ran.next ...

  • Java学习—124.2048代码

    游戏的主界面的代码在类game_2048中. 本类主要包括两个方面: 一是布局. 二是动作,按钮的动作. 其中,动作又有菜单动作,按钮动作.而按钮动作又有多方面,在下一篇的代码中会有注释说明. 本篇帖 ...

  • Java学习—123.2048小游戏

    好久又没出现了,还好后台也没几条信息,我也不至于很愧疚,只是人气不太旺盛,好尴尬 最近稍微有点忙,也是自己放松了一下,哈哈...... 抱歉一下,之前给我信息的各位亲,由于时间有点久,我就不一一回复了 ...

  • Java学习—问题

    上个月参加了一个考试,然后面试,准备.折腾了好久时间,身心俱疲,也没有更新公众号,后台有好多留言,但时间已过,我已经回不了了 请各位见谅...... 在后台看到一个小伙伴的留言,要解决一个问题, 本篇 ...