数据类型拓展

整数拓展

进制

​ 通常我们使用的都是10进制的整数,java中可以表示不同进制的整数

进制 表示方法
二进制 0b
八进制 0
十进制 默认
十六进制 0x

看看下面这个例子吧

  1. int num1=0b10;//二进制
  2. int num2=010;//八进制
  3. int num3=10;//十进制
  4. int num4=0x10;//十六进制 0~9 A~F
  5. int num5=0xF;//十六进制
  6. System.out.println(num1);
  7. System.out.println(num2);
  8. System.out.println(num3);
  9. System.out.println(num4);
  10. System.out.println(num5);

输出结果

  1. 2
  2. 8
  3. 10
  4. 16
  5. 15

浮点数拓展

浮点数的特点:

  • 有限

  • 离散

  • 有舍入误差

最好完全避免使用浮点数进行比较

金钱类型做好使用BigDecimal类去定义

BigDecimal :数学工具类

字符拓展

字符类型可以通过int(字符)强制转换为字符的Unicode码

  1. //字符拓展
  2. char c1='a';
  3. char c2='中';
  4. char c3='\u0061';
  5. System.out.println(c1);
  6. System.out.println((int)c1);//强制转换为字符类型的ASCALL码输出
  7. System.out.println(c2);
  8. System.out.println((int)c2);
  9. System.out.println(c3);

输出结果

  1. a
  2. 97

  3. 20013
  4. a

转义字符

\t 制表符

\n换行符

  1. System.out.println("hello\tworld");
  2. System.out.println("hello\nworld");

输出结果

  1. hello world
  2. hello
  3. world

思考

  1. String sa=new String("hello world");
  2. String sb=new String("hello world");
  3. String sc="hello world";
  4. String sd="hello world";
  5. System.out.println(sa==sb);
  6. System.out.println(sa.equals(sb));
  7. System.out.println(sc==sd);
  8. System.out.println(sc.equals(sd));

输出结果

  1. false
  2. true
  3. true
  4. true

思考这是为什么?(从内存分析)

布尔值拓展

  1. boolean flag=true;
  2. if(flag==true){};//新手程序员
  3. if(flag){};

if(flag==true)和if(flag)的效果是一样的。

狂神说java

Day003 数据类型拓展的更多相关文章

  1. Day003 数据类型

    数据类型 强类型语言 ​ 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(java.c++.c#) 弱类型语言 ​ 与强类型语言定义相反(javaScript) Java的数据类型 基本 ...

  2. Java数据类型拓展

    public class Demo03 { public static void main(String[] args) { //整数拓展: 二进制0b 十进制 八进制0 十六进制0x int i = ...

  3. java基础:数据类型拓展

    public static void main(String[] args) { //单行注释 //输出hello,world! //System.out.println("hello,wo ...

  4. JAVASE:01数据类型及其拓展

    JAVASE:01数据类型及其拓展 八大基本数据类型 与c不同的地方:long类型后加L:float类型后加F: public class Demo02 { public static void ma ...

  5. java数据类型(进阶篇)

    public class note03 { public static void main(String[] args) { //数据类型拓展 //1.整数拓展 //进制: 二进制0b 十进制 八进制 ...

  6. JAVA-标识符、变量、数据类型

    标识符和关键字 ​ 所有的标识符否应该以字母a ~ z和 A ~Z ,美元符($).下划线(_)开始. ​ 首字符之后可以是字母a ~ z和 A ~Z ,美元符($).下划线(_)的任意字符组合. 注 ...

  7. JAVA_标识符、数据类型、变量

    标识符和关键字 ​ 所有的标识符否应该以字母a ~ z和 A ~Z ,美元符($).下划线(_)开始. ​ 首字符之后可以是字母a ~ z和 A ~Z ,美元符($).下划线(_)的任意字符组合. 注 ...

  8. Java数八大据类型的拓展

    public class 数据类型拓展问题 { public static void main(String[] args) { //================================= ...

  9. java类型转换拓展

    数据类型拓展 在Java中二进制用0b开头,八进制用0开头,十六进制用0x表示 整数拓展  int i=10; int i2=010;//八进制 int i3=0x10;//十六进制0x,0-9,A- ...

随机推荐

  1. FreeBSD安装xorg + xfce 4

    FreeBSD安装xorg,以及xfce 安装xorg 可选包 -xorg 完整xorg环境包 -xorg-minimal xorg最小化包 ports安装 cd /usr/ports/x11/xor ...

  2. Java高并发编程基础三大利器之CountDownLatch

    引言 上一篇文章我们介绍了AQS的信号量Semaphore<Java高并发编程基础三大利器之Semaphore>,接下来应该轮到CountDownLatch了. 什么是CountDownL ...

  3. Java流程控制:用户交互Scanner

    java.util.Scanner工具类获取用户输入语法:Scanner scanner = new Scanner(System.in);通过Scanner类的next()与nextLine()方法 ...

  4. ElasticSearch入门篇(保姆级教程)

    本章将介绍:ElasticSearch的作用,搭建elasticsearch的环境(Windows/Linux),ElasticSearch集群的搭建,可视化客户端插件elasticsearch-he ...

  5. Linux系统用户与用户组管理

    一.用户和用户组的管理 1.新增组 groupadd 命令 格式:groupadd 组名 2.删除组 groupdel 格式:groupdel 组名 3.增加用用户命令 useradd   格式:us ...

  6. 2019HDU多校第七场 HDU6656 Kejin Player H 【期望递归】

    一.题目 Kejin Player H 二.分析 因为在当前等级$i$,如果升级失败可能会退回到原来的某一等级$x$,相当于就是失败的期望就是$E + (Sum[i-1] - Sum[x-1]) + ...

  7. BZOJ_4034 [HAOI2015]树上操作 【树链剖分dfs序+线段树】

    一 题目 [HAOI2015]树上操作 二 分析 树链剖分的题,这里主要用到了$dfs$序,这题比较简单的就是不用求$lca$. 1.和树链剖分一样,先用邻接链表建双向图. 2.跑两遍$dfs$,其实 ...

  8. python基础之赋值运算

    之前的文章说明了变量的三大组成部分,详细说明了变量名与变量值,但是对于赋值这一块介绍相对较少,今天就来对这一部分进行补充,除了egon老湿所讲之外,本喵还参阅了<python3-cookbook ...

  9. Ansible-Playbook中的变量使用

    变量名:仅能由字母.数字和下划线组成,且只能以字母开头 变量来源: 1.ansible all -m setup 远程主机的所有变量都可直接调用 #显示所有变量 ansible all -m setu ...

  10. OOUnit3Summary

    一.JML基础梳理及工具链 jml语言基础 JML的全称是Java Modeling language,是一种行为接口规格语言,通过JML及其支持工具,不仅可以基于规格自动构造测试用例,还可用SMT ...