一 前言

Java的数据类型分为2种,分别是基本数据类型和引用数据类型;java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型;面试常问的java8大基本数据类型其实是基本数据类型;想要打好基础数据类型这关很重要;

二 基本数据类型

基本数据类型分为 整型4个 ,布尔型一个,字符型一个,浮点数型2个;每个数据类型的大小都不一样,数据类型的大小以字节计算,在计算机种一个字节是等于8位,也就是2的8次方法;

2.1 整型

整型故名思意,字段声明的类型是整型,字段被赋值的时候只能是整型类型数据;如果是长整型(long)其后面书写时带上L或者l表示长整型数据;

int类型书写示例:

public class Type {

    // int 型 java默认为整型
private int zszxz1 = 1327;
}

long类型书写示例:

public class Type {

    // long 型 Java中称呼为长整型,后面跟 L 或者 l,由于l同 1很像,通常使用L
private long zszxz2 = 1327L; }

shor型书写示例:

public class Type {

    // shor 型 java中称呼为短整型
private short zxzxz3 = 1327; }

byte类型书写示例:

public class Type {

    // byte 型 java中称呼为字节
private byte zszxz4 = 127; }

2 .2 浮点类型

浮点数据类型分为单精度类型(float)和 双精度类型 (double);书写时double型,数字后面带上D或者d表示双精度型;

书写float型,数字后面带上f或者F表示单精度型;其都遵循IEEE 745 规范,如果溢出会出现下列三种情况:

  1. 正无穷大
  2. 负无穷大
  3. Nan表示非数值

书写示例:

public class Type {

    // float 型
private float zszxz5 = 3.17f;
// double 型
private double zszxz6 = 3.17d; }

2.3 字符型

字符型(char)存储单个字符,特殊的字符使用unicode值(0~65535)进行存储;其大小2个字节;

 public static void main(String[] args) {
// 字符 A 在 unicode中的值是65也就是 u0041;
char zszxz7 = 'A';
char zszxz8 = '\u0041';
char zszxz9 = 65;
// true
System.out.println(zszxz7==zszxz8);
// true
System.out.println(zszxz7==zszxz9);
}

常用转义符号:

2.4 布尔型

布尔型(boolean),其只有2个值就是true和false;通常用于判断是非;

    // 正确
private boolean zszxz10 = true;
// 错误
private boolean zszxz11 = false;

三 进制数值表示

3.1 二进制数

二进制数使用0b或者0B开头,每位都是用0~1表示;

示例:

    // 二进制数
private int zszxz12 = 0b1111;

3.2 八进制数

八进制数使用0开头,每位是0~7表示;

示例:

    public static void main(String[] args) {
int zszxz13 = 017;
// 15
System.out.println(zszxz13);
}

3.3 十六进制数

十六进制数使用0x或者0X开头,每位都是使用0~9, A~F 表示;

示例:

    public static void main(String[] args) {
int zszxz14 = 0xff;
// 255
System.out.println(zszxz14);
}

四 指数数值表示

在java中指数类型使用e表示10的次方幂,比如 10^5 表示成 e5,声明时注意使用浮点数据类型或者其他大数值类型;

示例:

    public static void main(String[] args) {
double zszxz15 = 0.3e2;
// 30.0
System.out.println(zszxz15);
}

五 类型转换

5.1 自动类型转换

自动类型转换是指小数据类型转向大数据类型java虚拟机会自动帮你转换,不需要做额外的操作;

不丢失精度情况:

丢失精度情况:

5.2 强制类型转换

强制类型转换是指大数据类型转向小数据类型,需要进行强制类型转换,但这有可能发生丢失精度的风险,使用()表示强制转换;在浮点数转整型的时候丢失精度的规则不是四舍五入,而是截取;

示例:

    public static void main(String[] args) {
double zszxz16 = 55.9;
int opq = 0 ;
opq = (int)zszxz16;
// 55
System.out.println(opq);
}

六 引用数据类型

引用数据类型包括类,接口,数组,java中的引用本质上等同于c中的指针,但在java中没有指针这个说法,而是保留的指针的引用类型;特殊的数据类型String就是引用数据类型;详细的引用数据类型在后续的学习中才会有深入了解,对于初学者,说的再多目前也没意义;

java基础-数据类型之殇的更多相关文章

  1. Java基础-数据类型应用案例展示

    Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...

  2. Java基础-数据类型int,short,char,long,float,double,boolean,byte

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  3. java基础数据类型包装类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  4. 谈谈Java基础数据类型

    Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整型 -pow(2,15)~pow(2,15 ...

  5. Java基础数据类型二进制转换

    前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...

  6. Java 基础数据类型

    Java 提供的基础数据类型(也称内置数据类型)包含:整数类型.浮点类型.字符类型.布尔类型. 整数类型 整数类型变量用来表示整数的数据类型.整数类型又分为字节型(byte).短整型(short).整 ...

  7. [未完成]关于java基础数据类型中的一些总结

    java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.

  8. 【Demo 0001】Java基础-数据类型

    本章学习要点:       1.  了解Java 语言       2.  了解Java程序结构;        3.  了解Java中基本数据类型;       4.  掌握基本数据类型之间的运算 ...

  9. JAVA基础数据类型

    JAVA的数据类型粗略分两种 1.基本数据类型 整数类型: byte,short,int,long 浮点类型: float,double 字符类型: char 布尔类型: boolean 基本语法格式 ...

随机推荐

  1. Spring 5 响应式编程

    要点 Reactor 是一个运行在 Java8 之上的响应式流框架,它提供了一组响应式风格的 API 除了个别 API 上的区别,它的原理跟 RxJava 很相似 它是第四代响应式框架,支持操作融合, ...

  2. 从无到有实现搭建vue+ElementUI+less+ES6的开发环境并进行简单的开发的项目

    项目简介:该项目是基于日常计算宿舍水电煤气费的需求写的,旨在从无到有实现搭建vue+ElementUI+less+ES6的开发环境并进行简单的开发,使用webpack进行代码的编译.压缩和打包,并疏通 ...

  3. 读懂JWT的使用,你就会用PHP如何实现了

    要如何用php实现JWT认证,那我们首先就来认识一下什么是JWT.什么是JWTJWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.JWT的声明一般被 ...

  4. 探索 IPv6 网络

    目录 0x00 前言 0x01 探索 服务器配置 IPv6 地址 服务器部署网络代理 客户端配置网络代理 测试访问 IPv6 地址 给博客添加 IPv6 地址 0x00 前言 IPv4 地址枯竭的事情 ...

  5. socket解决编码解码问题

    MySocket类: import socket class MySocket(socket.socket): # 继承自socket文件中的socket类,此时socket就是父类 def __in ...

  6. Linux 7开机自启项查看并设置

      在Linux6中查看及设置开机自启信息是使用chkconfig命令,Linux7中此命令已经被替代,接下来我们就来研究下Linux7中的区别所在. chkconfig --list Note: T ...

  7. hasChildNodes()

    hasChildNodes():方法可以用来检查一个给定的元素是否有子节点. booleanValue = element.hasChildNodes 这个方法将返回一个布尔值true或false.如 ...

  8. mysql 基础知识整理

    什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展.阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的. ...

  9. 关于C语言中i++和++i的区别以及printf输出的一些问题。

    a_pos = a++; //后缀,使用a的值之后,递增a b_pre = ++b; //前缀,使用b的值之前,递增b a--和--b同理,不必赘述.这是几乎每个学习过C语言的同学都会知道的,而我在帮 ...

  10. mongoDB学习笔记(一)之操作符

    本文主要讲解mongoDb的一些常用的操作符的用法.随着作者本身的能力的提高,本文也会不断的完善. 官方文档链接为有: https://docs.mongodb.com/manual/referenc ...