数据类型

强类型语言

  • 要求变量的使用要严格按照规定,所有变量都必须先定义后使用 (Java、C++等)

弱类型语言

  • 与上述相反 (VB、JS等)

Java数据类型分为两大类

  • 基本类型 (primitive type)
  • 引用类型 (reference type)

八大字节类型(重点)

//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 40L;
//浮点数
float num5 = 50.1F;
double num6 = 3.1415926539;
//字符
char name = "A";
//字符串
String name1 = "ABCD";
//布尔值
boolean flag = true;
//boolean flag = false;
graph LR;
Java数据类型-->基本数据类型;
Java数据类型-->引用数据类型;
基本数据类型-->数值类型;
基本数据类型-->boolean类型;
数值类型-->整数类型;
整数类型-->byte占1个字节范围:-128到127;
整数类型-->short占2个字节范围:-32768到32767;
整数类型-->int占4个字节范围:-2147483648到2147483647;
整数类型-->long占8个字节范围:Long类型要在数字后面加个L;
数值类型-->浮点类型;
浮点类型-->float占4个字节:float类型要在数字后面加个F;
浮点类型-->double占8个字节;
数值类型-->字符类型;
字符类型-->字符类型char占2个字节;
boolean类型-->占1位其值只有true和false两位;
引用数据类型-->类;
引用数据类型-->接口;
引用数据类型-->数组;

Java数据类型拓展

整数拓展:进制

  • 二进制(0b)
  • 十进制
  • 八进制(0)
  • 十六进制(0x)
int i = 10;
int i1 = 010;//八进制
int i2 = 0x10;//十六进制
System.out.println(i);//10
System.out.println(i1);//8
System.out.println(i2);//16

浮点数拓展

  • float 有限 离散 舍入误差 大约 接近但不等于
  • float最好完全不要使用浮点数进行比较数字
  • 使用 BigDecimal 数学工具类进行比较运用
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);//false
float d1 = 232323232323223f;
float d2 = d1+1;
System.out.println(d1==d2);//true

字符类型

  • 所有的字符类型本质是数字
  • 编码问题 Unicode编码 占用2字节 最多可以表示65536+个字符
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int) c1);//强制转换
System.out.println(c2);
System.out.println((int) c2);//同上
  • 转义字符 \t(制表符) \n(换行)
System.out.println("hello \t world");
//hello world
System.out.println("hello \n world");
/*
hello
world
*/

布尔值拓展

  • Less is More! Java代码要精简易读
boolean flag = true;
if (flag==true){} //新手区
if (flag){} //老手区

Java学习 (五)基础篇 数据类型的更多相关文章

  1. java学习笔记-基础篇

    Java基础篇 1—12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28—31异常 1—12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 ...

  2. java学习笔记(基础篇)--java关键字与数据类型

    java关键字与数据类型 Java语言的关键字是程序代码中的特殊字符.包括: . 类和接口的声明--class, extends, implements, interface . 包引入和包声明--i ...

  3. Java学习路线-基础篇!

    下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...

  4. Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法

    面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...

  5. Java学习笔记——基础篇

    Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!! 学习笔记: *包.权限控制 1.包(package) ...

  6. java学习笔记(基础篇)—java数组

    一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的 ...

  7. java学习笔记(基础篇)—面向对象编程之封装、继承、多态

    一. OOP中的基本概念 Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计实现为一 ...

  8. Java学习日记基础篇(六)—— 抽象类、接口、final

    抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { pub ...

  9. Java学习日记——基础篇(二)基本语法

    变量 变量和常量是程序处理的两种基本数据对象,变量是程序的基本组成单位 变量的目的就是确定目标并提供存放空间 public class Hello { public static void main( ...

随机推荐

  1. CAD图与互联网地图网页端相互叠加显示技术分析和实现

    需求分析 之前相关的博文中介绍了如果在Web网页端展示CAD图形(唯杰地图云端图纸管理平台 https://vjmap.com/app/cloud),当一些CAD图纸有实际地理坐标位置时,如地形图等, ...

  2. netty系列之:使用Jboss Marshalling来序列化java对象

    目录 简介 添加JBoss Marshalling依赖 JBoss Marshalling的使用 总结 简介 在JAVA程序中经常会用到序列化的场景,除了JDK自身提供的Serializable之外, ...

  3. cuda在ubuntu的安装使用分享

    前言 之前给大家分享过opencv在jetson nano 2gb和ubuntu设备中使用并且展示了一些人脸识别等的小demo.但是对于图像处理,使用gpu加速是很常见 .(以下概念介绍内容来自百科和 ...

  4. Java - 四种引用类型及应用场景

    1. 强引用 new 一个对象的时候,就是强引用 Object object = new Object(); 只要强引用存在,垃圾回收就不会回收该对象,内存不足时会抛出OOM. 2. 软引用 定义:非 ...

  5. 【Java面试】请你简单说一下Mysql的事务隔离级别

    一个工作了6年的粉丝,去阿里面试,在第一面的时候被问到"Mysql的事务隔离级别". 他竟然没有回答上来,一直在私信向我诉苦. 我说,你只能怪年轻时候的你,那个时候不够努力导致现在 ...

  6. 【Azure 应用服务】App Service 开启了私有终结点(Private Endpoint)模式后,如何来实现公网Git部署呢?

    问题描述 因为中国区的App Service对外(公网访问)需要进行ICP备案,所以很多情况下,Web应用部署到App Service后,都是通过Application Gateway(应用程序网关) ...

  7. VisionPro · C# · 加载与保存视觉工具包

    当项目程序被启动或更换程序产品型号时,我们需要提前加载对应的VisionPro的程序VPP文件,以提高程序调用效率. 加载代码: 1 using System; 2 using System.Wind ...

  8. [LINUX] 像电影里的黑客一样用 terminal 作为日常开发

    目录 1.效果预览 2.具体实现 2.1 定位鼠标位置 2.2 获取屏幕位置 2.3 计算鼠标在哪个窗口 2.4 1920x1080 平铺效果设计 2.5 1280x1024 平铺效果设计 3 代码 ...

  9. 使用Kind快速构建k8s

    什么是 KindKind(Kubernetes in Docker) 是一个 Kubernetes 孵化项目,Kind 是一套开箱即用的 Kubernetes 环境搭建方案.顾名思义,就是将 Kube ...

  10. TypeScript let与var的区别

    1.作用域不同 用var声明的变量,只有函数作用域和全局作用域,没有块级作用域.而let可以实现块级作用域,只能在代码块{}内有效,在{}之外不能访问,如下代码所示: { let a = 0; var ...