java数据类型与二进制详细介绍
java数据类型与二进制详细介绍
在java中
Int 类型的变量占 4个字节
Long 类型的变量占8个字节
一个程序就是一个世界,变量是这个程序的基本单位。
Java基本数据类型
1、 整数类型
2、 小数(浮点数)类型
3、 布尔类型
4、 字符类型
整数类型
整数类型可以表示一个整数,常用的整数类型有:byte,short,int,long
Byte 一个字节 -128到127
注:0有两个表示0000 0000正零 1000 0000 负零,负零被作为 -128 1111 1111 -127
公式: -2^n-1 ~ 2^n-1 -1
Short 两个字节 -32768 到 32767
Int 四个字节 -2147483648 到 2147483647
Long 八个字节
二进制 十进制 1在的位数 0的个数 1 1 1 0 10 2 2 1 100 4 3 2 1000 8 4 3 10000 16 5 4 100000 32 6 5 1000000 64 7 6 10000000 128 8 7 100000000 256 9 8 1000000000 512 10 9 10000000000 1024 11 10 2^10 = 1024 (10个0)
小数(浮点数)类型
Float(单精度浮点数)
Double(双精度浮点数)
布尔类型
布尔类型可以表示 真 或者 假
Boolean
字符类型
字符类型可以表示 单个字符,字符类型是char,char是两个字节,1个char变量可以存放1个汉字。
多个字符我们称为字符串,在java中用String这种数据类型表示,但是String不是基本数据类型,而是类,类是复合数据类型。
Int test1='a'+'b'; 输出:195
表示:将a对应的ASCII码数字与字符b对应的ASCII码数字相加,并作为数字存储在int类型变量test1中
Char test1='a'+'b'; 输出:?(未找到)char test1='!'+'!'; 输出:B
表示:将a对应的ASCII码数字与字符b对应的ASCII码数字相加,并作为相加后数字对应的ASCII码存储在char类型变量test1中。
结论:在java中,对字符进行运算时,直接当做ASCII码或Unicode码对应的数字计算(加减),并保存为该变量对应的数据类型,如果是整形则保存数字,如果是字符型则保存数字对应的字符。
自动转换
数据类型可以自动从低精度转换到高精度,但不可以自动从高精度转换到低精度。
Float a = 3.4; 报错
Float a =3.4f; 不会报错,加f表示小数用float类型
注:java中的小数默认是double,因为是从高精度自动转换到低精度所以会报错。
强制转换
Int a = (int)1.2; 在数字前面写括号,括号中写强制转换的类型 int a = (int)1.2; int b = (int)1.9; System.out.println("a="+a+","+"b="+b); 输出:1,1
注:java中强制类型转换不会四舍五入,浮点数类型强制转换成整形会强制去掉小数点后面的数字。
Int a = 3; Int b =a+3.4; 报错 int a = 3; double b = 3.1; b = a+b; System.out.println(b); 输出:6.1
注:当一个低精度数字与一个高精度数字相运算时,低精度数字会往高精度转。
以上就是java数据类型与二进制的资料,本站关于java开发的文章还有很多,大家可以搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- Golang 中的并发限制与超时控制
- 一条简单的报警信息发现的oracle bug(r8笔记第42天)
- 一条insert语句导致的性能问题分析(一)(r8笔记第40天)
- 一条insert语句导致的性能问题分析(二)(r8笔记第43天)
- dataguard中的密码文件管理(r8笔记第39天)
- Mybatis_day02
- Golang构建HTTP服务(一)--- net/http库源码笔记
- Golang构建HTTP服务(二)--- Handler,ServeMux与中间件
- 使用Let's Encrypt的SSL证书配置HTTPS手记
- Mybatis_day01
- golang 如何验证struct字段的数据格式
- ggolot2 画ROC曲线
- 47. 访问MySql数据库实现增删改查 | 厚土Go学习笔记
- 39. channel管道 | 厚土Go学习笔记
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 初识ABP vNext(3):vue对接ABP基本思路
- 0801-什么是Apache Ranger - 4 - Resource vs Tag Based Policies
- IDA-3D技术细节分析
- 0802-Cloudera Data Center7.1.3正式GA
- 2017,科学使用strace神器(附代码,举栗子)
- kubernete编排技术四:Job和CronJob
- Go 视图模板篇(二):模板指令
- go语言学习(五):通道的用法
- PHP无锁内存nosql---Yac的实战
- 0803-什么是Apache Ranger - 5 - Hive Plugin
- 2017年的golang、python、php、c++、c、java、Nodejs性能对比[续]
- go语言学习(四):数组和切片
- 初识ABP vNext(4):vue用户登录&菜单权限
- 2017 从上到下打印树新解法
- 基于Go的websocket消息服务