Java中的常量和常量的表现形式及进制的转换

1.常量

  在程序执行的过程中,其值不发生改变的量。

  分类:

    (1) 字面值常量

      字符串常量:用双引号括起来内容

      字符常量:用单引号括起来的内容

      整数常量:所有整数

      小数常量:所有小数

      布尔常量:true 或 false

      空常量: null

    (2) 自定义常量(符号常量)

      用final修饰变量(也就是常量)

2.常量的表现形式

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

    二进制  八进制  十进制  十六进制

3.进制的概述:

  进制就是进位制,是人们规定的一种进位方法。几进制就是逢几进一。

  计算机的电子原件的状态只有开和关两种,分别用1和0来表示。

  如果我们表达数据只用这两种状态,那么能够表达的数据是比较少的。

  我们常见的数据:英文字母,数字,标点,符号……有很多,两个状态

  肯定是不够的。

  为了能够表达更多的数据,国际化标准组织就规定:用8个这样的信号表示

  一个数据,这个数据的单位叫:字节(byte);

  不同进制的组成:

    二进制:由0,1组成,以 0b 开头。

    八进制:由0,1,2,... 7组成,以 0 开头。

    十进制:由0,1,2,...9组成,默认为十进制数。

    十六进制:由0,1,2,...a,b,c,d,e,f(大小写均可) 组成,以0x开头。

4.进制间的转换

  其它进制到十进制的转换:位权展开法。

  由十进制 ? 十进制推理:

    十进制数 12345 = 10000 + 2000 + 300 + 40 + 5

                 = 1*10^4 + 2 *10^3 + 3*10^2 + 4*10^1 + 5*10^0

                      = 10000 + 2000 + 300 + 40 + 5

                         =12345

  二进制 ? 十进制:

    二进制数 100 = 1*2^2 + 0*2^1 + 0*2^0

           =4 + 0 + 0

           = 4

  八进制 ? 十进制:

    八进制 100 = 1*8^2 + 0*8^1 + 0*8^0

          = 64 + 0 + 0

          = 64

  十六进制 ? 十进制:

    十六进制 100 = 1*16^2 + 0*16^1 + 0*16^0

           = 256 + 0 + 0

           = 256

  十进制到其它进制:转几进制,就除几,余数倒着取。八进制和十六进制同理。

  

  十进制和二进制的快速转换法:8421码

    它表达的意思是每一个二进制位上的数据对应一个固定的值。

    只需要把对应的1位置的数据值相加,即可得到该二进制对应的十进制的值。

    二进制:  1  1     1  1  1  1  1  1

        十进制:128   64  32   16   8     4  2  1

    Eg:二进制1010100转十进制:

        0b1010100 = 64 + 16 + 4

              = 84

       十进制100转二进制:

        100 = 0b1100100

  二进制到八进制,十六进制

    (1)先转成十进制,再转成其他进制

    (2)拆分组合法

      二转八进制:

        把二进制的数据从右开始,每三位一组合,最左边不够用0补齐,然后

        分别计算出对应的十进制数值,最后把每个十进制的数据组合起来,就是

        一个八进制数据。

      二转十六:

        把二进制的数据从右开始,每四位一组合,最左边不够用0补齐,然后

        分别计算出对应的十进制数值,最后把每个十进制的数据组合起来,就是

        一个十六进制数据。

    进制越大,表现形式越短。

有符号数据表示法:

  在计算机内,有符号数有3中表示法:原码,反码和补码。

  所有数据的运算都是采用补码进行的。

  原码:

    就是二进制定点表示法,即最高位为符号位,"0" 表示正 "1"表示负,其余位表示数据的大写。
  反码:

    正数的反码与其原码相同;负数的反码是对其原码逐位取反(1变0,0变1),符号位除外。

  补码:

    正数的补码与其原码相同;负数的补码是在其反码的末位加1。

  总结:正数的原码,反码,补码相等。

原文地址:https://www.cnblogs.com/lzpsir/p/12169024.html

时间: 2024-07-31 15:15:26

Java中的常量和常量的表现形式及进制的转换的相关文章

Java中的String与常量池

string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种基本数据类型,String是一个类类型. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null: 3. String str=”k

Java中的String与常量池[转帖]

string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. new String()和new String("")都是申明一个新的空字符串,是空串不是null: 3. String st

Java基础知识强化106:Java中如何实现十进制到其他进制的转换

下面是示例代码,我们直接通过JDK工具库中的方法实现的,如下: 1 package com.himi.radix; 2 3 4 /** 5 * Java中如何实现十进制到其他进制的转换 6 * @author hebao 7 * 8 */ 9 public class IntegerToOther { 10 11 public static void main(String[] args) { 12 int n = 14; 13 //十进制转成十六进制: 14 String n0 = Integ

Java转义字符和进制的转换

一:转义字符 \r 表示接受键盘输入,相当于按下回车. \n 表示换行. \t  制表符,相当于Table键 \b 退格键,相当于Back Space \'  单引号 \'' 双引号 \\ 表示一个斜跨 注意:换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符 二:进制的转换 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为0 ,将余数从下上连接起来就是二进

js中基本类型的转换,进制的转换

一.基本类型的转换 1.数字转字符串 //直接给数字加空的字符串. var num=20; var str=20+" "; console.log(typeof str);//string //使用String()函数,让数字更加显示的转为字符串 var num=20; var str=String(num); console.log(typeof str);//string //使用toString()方法.toString()有一个参数,用来指定转换的基数.(十进制/二进制/八进制

c++与Java中的变量和常量

实际上这正是C++和Java的一个重要不同之处.C++编译器不对本地变量进行初始化检验,所以在C++中很容易忘记初始化一个变量,这种情况下,变量的值该变量所占内存区域中刚好当前存在随机值.这显然是很容易产生程序出错的地方. 与Java一样, C++中类可以有数据域和静态变量.不同的是,C++中变量可以在函数甚至是类的外面定义,这些所谓的全局变量可以在程序的任何函数中被访问,因而不易被很好的管理.所C++中应该尽量避免使用全局变量. 在C++中,常量可以在任何地方被定义(记得在Java中,常量必须

java中的String类常量池详解

test1: package StringTest; public class test1 { /** * @param args */ public static void main(String[] args){ String a = "a1"; String b = "a"+ 1; System.out.println(a==b); }//true } test2: package StringTest; public class test2 { /** *

java中的编译时常量与运行时常量

常量是程序运行期间恒定不变的量,许多程序设计语言都有某种方式,向编译器告知一块数据是恒定不变的,例如C++中的const和Java中的final. 根据编译器的不同行为,常量又分为编译时常量和运行时常量,其实编译时常量肯定就是运行时常量,只是编译时常量在编译的时候就被执行计算,并带入到程序中一切可能用到它的计算式中. 以Java为例,static final int a = 1将是一个编译时常量,编译后的符号表中将找不到a,所有对a的引用都被替换成了1. 而static final int b

获取码值(各种类型字符(中、英)的ASCII)和进制转换系统(包括正负数、小数)

获取码值和进制转换 程序由来: 本人发现计算机中的计算器木有将十进制小数转二进制的功能,后来发现一些网站将十进制负数转二进制只是求出整数的二进制,然后前面加"-",这种表示不是真正的负数二进制.于是爱较真儿的我写了一个可以转十进制小数.负数.负数加小数为二进制的系统,供大家学习参考.介于理解代码,代码中运用到了纯拼音.虽然是拼音,但符合代码编写格式.介于个人知识有限,代码如有需要修改和改进的地方,敬请大家评教指正,共同学习. 实现功能: 获取字符的码值,包括中文. 进制转换包括:十进制