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

整数拓展:进制

  • 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. 【数据结构与算法】Java制作一个简单数组类

    bobo老师的玩转算法系列–玩转数据结构 简单记录 文章目录 不要小瞧数组 - 制作一个数组类 1 .使用Java中的数组 数组基础 简单使用 2.二次封装属于我们自己的数组 数组基础 制作属于我们自 ...

  2. CTFshow-萌新赛杂项_劝退警告

    下载附件 https://www.lanzous.com/i9wocah 下载后得到一个劝退警告.zip 解压得到一张gif图片 使用binwalk分析发现包含zip 于是拿到了一个压缩包 打开后发现 ...

  3. Android之Xposed

    基础书籍推荐:1.疯狂JAVA讲义:2.疯狂安卓讲义: 逆向分析必须知道他的原理,不然只会用工具,那就直接GG. 谷歌的镜像网站:https://developers.google.com/andro ...

  4. Linux删除文件后磁盘目录不释放

    今天测试oracle数据库的时候,把表空间连带内容和数据文件一并删除了,但是删除之后,查看数据文件不存在了,但是目录的带下没有释放 SQL> drop tablespace users incl ...

  5. 【Azure 存储服务】Python模块(azure.cosmosdb.table)直接对表存储(Storage Account Table)做操作示例

    什么是表存储 Azure 表存储是一项用于在云中存储结构化 NoSQL 数据的服务,通过无结构化的设计提供键/属性存储. 因为表存储无固定的数据结构要求,因此可以很容易地随着应用程序需求的发展使数据适 ...

  6. kafka(一)入门

    一.消息引擎系统 这类系统引以为豪的消息传递属性,像引擎一样,具备某种能量转换传输的能力 消息引擎系统是一组规范,企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递.通俗地讲 ...

  7. Python语言程序设计---函数的定义与使用

    推荐一个Python学习交流的q群:610380249 在学习Python的过程中,有什么不懂的问题都可以发群里,一起讨论. 1 函数的理解和定义 函数是一段代码的表示,所指定的参数是一种占位符,如果 ...

  8. GlusterFS分布式存储系统复制集更换故障Brick操作记录

    场景: GlusterFS 3节点的复制集,由于磁盘故障,其中一个复制集需要重装系统,所以需要重装glusterfs并将该节点加入glusterfs集群 一. 安装GlusterFS 首先在重装系统节 ...

  9. linux设备

    设备初始化时同样要执行一个device_register函数,该函数传入一个struct device *类型的指针,因此要定义一个struct device类型的变量作为我们的设备. struct ...

  10. Arduino 上手实战呼吸灯

    前言 这篇稿子比以往的时候来的稍晚了一些,望fans们见谅,那即便如此,最终还是姗姗来迟了,公司新一轮战略性部署,被拖出去孵化新产品,开拓新市场去了,手头精力没有那么多了,另外产品一茬接一茬.韭菜一波 ...