数据类型拓展

 

整数拓展

public class Demo0 {
   public static void main(String[] args) {
       //整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x

       int i = 10;
       int i2 = 010;//八进制0
       int i3 = 0x10;//十六进制0x

       System.out.println(i);
       System.out.println(i2);
       System.out.println(i3);
  }
}


 

浮点数拓展

public class Demo0 {
  public static void main(String[] args) {
      float f = 0.1f;//0.1
      double d = 1.0 / 10;//0.1
      System.out.println(f == d);//false
      ///////////////////////////////////////////////////////////////
      //浮点数拓展? 银行业务怎么表示?钱
      //BigDecimal 数学工具类
      ///////////////////////////////////////////////////////////////
      //float   保存的字长是有限的 离散的 存在舍入误差 大约 接近但不等于
      //double
      //最好完全避免使用浮点数进行比较!
      float d1 = 231212231231L;
      float d2 = d1 + 1;
      System.out.println(d1 == d2);
  }
}

 

字符拓展

public class Demo0 {
   public static void main(String[] args) {
    ///////////////////////////////////////////////////////////////
       //字符拓展
    ///////////////////////////////////////////////////////////////
       char c1 = 'a';
       char c2 = '中';

       System.out.println(c1);
       System.out.println((int)c1);//强制转换
       System.out.println(c2);
       System.out.println((int)c2);//强制转换
       //所有的字符本质还是数字
       //编码 Unicode 2字节 表示0~65535 Excel 2字节 2^16 = 65536个表格
       //U0000 UFFFF
       char c3 = '\u0061';
       System.out.println(c3);
  }
}


转义字符

定义

所有的ASCII码都可以用""加数字(一般是8进制数字)来表示. Java语言中定义了一些字母前加""来表示特殊含义的字符, 如\0,\t,\n等, 称为转义字符(Escape Character).

斜线与反斜线

/ 斜线(slash), 又称为forward slash (前斜线), 原本是标点符号. 起源于古罗马,中世纪时用作逗号(而当时的双斜线//是被当作连接号的,后来演化成等号=). Linux系统文件路径使用.

\ 反斜线(backslash), Windows系统文件路径, 程序编码转义, Unicode编码等都使用.

转义字符表

斜杠:"/" 与 反斜杠:"\" ,此处不可互换

Java中转义字符, 用单引号标识, 是char类型.

八进制转义序列: \ + 1到3位5数字;范围'\000'~'\377'

\0:空字符

Unicode转义字符:\u + 四个十六进制数字;0~65535 \u0000:空字符

常用Unicode字符对照表

点的转义:. -> u002E

美元符号的转义:$ -> u0024

乘方符号的转义:^ -> u005E

左大括号的转义:{ -> u007B

左方括号的转义:[ -> u005B

左圆括号的转义:( -> u0028

竖线的转义:| -> u007C

右圆括号的转义:) -> u0029

星号的转义:* -> u002A

加号的转义:+ -> u002B

问号的转义:? -> u003F

反斜杠的转义: -> u005C

特殊字符

\" : 双引号

\' : 单引号

\\ : 反斜线

控制字符

\r 回车

\n 换行

\f 走纸换页

\t 横向跳格

\b 退格

转义字符表转义字符意义ASCII码值(十进制)


底层小知识

import java.util.Scanner;
import java.util.Calendar;
public class Demo0 {
   public static void main(String[] args) {
       String sa = new String("hello world");
       String sb = new String("hello world");
       System.out.println(sa == sb);

       String sc = "hello world";
       String sd = "hello world";
       System.out.println(sc == sd);
       //对象 从内存分析
       //==在对比变量是对比值。对比引用类型是对比地址值 .new必定是创建
       // 一个新的地址,故第一个不相同。 .string是存在常量池中的,两个
       //标识符指向同一地址,故第二个相同。
  }
}

布尔值拓展

public class Demo0 {
   public static void main(String[] args) {
       //布尔值扩展
       boolean flag = true;
       if(true)//老手
      {
           
      }
       if(true == flag)//新手
      {
           
      }
  }
}

 追求小而精

posted @ 2020-10-03 11:35  0基础学Java  阅读(95)  评论(0)    收藏  举报