数据类型

PS:平常生活中,也会用到一些数据的类型,例如:数字、字符(文字)、是、非,且数字分为整数和小数,在Java中也是和生活中一样,有属于自己的数据类型,Java种有八大基本数据类型和一些引用类型。

什么是字节?什么是位?

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来进行表示
  • 1B(byte字节) = 8bit(位)
  • 字符:是指计算机中使用的字母、数字、字和符号
  • 1bit表示1位
  • 1Byte表示1个字节,1B=8bit

单位换算

  • 1B=8bit
  • 1024B=1KB
  • 1024KB=1M
  • 1024M=1G
  • 1024G=1TB
  • 1024T=1P
  • 1024P=1E
  • 1024E=1Z
  • 1024Z=1Y
  • 1024Y=1BB
  • 1024BB=1NB
  • 1024NB=1DB

基本类型(primitive type)

数值类型

整数类型

  • byte占1个字段,其长度范围:-128~127
  • short占2个字节,其长度范围:-32768~32767
  • int占4个字节,其长度范围:-2147483648~2147483647
  • long占8个字节,其长度范围:-9223372036854775808~9223372036854775807

浮点类型

  • float占4个字节
  • double占8个字节

字符类型

  • char占2个字节

boolean类型

  • boolean类型也叫布尔类型,占1位,其值只有true和false
public class DataType {public static void main(String[] args) {// 八大基本数据类型// 数值类型// 整数类型int num1 = 10;byte num2 = 20;short num3 = 30;// Long类型要在数字后面加个Llong num4 = 30L;// 小数:浮点数,float类型要在数据后面加个Ffloat num5 = 55.5F;double num6 = 3.141592653;// 字符,只能给一个字符char str1 = '中';// 布尔值:是非boolean isFlag1 = true;boolean isFlag2 = false;}
}

引用类型(reference type)

  • 接口
  • 数组

数据类型拓展

PS:平常生活中我们使用的都是十进制,计算机使用的是二进制

public class DataTypeExpansion {public static void main(String[] args) {// 一、整数知识拓展     进制      二进制0b     十进制0     八进制0     十六进制0xint i1 = 10; // 十进制int i2 = 010; // 八进制int i3 = 0x10; // 十六进制 0~9 A~Fint i4 = 0x11; // 十六进制 0~9 A~FSystem.out.println(i1); // 输出结果10System.out.println(i2); // 输出结果8System.out.println(i3); // 输出结果16System.out.println(i4); // 输出结果17System.out.println("=============================");// 二、浮点数知识拓展// 不能使用float和double去进行计算和比较,会出现精度丢失问题// 涉及金钱业务都需要使用BigDecimal类去进行计算和比较// 以小数0,1举例float f1 = 0.1f;double d1 = 1.0 / 10;System.out.println(f1 == d1);// 输出falseSystem.out.println(f1);// 输出0.1System.out.println(d1);// 输出0.1float f2 = 42253425362f;float f3 = f2 + 1;System.out.println(f2 == f3);//输出结果true,两个结果本应该不相等,但是现在相等了// float 长度有限,且离散,存在舍入误差,只能表示接近但是不等于System.out.println("=============================");// 三、字符知识拓展char c1 = 'a';char c2 = '王';// 变量前加上圆括号并在括号中写上数据类型,这种方式叫做强制转换// 这是固定写法,后续会讲到,先有个认识System.out.println(c1);// 输出aSystem.out.println((int) c1); // 输出97,强制转换System.out.println(c2);// 王System.out.println((int) c2);// 输出29579,强制转换// 结论:所有字符其本质仍然是数字// 编码 Unicode 2个字节 0~65536(范围不会固定,仍然会增长) // 表中使用97去代表a,使用29579代表文字王,范围为:u0000~uffffchar c3 = '\u0061';System.out.println(c3);// 输出aSystem.out.println("=============================");// 四、转译字符知识拓展// CR-->\r LF-->\n,在编辑器中可以很轻易的看见,如Notepad++// 对于换行的动作,各个系统环境下都不一样// Linux/Unix一般是一个0x0A表示换行(\n)// Windows一般是0x0D和0x0A表示换行(\r\n)// 苹果系统一般是0x0D采用CR回车符表示换行(\r)// \t 制表符对应计算机键盘上的Tab键System.out.println("Hello\tWord"); // 输出Hello  Word// \n 换行符System.out.println("Hello\nWord"); // 输出Hello//    Word// \r 回车符System.out.println("Hello\rWord"); // 只输出Word,很神奇吧System.out.println("=============================");// 五、字符串知识拓展String s1 = new String("Hello Word");String s2 = new String("Hello Word");System.out.println(s1 == s2); //输出falseSystem.out.println(s1.equals(s2)); //输出trueString s3 = "Hello Word";String s4 = "Hello Word";System.out.println(s3 == s4);//输出true// 我们眼中看着数据相等的字符串,为什么程序执行后,却不相等呢// 后续会讲到,从内存的角度去讲解,就会知道为什么不相等System.out.println("=============================");// 六、boolean布尔型知识拓展boolean b1 = true;// 如果b1为真可以执行,和生活当中做假设一样,如果什么什么,就怎么怎么样if (b1) {System.out.println("1==:" + b1);}if (b1 == true) {System.out.println("2==:" + b1);}b1 = false;if (b1)System.out.println("3==:" + b1);System.out.println("4==:" + b1);// 以上3种程序编写方式都可以// 程序执行结果// 1==:true// 2==:true// 4==:false}
}

Java修炼之凡界篇 筑基期 第02卷 语法 第03话 数据类型相关推荐

  1. Java修炼之凡界篇 筑基期 第02卷 语法 第06话 运算符

    运算符 Java语言支持的运算符: 算术运算符:+, -, *, /, %, ++, – 赋值运算符:= 关系运算符:>, <, >=, <=, ==, !=, instanc ...

  2. Java修炼之凡界篇 筑基期 第02卷 语法 第04话 类型转换

    类型转换 Java是强类型语言,在进行有些运算时,需要用到类型转换 低----------------------->--------------------------->高 byte, ...

  3. Java修炼之凡界篇 筑基期 第02卷 语法 第01话 注释

    注释 平时编写程序代码时,代码量在很少的时候,还能够记得和看懂自己写的程序,但是项目结构复杂并且时间长了之后,我们不一定会都记得,这个时候呢就需要用到程序的注释了 注释不会被程序所执行,是供编程的人员 ...

  4. Java修炼之凡界篇 筑基期 第05卷 数组 第03话 数组基本特点和边界

    数组基本特点和边界 数组基本特点 数组长度是确定的,数组一旦被创建,其大小就是不可以在更改 数组元素必须是相同类型,不允许出现混合类型 数组元素可以是任何数据类型,包括基本类型和引用类型 数组变量属于 ...

  5. Java修炼之凡界篇 筑基期 第06卷 面向对象 第03话 构造器

    构造器 构造器创建 类中构造器也被称为构造方法 程序案例: public class Application {public static void main(String[] args) {// n ...

  6. Java修炼之凡界篇 筑基期 第02卷 语法 番外1 原码 反码 补码

    原码 反码 补码 博客整理自 原码, 反码, 补码 详解 - ziqiu.zhang - 博客园 (cnblogs.com) 机器数与真值 在学习原码.反码和补码之前,需要先了解什么是机器数,什么是真 ...

  7. Java修炼之凡界篇 筑基期 第06卷 面向对象 第05话 static关键字

    static 关键字 在<Java编程思想>有这样一段话: "static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建 ...

  8. Java修炼之凡界篇 筑基期 第04卷 方法 第01话 什么是方法

    什么是方法 什么是方法 方法是 Java 语言中程序语句的集合,它们在一起去执行某一项功能 方法是解决一类问题步骤的有序组合 方法包含在类或者对象中 方法在程序中被创建,在其他地方被引用(调用) 方法 ...

  9. Java修炼之凡界篇 筑基期 第01卷 入门 第04话 JDK JRE JVM

    JDK JRE JVM JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK), 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里 ...

最新文章

  1. Ajax解决缓存的5种方法
  2. 海量端口扫描工具masscan
  3. 移植uboot第八步:裁剪、修改默认参数、分区
  4. jquery图片幻灯片(小图列表,大图展示)
  5. 《C++面向对象高效编程(第2版)》——3.4 赋值操作符
  6. 【干货】2014年值得仔细研究的十大神级文案
  7. 更改应用程序图标_【iOS12人机交互指南】6.2-应用图标
  8. 【Linux】一步一步学Linux——unalias命令(206)
  9. adaboost算法java代码_04-04 AdaBoost算法代码(鸢尾花分类)
  10. oracle处理回车换行符
  11. spring jpa.踩坑经验分享
  12. HTML5画布(矩形)
  13. 删数问题 山东理工oj2072(贪心)
  14. 海量数据搜索——搜索引擎
  15. Mac卸载Anaconda
  16. linux查看程序bss段,[必须掌握].bss段和.data段的区别
  17. 分享 | masked自编码器(MAE):一种可扩展的用于计算机视觉任务的自监督学习器
  18. utility restore.php,PHP实现短网址还原实例代码
  19. python动态规划爬楼梯_Python走楼梯问题解决方法示例
  20. python选择日期控件_【Python】python 日期操作

热门文章

  1. 路井、隧道、管道、电杆架空等环境下的光缆如何快速定位? TFN GP150光缆普查仪的解决方案
  2. 谈谈JS 的图片压缩
  3. SQL学习笔记——Unknown column xxx in having clause
  4. 冲压工艺按其变形性质可以分为材料的分离与成型两大类
  5. 华为机试在线训练--牛客网(python)第四部分
  6. sqlmap下载安装
  7. 6种不同画法画平行线_平行线的10种画法(什么叫平行线)
  8. Windows Embedded POSready2009
  9. 韩国烧脑片力荐,错过一眼都可能会是遗憾
  10. 2.6 场效应管放大电路