Java 三种进制的数值常量操作

我就废话不多说了,大家还是直接看代码吧~

package cn.nxl2018;
class Test{
   //十进制常量赋值
   void decimals(){
    byte b=10;
    short s=10;
    char ch=69;
    int i=10;
    long l=10l;//l/L可加可不加
    float f=10.1f;//float f=10,可以不加f将10默认转换为float类型,输出10.0。但当是小数时必须加f。
    float f2=10.2e3f;//可以用指数形式来表示
    double d=10.1;//小数常量默认为double类型
    double d1=10.01d;//d是可以省略的
  }
  //八进制常量赋值
    void octa(){
    byte b=03;
    short s=03;
    char ch=076;
    int i=03;
    long l=03;
    float f=03.1f;//非八进制数,等价于3.1f
    double d=03.1d;//非非八进制数,等价于3.1d
    //也就是说浮点数不能表示八进制数
  }
  //十六进制常量赋值
  static void hex(){
    byte b=0x12;
    short s=0x12;
    char ch=0x78;
    int i=0x12;
    long l=0x12;
    float f=0x1.2p2f;//十六进制用p表示指数,不是e;另外十六 进制浮点数必须以指数形式表示
    double d=0x1.2p2d;
    //java中没有提供二进制常量表示形式
    //如果给变量赋值为负数的时候,十进制的话直接加负号,十六进制直接在最高位设置为1
  }
}

补充:Java整数常量进制表示

Java针对整数常量提供了4种表现形式

二进制(0 1),以0b开头,如:0b10000表示16

八进制(0 ~ 7),以 0 开头,如:020表示16

十进制(0 ~ 9),就是我们生活中使用的,如:16就表示16

十六进制(0 ~ 9 , a ~ f),以0x开头,如:0x10表示16

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 详解Java变量与常量

    一.常量 用final修饰(也称最终变量) 常量在声明时必须赋初值,赋值后不能再修改值 常量名通常用全大写字母表示 声明时需要添加final或static final类型修饰符,例如: private final int PI=3.141596; //常量,类加载时确定或者更靠后确定值 private static final int PI=3.14159;//静态常量(编译期常量),编译时就确定值(编译为class文件) 二.变量 1.变量类型不同,分配的内存类型也不同 2.无初始化成员变量的

  • java中变量和常量详解

    变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代表还是常量代表. 变量 变量代表程序的状态.程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑. 为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名.例如在2D游戏程序中,需要代表人物的位置,则需

  • Java 反射修改类的常量值、静态变量值、属性值实例详解

    前言 有的时候,我们需要修改一个变量的值,但变量也许存在于 Jar 包中或其他位置,导致我们不能从代码层面进行修改,于是我们就用到了下面的场景,通过反射来进行修改变量的值. 定义一个实体类 class Bean{ private static final Integer INT_VALUE = 100; } 利用反射修改私有静态常量方法 System.out.println(Bean.INT_VALUE); Field field = Bean.class.getField("INT_VALUE

  • Java 三种进制的数值常量操作

    我就废话不多说了,大家还是直接看代码吧~ package cn.nxl2018; class Test{ //十进制常量赋值 void decimals(){ byte b=10; short s=10; char ch=69; int i=10; long l=10l;//l/L可加可不加 float f=10.1f;//float f=10,可以不加f将10默认转换为float类型,输出10.0.但当是小数时必须加f. float f2=10.2e3f;//可以用指数形式来表示 double

  • Java实现任意进制转换

    本文实例为大家分享了Java实现任意进制转换的具体代码,供大家参考,具体内容如下 问题描述 编写程序实现任意进制间的相互转换 (一).进制转换思想 1.先把任意进制转化为十进制 2.再把十进制转化为任意进制 3.本算法结合了十以下进制利用公式转换以及十以上进制调用函数转换 (二).问题分析 1.输入当前数进制 输入当前进制 m ,且保证 m>1 public static void main (String[] args){ int l,m,n; String l16; Scanner sc =

  • Java实现的进制转换工具类完整示例

    本文实例讲述了Java实现的进制转换工具类.分享给大家供大家参考,具体如下: import java.nio.charset.Charset; /** * 十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15).<br> * 例如十进制数57,在二进制写作111001,在16进制写作39.<br> * 像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的

  • Java三种移位运算符原理解析

    这篇文章主要介绍了Java三种移位运算符原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位(符

  • java 三种将list转换为map的方法详解

    java 三种将list转换为map的方法详解 在本文中,介绍三种将list转换为map的方法: 1) 传统方法 假设有某个类如下 class Movie { private Integer rank; private String description; public Movie(Integer rank, String description) { super(); this.rank = rank; this.description = description; } public Int

  • 深入理解java三种工厂模式

    适用场合: 7.3 工厂模式的适用场合 创建新对象最简单的办法是使用new关键字和具体类.只有在某些场合下,创建和维护对象工厂所带来的额外复杂性才是物有所值.本节概括了这些场合. 7.3.1 动态实现 如果需要像前面自行车的例子一样,创建一些用不同方式实现同一接口的对象,那么可以使用一个工厂方法或简单工厂对象来简化选择实现的过程.这种选择可以是明确进行的也可以是隐含的.前者如自行车那个例子,顾客可以选择需要的自行车型号:而下一节所讲的XHR工厂那个例子则属于后者,该例中所返回的连接对象的类型取决

  • 浅谈Java 三种方式实现接口校验

    本文介绍了Java 三种方式实现接口校验,主要包括AOP,MVC拦截器,分享给大家,具体如下: 方法一:AOP 代码如下定义一个权限注解 package com.thinkgem.jeesite.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import j

  • 详解java 三种调用机制(同步、回调、异步)

    1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口: 3:异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口 具体说来:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法, 实例1:使用java中Timer来在给定时间间隔发送通知,每隔十秒打印一次数据 Tim

  • Java三种获取redis的连接及redis_String类型演示(适合新手)

    0>确保redis进程服务开启 1>第一种:直接获取redis连接,通过redis.()方法测试连接,如果返回PONG则证明连接正常 //1> jedis的入门代码案例,测试连接 @Test public void test01(){ //1. 获取java连接 redis的连接对象 Jedis jedis = new Jedis("node1", 6379); //2. 执行相关操作 String ping = jedis.ping(); System.out.pr

  • Java三种IO模型原理实例详解

    Java中IO的模型分为三种,同步阻塞的BIO.同步非阻塞的NIO.异步非阻塞的AIO. BIO[同步阻塞] 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行. NIO[同步非阻塞] NIO本身是基于事

随机推荐