当前位置: 首页 > news >正文

java二进制类型_Java数据类型 - 原始和二进制文字

Java是一种强类型语言,这意味着在使用它之前必须首先声明所有变量。在java中声明变量包括带有可选值赋值的类型和名称。如果未分配任何值,则变量保持默认值。对于基本类型,有不同的默认值,但对于Object数据类型,它始终为null。

1. Java原始数据类型

Java编程语言包含八种原始数据类型。四种原始数据类型用于整数值 - byte,short,int和long。两种原始数据类型用于浮点型十进制值 - float和double。表示一个是字符的char类型,表示一个是条件的boolean类型。Java编程语言还附带了所有这些原始数据类型的Wrapper类。

下表显示了所有这些原始数据类型,包括大小,范围,默认值和分配它们的不同方式。

061559bcd37a184fa8519a2509eba914.png

下面是一个简单的java程序,它显示了声明原始数据类型的一些方法 - 仔细阅读char转换,以及通过显式将int转换为byte时会发生什么。

public class DataTypes {

public static void main(String[] args) {

char c = 'A';

System.out.println(c); //打印 A

char c1 = '\u0041';

System.out.println(c1); //打印 A

char c2 = 0;

System.out.println("Default Value:"+c2+":"); // 打印默认值

char c3 = 65;

System.out.println(c3); //打印 A

char c4 = '\t';

System.out.println("Tab Start:"+c4+":End"); //打印 Tab

byte b = 10;

System.out.println(b); //打印 10

byte b1 = (byte) 200;

System.out.println(b1); // 打印 -56

//<0...>_11001000 (int),转换为 11001000 (byte) by stripping leading 24 bits

// since left most bit is 1, we need to find the value

// Ones complement 11001000 -1 = 11000111

//invert digits 00111000 i.e 56, hence printing -56

b1 = (byte) 0b11001000;

System.out.println(b1); //打印 -56

byte b2 = (byte) 320; //256+64 i.e 00000000_00000000_00000001_01000000, byte 01000000

// 由于前导位为0,因此无需确定任何值

System.out.println(b2); //打印 64

short s = 32;

short s1 = 'A'; //隐式将char转换为 short

System.out.println(s1); //打印 65

int i = 'A';

System.out.println(i); //打印 65

long l = 3200L;

long l1 = 3200;

float f = 12.34f;

// 示例

byte x, y = 1, z = 2;

x = (byte) (y + z);

}

}

在数字文字中使用下划线

从Java 7开始,可以在数字文字中使用下划线,例如 - long ccNum = 1234_5678_9101_1121L;。

2. 二进制文字

从Java 7开始,整数类型(byte,short,int和long)也可以使用二进制数系统表示。但需要在数字前加0b或0B。如下示例所示 -

// An 8-bit 'byte' value:

byte aByte = (byte)0b00100001;

// A 16-bit 'short' value:

short aShort = (short)0b1010000101000101;

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

相关文章:

  • hibernate的Criteria的一个bug
  • toad导出mysql数据库_将toad里的数据库结构导出到pdm
  • 炒股精髓:多位高手多年心血结晶
  • 好神奇哟
  • java linux 压缩文件夹_Linux下压缩某个文件夹(文件夹打包)
  • java中mapper层作用_Java的MyBatis框架中Mapper映射配置的使用及原理解析
  • java空接口_java中RandomAccess接口明明是个空接口,有什么用呢?
  • java pdf base64_Javaweb中利用pdf.js显示oracle数据库中Base64编码转为的PDF
  • SQL Server 2005豪华盛宴
  • java班级管理系统代码_基于jsp的班级管理系统-JavaEE实现班级管理系统 - java项目源码...
  • java 聚合服务_远程服务接口聚合带来的性能提升
  • java编写客户_java编写服务器和客户端.docx
  • ORA-03113错误分析
  • 一个带年月日时分秒选择的js脚本
  • java发送苹果消息慢_使用javapns向苹果apns发送消息成功,手机设备有时收不到推送信息...
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 10个最佳ES6特性 ES7与ES8的特性
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 4个实用的微服务测试策略
  • AHK 中 = 和 == 等比较运算符的用法
  • AngularJS指令开发(1)——参数详解
  • Docker入门(二) - Dockerfile
  • gcc介绍及安装
  • JS笔记四:作用域、变量(函数)提升
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Protobuf3语言指南
  • Python_OOP
  • React Transition Group -- Transition 组件
  • Terraform入门 - 3. 变更基础设施
  • vue-router的history模式发布配置
  • 从伪并行的 Python 多线程说起
  • 检测对象或数组
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 时间复杂度与空间复杂度分析
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 网络应用优化——时延与带宽
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 从如何停掉 Promise 链说起
  • 正则表达式-基础知识Review
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • $$$$GB2312-80区位编码表$$$$
  • (a /b)*c的值
  • (k8s中)docker netty OOM问题记录
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (六)c52学习之旅-独立按键
  • (转)jQuery 基础
  • .net mvc部分视图
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 材料检测系统崩溃分析
  • .NET 药厂业务系统 CPU爆高分析
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法