Java知识点及面试题

整数拓展

  • 进制

    1. 二进制0b
    2. 八进制0
    3. 十进制
    4. 十六进制0x
public class Demo03 {
public static void main(String[] args) {
int num1 = 0b10;//int在内存里是以二进制存储的
int num2 = 010;
int num3 = 10;//为了方便观看,int输出的时候使用十进制进行输出
int num4 = 0x10; System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);
}
}

浮点数拓展

public class Demo03 {
public static void main(String[] args){
float num5 = 3.141592f;//float精确到第七位数
double num6 = 3.141592;//double精确到第十六位数 System.out.println(num5);
System.out.println(num6);
System.out.println(num5==num6);//ture
//精度不同,因为31.41592不等于31.41592000000000 float num7 = 3.1415926f;
float num8 = num7 + 0.0000001f;//在float数据类型中,值加整数不用在整数后加F或f,值加浮点数要在浮点数后加F或f System.out.println(num7);
System.out.println(num8);
System.out.println(num7==num8);//false
}
}

字符拓展

  1. 所有字符的本质还是数字

    • Unicode编码表中的每个编码占2个字节,且Unicode的编码可以处理各种语言的文字,不止有25536个字符
    • 在Unicode编码表中字符都是用数字表示的,例如:97=a,65=A
    • 以前的Excel表格最长只可以表示2的16次方=25536个字符
    • \u是转义字符,表示后面跟一个十六进制数,再通过这个十六进制数来指定一个字符

    • \u不能出现在注释中,\u在注释中也会转义,不然运行时会显示非法的 Unicode 转义

    • 注意

      //\u000d System.out.println("Hello World!"); 会输出hello world!
      \u000d,\\\u000d, \\\\\u000d...奇数个\都会转义
      \\u000d, \\\\u000d...偶数个\不会转义
  2. 常用的转义字符

    \n:回车换行符。显示该字符时,光标移到下一行的行首
    \r:回车符。显示该字符时,光标移到当前行的行首
    \t:水平制表符。显示该字符时,光标向右移动一个制表位
    \v:垂直制表符。显示该字符时,光标向下移动到下一行的同一列制表位
    \b:退格
    \f:换页
    \a:鸣铃
    \\:反斜杠字符
    \':单引号符
    \":双引号符
    \d \dd \ddd:1~3位八进制数所代表的字符,d的值可以是0~7的任何数字
    \xh \xhh:1~2位十六进制数所代表的字符,h的值可以是0~f的任何字符
    public class Demo03 {
    public static void main(String[] args) {
    System.out.println("Hello\nWorld");
    }
    }

对象 从内存分析

  1. new关键字会在内存申请一块空间,空间中就有地址,new了几次,就有几块空间,就有几个地址
  2. ==:如果比较的对象是引用数据类型,则比较的是地址是否一致,如果比较的对象是基本数据类型,则比较的是值是否一致
public class Demo03 {
public static void main(String[] args) {
String d1 = new String("Hello,world!");//new关键字会在内存申请一块空间,空间中就有地址
String d2 = new String("Hello,world!");//new了几次,就有几块空间,就有几个地址
System.out.println(d1==d2);//这里比较的是地址是否相等 String d3 = "Hello,world!";
String d4 = "Hello,world!";
System.out.println(d3==d4);//这里比较的是值是否相等,d3和d4都是在字符串常量池取出来的,值以及存储地址都一样
}
}

布尔值拓展

public class Demo03 {
public static void main(String[] args) {
boolean fleg=true;
if (fleg==true){}//新手
if (fleg){}//老手 //Less is More! 代码要精简易读!
}
}

【Java学习Day09】Java知识点及面试题微讲的更多相关文章

  1. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  2. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  3. [ Java学习基础 ] Java构造函数

    构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用. Java构造方法的特点如下: 构造方法名必须与类名相同. 构造方法没有任何返回值,包括void. 构造方法只 ...

  4. [ Java学习基础 ] Java的继承与多态

    看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...

  5. [ Java学习基础 ] Java的抽象类与接口

    一.抽象类 1. 抽象类 Java语言提供了两种类:一种是具体类:另一种是抽象子类. 2. 抽象类概念: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的 ...

  6. Java学习---面试基础知识点总结

    Java中sleep和wait的区别 ① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线 ...

  7. Java学习之Java接口回调理解

    Java接口回调 在Java学习中有个比较重要的知识点,就是今天我们要讲的接口回调.接口回调的理解如果解释起来会比较抽象,我一般喜欢用一个或几个经典的例子来帮助加深理解. 举例:老板分派给员工做事,员 ...

  8. java学习笔记----java入门

    java基础 一.java语言跨平台原理 1.什么是跨平台? 跨平台就是一个软件可以在不同的操作系统中运行,但是不需要对其修改.换句话说,java语言编写的软件在不做修改的情况下就能在不同的系统平台上 ...

  9. java学习路线图-----java基础学习路线图(J2SE学习路线图)

    安装JDK和开发软件跳过,网上太多了,不做总结,以下是我总结的学习路线图,欢迎补充. JAVA基础语法 注释,标识符命名规则及Java中的关键字 Java基本数据类型 Java运算符与表达式 Java ...

  10. Java学习笔记 -- Java定时调度工具Timer类

    1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Ja ...

随机推荐

  1. 【白话科普】聊聊网络架构变革的关键——SDN

    最近二狗子在网上冲浪的时候,不小心将 CDN 搜索成了 SDN,结果跳出来了一大堆相关的知识点. 好学的二狗子当然不会随随便便糊弄过去,于是认认真真学习了好久,终于了解了 SDN 是什么. 原来,SD ...

  2. quasar使用electron打包

    quasar使用electron打包  从构建好的项目中,我们不难发现,electron打包有两种方式: electron-packager打包  这篇博客是通过我尝试了很多种方法之后,最先开始,我使 ...

  3. selenium结合tenacity的retry实现验证码失败重试

    说在前面 验证码登录的demo后续可以单独讲解,VIP学员对这部分应该都是掌握的,此处不再赘述 本文假设了一个场景 你通过OCR识别的验证码是有一定的错误几率的 本文是通过识别后的验证码去加一个随机字 ...

  4. MySQL数据类型补充

    数据类型 整数数据类型 特殊说明: ​ 对于整数类型,MySQL还支持在类型名称后面加小括号(M),而小括号中的M表示显示宽度,M的取值范围是(0, 255).int(M)这个M在字段的属性中指定了u ...

  5. 代码随想录算法训练营day22 | leetcode 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点

    LeetCode 235. 二叉搜索树的最近公共祖先 分析1.0  二叉搜索树根节点元素值大小介于子树之间,所以只要找到第一个介于他俩之间的节点就行 class Solution { public T ...

  6. PostgreSQL函数如何返回数据集

    背景: PostgreSQL里面没有存储过程,只有函数,其他数据库里的这两个对象在PG里都叫函数. 函数由函数头,体和语言所组成,函数头主要是函数的定义,变量的定义等,函数体主要是函数的实现,函数的语 ...

  7. 通过源码分析RocketMQ主从复制原理

    作者:京东物流 宫丙来 一.主从复制概述 RocketMQ Broker的主从复制主要包括两部分内容:CommitLog的消息复制和Broker元数据的复制. CommitLog的消息复制是发生在消息 ...

  8. java如何将逗号分隔的字符串转成int或者long数组

    String str = "1,2,3";//先将他转化成int的数组如上述:欲将str 转成 数值型数组 利用 split 函数先以 ,分割 String str = " ...

  9. javascript的布尔运算符

    布尔运算符分为四种: 取反运算符(!) 且运算符(&&) 或运算符(||) 三元运算符( ? 表达式1 : 表达式2 ) 取反运算符(!) 用于将任何值转换为布尔值后再变为相反值,即t ...

  10. JavaSE总结(2)

    控制语句idea.方法重载控制语句1.顺序结构从上到下从左到右依次执行2.判断结构    a.if(判断表达式){        语句体;    }    b.if(判断表达式){        语句 ...