数据类型扩展以及面试题讲解

整数拓展:进制

  • int i=10;

  • int i2=010; //八进制0

  • int i3=0x10; //十六进制0x 0~9 A~F 16

    相关进制转换自行学习,用的不多

浮点数拓展

银行业务怎么表示? 钱的问题意味着精准不能出错

通常实用BigDecimal来表示,这是一个数学工具类

float与double 有有限,离散,接近但不等于,舍入误差这样的特点

因此最好不要使用浮点数进行比较

        float f=0.1f;//0.1
       double d=1.0/10;//0.1
       System.out.println(f==d);//false

       float d1=22223333333333333f;
       float d2=d1+1;
       System.out.println(d1==d2);//true

字符拓展

所有的字符本质都是数字,强制转换,字符型转整数型时都会被换成数字,这里就涉及到编码

编码Unicode表中97=a,占两个字节,能表示0~65536的数

很多人都以为Excel是无限的,其实不然,最大也时65536(2的16次方)

在Java中也可以用16进制的写法

        char c1='a';
       char c2='中';
       System.out.println(c1);
       System.out.println((int)c1);//强制转换
       System.out.println(c2);
       System.out.println((int)c2);//强制转换
       //所有的字符本质还是数字
       //编码 Unicode表中97=a   2字节 0~65536                 Excel 2的16次方=65536

       //U0000~UFFFF
       char c3='\u0061';//里面的61是16进制
       System.out.println(c3);

转义字符总结

\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
\? 代表一个问号 063
\0 空字符(NUL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 十六进制所代表的任意字符 十六进制

分析一些东西

前面写浮点数时,了解了看上去相等的东西其实是不等的,这里利用对象来展示一下

        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);

输出结果

flase
true

为啥呢,这里涉及到java的一些设定上的东西,java有堆和栈的概念

第一个输出结果是因为两次创建对象分了不同的内存,在这个概念

上sa和sb不是一个东西

第二就是简单创建两个变量的结果,调用的是同一个内存下的东西

布尔值拓展

        boolean flag=true;
       if (flag==true){ }//新手
       if (flag){ }//老手
       //Less is More!   代码要精简易读

代码要精简易读

以后等你成为大佬了,就不会再看到新手代码了,但现在,作为一个小白,必须认认真真的写,不能偷懒哦

Java基础(第二期)的更多相关文章

  1. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  2. JAVA面试精选【Java基础第二部分】

    上一篇,我们给出了大概35个题目,都是基础知识,有童鞋反映题目过时了,其实不然,这些是基础中的基础,但是也是必不可少的,面试题目中还是有一些基础题目的,我们本着先易后难的原则,逐渐给出不同级别的题目, ...

  3. java基础第二篇

    3.选择结构 a.if: 格式一: if(表达式1){ 表达式1为真才执行 } 格式二: if(表达式1){ 表达式1为真才执行 }else{ 表达式1位假才执行 } 格式三:判断工龄的范围,判断成绩 ...

  4. Java基础の第二弹 基础语法

    Java关键字 •  abstract:表明类或类中的方法是抽象的:•  boolean:基本数据类型之一,布尔类型:•  break:提前跳出一个块:•  byte:基本数据类型之一,字节类型:•  ...

  5. JAVA基础第二组(5道题)

    6.[程序6] 题目:输入两个正整数m和n,求其最大公约数和最小公倍数.        1.程序分析:利用辗除法. package com.niit.homework1; import java.ut ...

  6. 复习java基础第二天(异常处理)

    一.常见的异常类型: public class TestException { public static void main(String[] args) { int i = 10; //数学异常: ...

  7. Java基础第二天--多态、接口

    多态 多态的概述 同一个对象,在不同时刻表现出来的不同形态 多态的前提和体现 有继承/实现关系 有方法重写关系 有父类引用指向子类对象 public class Animal { public voi ...

  8. java基础第二天

    学习了关键字,标识符,数据类型.变量和常量,运算符和表达式,开始编写一些简单的输入输出运算的程序了.

  9. Java基础第二章

  10. JAVA基础第五章-集合框架Map篇

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

随机推荐

  1. 【译】Async/Await(二)——Futures

    原文标题:Async/Await 原文链接:https://os.phil-opp.com/async-await/#multitasking 公众号: Rust 碎碎念 翻译 by: Praying ...

  2. 【MySQL】汇总数据 - avg()、count()、max()、min()、sum()函数的使用

    第12章 汇总数据 文章目录 第12章 汇总数据 1.聚集函数 1.1.AVG()函数 avg() 1.2.COUNT()函数 count() 1.3. MAX()函数 max() 1.4.MIN() ...

  3. 【Linux】postfix大坑笔记

    由于需要,想弄一个自动发送邮件的mailx或者sendmail 但是执行 echo "test" | mail -s "Worning mail !" xxxx ...

  4. su3和SU01中参数说明

    对于SU3和SU01中的的"参数"tab栏中的参数可以自己添加和删除. 所有的参数都存在表TPARA中,并且有对应的参数的说明. 那么这些参数如何使用呢? 通常的使用是,通过类似  ...

  5. 1.2V升压到3V和3.3V的升压芯片

    1.2V镍氢电池升压到3V和3.3V输出,1.2V升压3V,1.2V升压3.3V稳压输出供电的芯片. PW5100 是一款低静态电流.达效率. PFM 模式控制的同步升压变换器. PW5100 所需的 ...

  6. Spring Boot(IDEA,Gradle)超详细用户管理项目(一)——Hello World

    1.构建工具的配置(Gradle):自定义-所有设置:构建.执行.部署-构建工具-Gradle: 设置Gradle用户主目录:(该目录相当于仓库,gradle将下载所需依赖到此目录下),此目录下可新建 ...

  7. django之orm单表查询

    这几天重新学习了一下django的orm,以此作为记录来分享. Part1:修改配置,生成表 在写数据和查数据之前,首先先得把django配置一下,具体配置如下: 1.先在公共项目的settings中 ...

  8. ././include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h: No such file or directory 解决办法

    我在编写内核驱动模块的时候报了一个非常奇怪的错误,如下图: 在目录下看了一下确实没有发现这个文件,感觉很奇怪,因为我记得之前编译模块是没有错误的,所以不可能是我代码写的有问题. 查阅了资料很多说要清除 ...

  9. ip_hash(不推荐使用) 会话粘性问题分析 Cookie 的 Session Sticky

    Nignx 连接tomcat时会话粘性问题分析_changyanmanman的专栏-CSDN博客_后端tomcat导致 前端elb中断 https://blog.csdn.net/cymm_liu/a ...

  10. Update Node Using a Package Manager nodesource

    How to Update Node.js to Latest Version (Linux, Ubuntu, OSX, Others) - HostingAdvice.com https://www ...