JAVA基础

Java基础

1.整数与浮点数

不同进制数在java中的表示

​ 对不同进制的数都用int来声明,且初始化时不同进制前有不同的表示方法(在实际的数字之前):

  • 二进制:0b

  • 八进制:00

  • 十进制:直接写数字

  • 十六进制:0x

      //整数拓展 进制类型    二进制0b    十进制     八进制0       十六进制0x
            int b=0b0010;//二进制数 表示2
            int i=00010;//八进制数 表示8
            int it=10;//十进制数 表示10
            int is=0x0010;//十六进制数 表示16
            System.out.println(b);
            System.out.println(i);
            System.out.println(it);
            System.out.println(is);
    
    

浮点数拓展

面试问题:在银行系统中如何表示钱?

答案:用数学工具类 BigDemical。

 对于浮点数而言它的表示范围有限,并且float类型会造成误差不能用于精确的银行系统,一般并不能用浮点数进行比较,误差太大。
//浮点数中float表示范围有限并且会有舍入误差 少用浮点数进行比较
      float f=0.1f;
      double d=0.1;
      //理论上两者是相等的
      System.out.println(f==d);//判断语句

      float f1=12321312323123123f;
      float f2=f1+1;//理论上二者值不相等
      System.out.println(f1==f2);
 运行上述代码查看运行结果,机器运行出的答案和我们预期的恰好相反,这和float类型具有舍入误差和表示范围有限都有关系。

2.字符(串)类型拓展

字符与数字的关系

 所有字符在本身意义上都是数字,在编码表Unicode中用2字节表示了2^16个字符,所以每一个字符都有其对应的数字编码。
char c1='A';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制类型转换
System.out.println(c2);
System.out.println((int)c2);

​ c1和c2都是char类型的但可以进行强制类型转换为int类型,当它进行输出时就是其对应的数字编码。

转义字符

​ 转义字符由\和字母组成,在输出时代表了不同的含义。

//Unicode U000~UFFF
System.out.println("=========================================");
char c3='\u0061';//转义字符
System.out.println(c3);
System.out.println("=========================================");
//转义字符
//\t制表符(从中显示一个空格)
//\n换行符
System.out.println("base.Hello\tworld!");
System.out.println("base.Hello\nworld!");

字符串类型

​ 对于字符串类型,可以直接进行创建,但也可以创建一个对象,二者所表达的含义不同。直接创建相同的字符串会指向同一个内存地址,而创建对象会从两个不同的内存地址中建立。详情可以参考:

Java String 类 | 菜鸟教程 (runoob.com)

String sa=new String("base.Hello");
String sb=new String("base.Hello");


System.out.println(sa);
System.out.println(sb);
System.out.println(sa==sb);

System.out.println("=========================================");
String fa=("base.Hello");
String fb=("base.Hello");
System.out.println(fa==fb);

​ 第一个布尔值会输出false,第二个则为true。

3.布尔类型

​ 对于布尔类型,只有true和false两种类型,在这里规范一种在条件判断语句中的写法(less is more):

//布尔值扩展
    boolean flag=true;
    if (flag)//等价于if(flag==true) less is more
    {
        System.out.println("base.Hello\tworld!");
    }

学习来源:b站搜索“遇见狂神说”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值