学习笔记(十六)


基本数据类型

  • 字符型:char
  • 整数型:byte  short  int  long
  • 浮点型:float double
  • 布尔型:boolean

字符型:char

1、char占用两个字节

2、char的取值范围:[0~65535]

3、char类型的字面量使用单引号括起来。

5、char可以存储一个汉字。

整数型 :

整数型在java语言中共有4种类型:

byte 1个字节

short 2个字节

int  4个字节

long 8个字节

对于以上四个类型,最常用的是int。(2147483647是int最大值)开发时不用斤斤计较,大多数情况下int就够用了。

在java语言中整数型字面量有四种表示形式:

十进制 (最常用)

二进制

八进制

十六进制

注:在任何情况下,整数型的“字面量/数据”默认被当做int类型处理。如果希望该“整数型字面量”被当做long类型处理,需要在“字面量”后面添加“L/1”。

自动类型转换

小容量可以直接赋值给大容量,称为自动类型转换。大容量不允许直接赋值给小容量。

大容量转换成小容量,要想编译通过,必须加强制类型转换符,进行强制类型转换。需要注意的是,加强制类型转换符进行转换后,虽然编译通过了,但是运行的时候可能会损失精度。

long类型100L:00000000 00000000 00000000 00000000 00000000 00000000 00000000 01100100

以上的long类型100L强转为int类型,会自动将“前面”的4个字节砍掉:00000000 00000000 00000000 01100100

java中有一个语法规则:
        当这个整数型字面量没有超出byte的取值范围,那么这个整数型字面量可以直接赋值给byte类型的变量。这种语法机制是为了方便写代码,而存在的。

但实际上可以编译通过。

整数型直接赋值给char

char x = 97;

这个java语句是允许的,并且输出的结果是'a'

97是int类型(这是java中规定,默认当做int处理),c2是char类型,但是当一个整数赋值给char类型变量的时候,会自动转换成char字符型。

char c2 = (char)97;//不需要这么写

注:char的取值范围是[0~65535],超过后会报错:错误: 不兼容的类型: 从int转换到char可能会有损失。

同样的,当一个整数没有超出byte short char的取值范围的时候,这个整数可以直接赋值给byte short char类型的变量。

浮点型:float  double

1、float  4个字节      double 8个字节

2、float是单精度      double是双精度,double更精确。

比如说,10/3,如果用float来存储的话可能是:3.3333,如果用double来存储的话,可能是3.33333333

但需要注意的是,如果用在财务方面,double也是远远不够的。在java中提供了一种精度更高的类型,这种类型专门使用在财务方面:java.math.BigDecimal(后期介绍,不是基本数据类型,是引用数据类型。)

3、float和double存储数据的时候都是存储的近似值,例如无限循环小数3.33333......。但计算机的内存有限,用一个有限的资源表示无限的数据,只能存储近似值。

4、long类型占用8个字节,float占用4个字节,哪个容量大?float。

任意一个浮点型都比整数型空间大。(和java底层有关)

5、java中规定,任意一个浮点型数据默认当做double来处理,如果想让这个浮点字面量被当做double来处理,那么请在字面量后面添加F/f。

1.0 被默认为当成double类型处理,

1.0F(1.0f)是float类型。

布尔型:

1、在Java中,boolean类型只有两个值:true和false。

2、Boolean类型在实际开发中使用放在哪里?

使用在逻辑判断中,通常放在条件的位置上(充当条件)

类型转换

在类型转换中,要遵守以下规则:

1、八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以进行转换;

2、如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值给 byte,short,char 类型的变量;

3、小容量向大容量转换称为自动类型转换,容量从小到大的排序为:byte < short(char) < int < long < float < double,其中 short和 char 都占用两个字节,但是char 可以表示更大 的正整数;

4、大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但 运行时可能出现精度损失,谨慎使用;

5、 byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算;

6、 多种数据类型混合运算,各自先转换成容量最大的那一种再做运算;

问题:long占八个字节,float占四个字节,为什么float容量比long大?

小数和整数的存储在底层原理上是由区别的。有一个明显的例子是long类型数据转float类型数据有时会发生精度缺失。

笔记(十六)Java八种基本数据类型、赋值与类型转换相关推荐

  1. java八种基本数据类型及包装类详解

    详解一.八种基本数据类型常识 1.1.基本常识表 对于上图有以下几点需要注意: java八种基本数据类型分为四类八种,四类分别为整型.浮点型.布尔型.字符型:八种分别为byte.short.int.l ...

  2. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?

    参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...

  3. 关于Java八种原始数据类型

    关于Java八种原始数据类型 Java八种原始数据类型 int类型 八进制 十六进制 浮点数类型 布尔类型 字符类型 Java八种原始数据类型 Java中的原始数据类型一共有八种,分别为byte(8b ...

  4. Java八种基本数据类型对应的包装类

    目录 前言: 八种基本数据类型对应的包装类: 包装类的常用方法: 有关包装类的注意事项: 参考文献: 前言: 思考:有没有这种需求:调用doSome()方法的时候需要传一个数字进去.但是数字属于基本数 ...

  5. Java八种基本数据类型定义与取值范围

    基本数据类型也称为简单数据类型,Java语言中有八种基本数据类型, 分别为 boolean.byte.short.char.int.long.float.double,这八种基本数据类型通常分为四大类 ...

  6. Java八种基本数据类型

    基本数据类型 Java八种基本数据类型 1)四种整数类型(byte.short.int.long):(注意: 一个字节byte = 8位bit) !    byte:8 位,用于表示最小数据单位,如文 ...

  7. JAVA八种基本数据类型+三种引用数据类型

    一.Java八种基本数据类型 在程序设计中经常用到一系列类型,把它们存储在堆栈中,加快程序的运行效率,它们就是基本数据类型.Java提供了8中基本数据类型,分别是:boolean.char.byte. ...

  8. Java八种基本数据类型(图文详解)

    Java八种基本数据类型 Java八种数据类型 Java八种数据类型的分类(图) 基本数据类型分为三大类 ①数值型 ②字符型 ③布尔型 数值型 整数类型(byte,short,int,long) 浮点 ...

  9. Java基础学习总结(122)——Java八种基本数据类型的包装类及其装箱拆箱详解

    前言 Java语言是面向对象编程语言,但不是纯面向对象语言.其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备"对象"的特性--不携带属性.没有方法可调用. 沿用它们 ...

最新文章

  1. Windows服务器部分告一段落,开始转入Linux
  2. OpenStack工作流服务Mistral简介
  3. IP头中的校验和计算方法介绍
  4. 【瞎扯】我的OI之路
  5. php idwork,idwork.php
  6. dhtmlXGrid复选框点击事件
  7. ansys变形太夸张_航母上的一颗铆钉能换一辆奥迪?太奢侈了
  8. r语言library什么意思_医学统计与R语言:百分条图与雷达图
  9. Asp.Net中备份还原SqlServer数据库
  10. 康德的道德观与哲学观
  11. 玩转USB HID系列:USB先导知识简明
  12. 单片机c语言论文,基于51单片机的C语言程序设计论文.doc
  13. IE下载xlsx、docx、pptx文件时自动变成zip文件问题
  14. 通过python爬虫程序爬取未来几日的天气状况
  15. 南阳理工计算机与信息工程学院,南阳理工学院计算机与信息工程学院
  16. 【机器人学习】平台并联机构matlab逆解
  17. 三角函数π/2转化_三角函数求值问题
  18. 网络编程(6)--------javaweb(TCP协议)
  19. win10任务栏自动隐藏失效
  20. PIXI_锚点图片位控

热门文章

  1. 中国矿产资源产业规划与投资前景预测分析报告2022-2027年
  2. 国产操作系统之银河麒麟服务器版V10安装
  3. delphi FastReport经验
  4. Unit 5: Windows Acquisition 5.1 Windows Acquisition Windows Forensic Imaging of Drives
  5. Java调用和风天气台API查看天气
  6. VUE+Cesium 初始化地球,加载三维模型(.glb),绘制轨迹线,homebutton 按键重写(默认定位位置的设置)
  7. 骷髅峡谷,转苹果网卡做黑苹果macOS系统还是装WIFI6网卡ax200?
  8. 【 Java基础】试试通俗易懂的Lambda表达式?
  9. [ 多智能体网络中的图论方法汉化 ] (一)前言第一章
  10. Linux内核4.14版本——SPI NOR子系统(3)——cadence-quadspi.c分析