JavaSE-基本数据类型
- 一些基础:
- 字节与字符、字节与位;1个字节=8位(bit)(最高位是符号位,0正数1负)bit是电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以bps为单位。如56Kbps、100.0Mbps 等等
- Float类型的数值都会有后缀F或者f,没有这个后缀的浮点数默认为double类型,当然也可以为浮点数添加后缀D和d;长整数类型有一个后缀L或者小写的l;十六进制有一个前缀0X或者0x;二进制前缀0b或者0B
- 从Java7开始,可以为数字字面量添加下划线,比如一百万可以表示为1_000_000,编译器在编译的时候会去除这些下划线
- 基本数据类型/引用数据类型
- 内存使用:基本数据类型直接存放在栈内存里。而引用类型则是,内容存放在堆内存,地址存放在栈内存,访问时通过栈内存的地址找到堆内存的内容
- 变量赋值:基本数据类型是直;接把值赋给变量。而引用类型是,把值的地址复制给新变量,通过地址再找到内容
- 传值的问题

- 基本数据类型(4类8种):整数类型(4种),小数点类型/浮点类型(2种),布尔类型(1种),字符类型(1种)
整数类型:byte、short、int 、long
范围与字节的公式:
byte:1个字节,-128-127,(按理说应该是-127-127,因为0有+0和-0的区别,所以多了一个-0,而-0被看成了-128,印度人做的贡献)
short:2个字节,-32768-32767
int:4个字节,-2147483648-2147483647 正好超过了20亿
long:8个字节,-2^63~2^63-1,大概是9*10^18 海量数可以通过字符串或者字符数组来解决
小数类型:float、double
Float:单精度类型,4个字节,大约有效位数6-7位
-3.403E38~3.403E38
Double:双精度类型,8个字节,大约有效位数15位
注:
float a=1.3;这个会报错,因为1.3默认为double,高精度转低精度会损失精度。正确的应该是float a=1.3f;Float的第七位数字会产生四舍五入
用于表示溢出和出错情况的三个特殊浮点数值:正无穷大(double.positive_infinity)、负无穷大(double.negative_infinity)、NaN(Double.NaN)以及相应的float类型的常量。其中NaN不是一个数字,不可以用于判定一个变量是否是==NaN,正确的使用方法是double.isNaN(xxxx)返回布尔值
布尔类型:true和false
字符类型:char、string
char:单个字符,2个字节,可以存放汉字;string:多个字符(String不是基本数据类型,而是引用数据类型)
- 其他:
- “A”的Ascii码是65,“a”的Ascii码位97,汉字用的是unicode码
- 强制转换:
数据类型可以自动从低精度转换到高精度,高精度到低精度需要强制转换
Int a =(int)1.2;
Int a = (int)1.9; 最后结果里面a均为1,即不管后面,只是截取前面整数部分
Float a=1.2; //报错,损失精度,因为Java中的小数默认是double类型
Float a =1.2f; //正确
Int a=3;
Int b=a+3.4;//计算机中,先计算a+3.4并且往高精度转,所以得到6.4,但此时并不能存入int类型(加减乘除都会往高精度转)
3.引用数据类型:数组、类、接口、枚举
4.未初始化的变量不能拿来直接使用,编译器会报错;变量的初始化和声明可以放在同一行,也就是声明赋值在同一句代码里;利用final指示常量,表示一旦被赋值之后,就不能再更改了,习惯上常量用全大写来表示,如果需要某个常量被一个类的多个方法使用的 话,可以在前面添加static
JavaSE-基本数据类型的更多相关文章
- JAVASE:01数据类型及其拓展
JAVASE:01数据类型及其拓展 八大基本数据类型 与c不同的地方:long类型后加L:float类型后加F: public class Demo02 { public static void ma ...
- JavaSE:数据类型之间的转换(附常见面试题)
数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...
- 5.JavaSE之数据类型详解
数据类型: 强类型语言: 要求变量的使用严格要求符合规定,写错了就不行,所有变量都必须先定义后才能使用,否则是不能使用的. 比如Java.C++都是强类型语言,也就是说,一旦定义了一个变量,只定义了某 ...
- [javaSE] 基本数据类型对象包装类
按照java面向对象的原则,每个基本类型都有对应的包装类 byte Byte short Short int Integer long Long boolean Boolean float Float ...
- 6.JavaSE之数据类型扩展及面试题讲解
整数:二进制0b 十进制 八进制0 十六进制0x 浮点数:银行业务,关于钱的,Java有个BigDecimal数学工具类,用这个计算.最好完全避免使用浮点数进行比较.因为float 是有限的离散的,它 ...
- 简单JavaSE数据类型入门
新的一节学习了JavaSE,今天主要来说一下Java的数据类型及其输出,借用Xmind,可以生动形象的向大家来解释Java的数据类型: 其中数值整数型举例: public class A02{ pub ...
- JavaSE复习日记 : 八种基本数据类型
/* * 基本数据类型 * * Java里的8种基本数据类型: * byte --- 1 byte = 8 bit; * short --- 2 byte = 16 bit; * int --- 4 ...
- JavaSE| 数据类型| 运算符| 进制与补码反码等
JavaSE JavaSE是学习JavaWeb.JavaEE以及Android开发的基础 边听边思考边做“笔记” 不要完全依赖书和视频: 捷径:敲.狂敲: 规范:加注释: 难点,不懂的记录下时间再回头 ...
- JavaSE基础之double数据类型的格式化
JavaSE基础之double数据类型的格式化 1.double 数据类型的格式化工具类:DoubleFormatUtil.java package cn.com.zfc.util; import j ...
- JavaSE学习笔记(1)---数据类型、运算符、控制结构
javaSE学习笔记(1) 数据类型和运算符 1.注释可以提高程序的可读性.可划分为 单行注释 // 多行注释 /.../ 文档注释 /**...*/ 2.标识符的命名规则: 标识符必须以字母.下划线 ...
随机推荐
- dockerfile语法规则
编写Dockerfile 在前面的章节,我们学习了通过docker命令来下载镜像,运行镜像,在容器中部署自己的程序,最后将容器提交到自己的镜像中.但是,这并不是Docker推荐的镜像构建方式.在这一章 ...
- 大数据Hadoop入门视频教程:Hadoop的快如入门
最新在学习hadoop .storm大数据相关技术,发现网上hadoop .storm 相关学习视频少之又少,这里整理了传智播客段海涛老师的hadoop学习视频,出来给大家学习交流. 视频下载地址:h ...
- java根据输入的字符串和字节数来截取,输出对应字节数的字符串
public class Test { //要进行截取操作的字符串 static String ss; //截取的字符串的字节数 static int n; public static void ma ...
- windows搭建redis集群最佳实践
一.redis的下载安装: (1)下载Redis-x64-3.2.100地址:https://github.com/MicrosoftArchive/redis/releases (2)安装后文件如下 ...
- Linq 27个常用操作符说明
1.Where 操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果.2.Select 操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中 ...
- Java数据库连接池详解
http://www.javaweb1024.com/java/JavaWebzhongji/2015/06/01/736.html 对于共享资源,有一个很著名的设计模式:资源池(Resource P ...
- 【转载】安装 gephi 软件
作者:小小爽链接:https://www.zhihu.com/question/21268129/answer/354924066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- http/1.0/1.1/2.0与https的比较
HTTP是HyperText Transfer Protocol的缩写,译为超文本传输协议.是一种应用于OSI七层模型中应用层的协议,是我们平常互联网网络通信传输的基础.它的作用就是规定了服务器和客户 ...
- IntelliJ IDEA入门系列
1.Java Web之Helloworld配置 2.Java Web之Maven搭建Helloworld 3.Java Web之Spring MVC简单管理系统
- NFS、FTP介绍
第二十五课 NFS.FTP介绍 目录 一. NFS介绍 二.NFS服务端安装配置 三.NFS配置选项 四.exportfs命令 五.NFS客户端问题 六.FTP介绍 七.使用vsftpd搭建ftp 八 ...