Java 的进制

1.类型转换
自动类型转换(隐式类型转换)
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为
同一类型,然后进行运算。
转换从低级到高级。
自动转换有以下规律:
小的类型自动转化为大的类型
整数类型可以自动转化为浮点类型,可能会产生舍入误差
字符可以自动提升为整数
2.强制类型转换(显式类型转换)
格式: (type)value type是要强制类型转换后的数据类型
注意:
强制类型转换可能导致溢出或损失精度
在把容量大的类型转换为容量小的类型时必须使用强制类型转换
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
示例代码:
package com.gx.demo;
public class ConvertType {
public static void main(String[] args) {
// =====自动类型转换(隐式转换)
// 小的类型自动转化为大的类型
byte byteValue1=110;
int intValue1=byteValue1+50;
System.out.println(intValue1);
// 整数类型可以自动转化为浮点类型,可能会产生舍入误差
// Float和Double提供了快速的运算,然而问题在于转换为二进制的时候,有些数字不能完全转换,只能无限接近于原本的值
float floatValue1=2+10f;
float floatValue2=floatValue1‐11.9f;
System.out.println(floatValue2);
// 字符可以自动提升为整数
char charValue1 =‘a’;
int intValue2=charValue1+10;
System.out.println(intValue2);
//======强制类型转换
//‐‐强制类型转换可能导致溢出或损失精度
//导致溢出
byte d = (byte) 128;
// 00000000 00000000 00000000 10000000 128的原码
// 00000000 00000000 00000000 10000000 128的反码
// 00000000 00000000 00000000 10000000 128的补码
// 10000000 的补码
// 11111111 反码
// 10000000
System.out.println(d);
/**

  • 关于 原码,反码,补码的知识(了解)
  • 正数的反码,补码是其本身;
  • 负数的反码是符号位保持不变,其余位取反;负数的补码是在其反码的基础上+1
    */
    //损失精度
    System.out.println(Long.MAX_VALUE);
    float floatValue3=(float) Long.MAX_VALUE;
    System.out.println(floatValue3);
    //‐‐在把容量大的类型转换为容量小的类型时必须使用强制类型转换
    int intValueA=120;
    byte byteValueB=(byte) intValueA;
    System.out.println(byteValueB);
    //‐‐浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
    int intValue3=(int)23.7;
    int intValue4=(int)‐23.7;
    System.out.println(intValue3);
    System.out.println(intValue4);
    }
    }
    JDK 是java的开发环境
    JRE 是java的运行环境

Java创建一个公共的类: public 公共的 , class 类 ,ppq 这个类的类名(注意:公共的类的类名必须要和文件名相同)
public class ppq{

}

一个字节 = 8个格子

十六进制的前缀:0x
八进制的前缀:0
二进制的前缀:0b

进制就是取决于能用的数值范围。
例如:二进制的数值范围是0和1两个数
八进制的数值范围是0~7
十进制的数值范围是0~9
十六进制的数值范围是0~f
注意:数值范围就是可用数字的范围。例如:八进制就是可用的数字为“01234567”这八个数。像8,9这种数字就不能出现。
整数的默认类型是:int类型
小数的默认类型是:double类型。
所以,在设置整数和浮点数(有小数点的小数)时要加上修饰符。
例如:float p=1.2f; 当p=1.2 的float 类型是小数时,要在值的后面加上修饰符,就是f或者F。
如果没有加上,就默认为double类型的。

指数符号位 就是指数前面的符号,有正有负。例如:2^-4 “-”就是指数符号
指数:2^4 。4就是指数,指数有正有负
尾数位:小数转化为二进制后的范围。就是可以存放多少二进制的数

无论是单精度还是双精度在某些计算时都是近似值,在将其他进制数转化为二进制时(计算机只认得二进制,如何进制数在计算机运行时都是二进制)会出现精度丢失,所以造成出现近似值
近似值:就是约等于精确值。例如约等于2.000009这种。小数多但有值的
精确值:就是精确的值。字面上的意思。例如等于2就是2,不是约等于2.000009这种
浮点数大多数都是近似值

上一篇:for循环例子2


下一篇:替换map中已知key的value值