java基础-数据类型之殇
一 前言
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 规范,如果溢出会出现下列三种情况:
- 正无穷大
- 负无穷大
- 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基础-数据类型之殇的更多相关文章
- Java基础-数据类型应用案例展示
Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...
- Java基础-数据类型int,short,char,long,float,double,boolean,byte
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...
- java基础数据类型包装类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- 谈谈Java基础数据类型
Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整型 -pow(2,15)~pow(2,15 ...
- Java基础数据类型二进制转换
前言: 本文主要介绍java基础类型的二进制转换和二进制的基本概念. 二进制: 1,二进制是以0和1为码,逢2进1,比如3=11=1*2+1. 2,在计算机当中其它进制的算法基本基于2进制,因为计算机 ...
- Java 基础数据类型
Java 提供的基础数据类型(也称内置数据类型)包含:整数类型.浮点类型.字符类型.布尔类型. 整数类型 整数类型变量用来表示整数的数据类型.整数类型又分为字节型(byte).短整型(short).整 ...
- [未完成]关于java基础数据类型中的一些总结
java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.
- 【Demo 0001】Java基础-数据类型
本章学习要点: 1. 了解Java 语言 2. 了解Java程序结构; 3. 了解Java中基本数据类型; 4. 掌握基本数据类型之间的运算 ...
- JAVA基础数据类型
JAVA的数据类型粗略分两种 1.基本数据类型 整数类型: byte,short,int,long 浮点类型: float,double 字符类型: char 布尔类型: boolean 基本语法格式 ...
随机推荐
- ubantu删除源码安装文件
1.在安装目录下执行 make uninstall (如安装目录为/opt/software/opencv3.1.0/release) 2.删除系统相关文件 cd /usr sudo find . - ...
- Redis是什么?看这一篇就够了
本文由葡萄城技术团队编撰并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原 ...
- Linux 命令记录
记录Linux下使用过的命令: Linux端 1.测试当前系统支持语言(我这用的是xshell,如果出现乱码,则在file-properties-terminal-encoding中,设置为utf-8 ...
- (一)OpenStack---M版---双节点搭建---基础环境配置
↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 配置如下 本次搭建采用2台4核4G的虚拟机,也可以用2台2核4G 主机名 配置 网络 Contr ...
- find_all的用法 Python(bs4,BeautifulSoup)
find_all()简单说明: find_all() find_all() 方法搜索当前tag的所有tag子节点,并判断是否符合过滤器的条件 用法一: rs=soup.find_all('a') 将返 ...
- 高效PHP Redis缓存技术,可参考下步骤
是否想过PHP使用redis作为缓存时,如何能: 前后台模块共用Model层: 但是,不能每个Model类都进行缓存,这样太浪费Redis资源: 前后台模块可以自由决定从数据库还是从缓存读数据: 没有 ...
- idea为什么maven工具栏下面没有dependencies跟Plugins
刚刚新建的springboot项目,然后进来就是这样子 网上查找资料有些说是maven版本的问题,但是对于我的问题并没有得到解决. 现在是2019年12月4日16:23:07,依然没有找到解决方法,不 ...
- python-14-文件操作
前言 python中对文件的读写也是非常方便的,本章节将讲解读.写.读写等常用操作.下面讲师必要的参数: 1.文件路径:必须得知道文件的路径,不然怎样进行读写? 2.编码方式:utf-8,gbk,gb ...
- 在flink中使用jackson JSONKeyValueDeserializationSchema反序列化Kafka消息报错解决
在做支付订单宽表的场景,需要关联的表比较多而且支付有可能要延迟很久,这种情况下不太适合使用Flink的表Join,想到的另外一种解决方案是消费多个Topic的数据,再根据订单号进行keyBy,再在逻辑 ...
- 带着canvas去流浪系列之二 绘制折线图
[摘要] 用canvasAPI实现echarts简易图表 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...