• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
菜鸡学编程
博客园    首页    新随笔    联系   管理    订阅  订阅

数据类型扩展

整数类型拓展

  java中可以表示二进制、八进制、十进制、十六进制数
  其中二进制定义以0b开头
  例如 int i1 = 0b10;//表示把一个二进制数赋值给了i1,java会自动转换成十进制输出,输出值为2
  同理
  八进制以0开头
  int i2 = 010;//这个表示把一个八进制数赋值给了i2,输出值自动转换成十进制,输出值为数字8
  十六进制以0x开头
  int i3 = 0x10;//十六进制从0~9 A~F,转换成十进制输出,输出值为16
  十进制
  int i4 = 10;//没有任何前缀,表示正常十进制赋值,输出为十进制10

字符类型拓展

  char ch1 = 'a';
  char ch2 = '中';
  System.out.println(ch1);//输出 a
  System.out.println((int)ch1);//强制类型转换  输出97
  System.out.println(ch2);//输出 中
  System.out.println((int)ch2);//强制类型转换  输出20013
  以上说明了,任意一个字符都有与之对应的整型数字,所有的字符本质上都是数字
  Unicode编码中可以找到与字符一一对应的数字
  Unicode编码占用两个字节,unicode编码从0~65536
  如果需要直接使用Unicode编码,需要进行转义用 \u来表示
  使用范围从u0000~uFFFF,用十六进制来表示
  注意:这边如果不用u,而是使用0x,那么单纯就表示一个整型数字而不能表示一个字符,
  \u表示转义,从Unicode编码中查找对应数字的字符
  比如 char ch3 = '\u0061';//十六进制转换成十进制就是97
  System.out.println(ch3);//输出结果为  a

  拓展两个转义字符
  \t  表示tab键
  \n  表示换行
  举例
  System.out.println("Hello\tWorld!");//输出值为  Hello  World!  中间有一个tab键的空格
  System.out.println("Hello\nWorld!");输出结果为 Hello
                                                World! 这边有一个换行效果

浮点数类型拓展

  ***float 有限  离散  舍入误差  大约  接近但不准确***  
  ***double***
  float f1 = 0.1f;
  double d1 = 0.1;
  System.out.println(f1==d1);//输出结果为false

  float f2 = 323123123123132131f;
  double d2 = f2 + 1;
  System.out.println(f2==d2);//输出结果为true
  以上结果说明一个事情,因为精度的问题会存在一个舍入误差问题,后面会学到一个BigDecimal类来进行计算 
  所以我们最好完全避免使用浮点数进行比较

布尔类型拓展

  boolean flag = true;
  if(flag==true){};
  if(flag){};
  两种方式表达的效果是一样的,但是熟练之后基本选择第二种书写方式
posted @ 2021-03-13 23:35  菜鸡学编程  阅读(73)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3