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. C++ 练习11 string的使用

    1 #include <iostream> 2 #include<string>//调用string函数库 3 using namespace std; 4 int main( ...

  2. Centos7下areaDetector IOC的编译后记

    https://github.com/EPICS-synApps/support/releases synApps出新版了,本文发文时的最新版为:R6-2 Centos7下areaDetector I ...

  3. C++梳理

    1.基础篇 1.C++ 中的四种智能指针 为什么要使⽤智能指针:智能指针其作⽤是管理⼀个指针,避免程序员申请的空间在函数结束时忘记释放,造成内存泄漏这种情况的发⽣.使⽤智能指针可以很⼤程度上的避免这个 ...

  4. 来了!来了!国内使用chatGPT的方式总结

    大家好,最近ChatGPT大火呀. 最近几天OpenAI发布的ChatGPT聊天机器人火出天际了,连着上了各个平台的热搜榜. 这个聊天机器人最大的特点是不仅可以模仿人类说话风格同时回答大量问题,能和你 ...

  5. [AI-ML]机器学习是什么?一起了解!(一)

    机器学习 简单的说,机器学习是一种让计算机系统从数据中学习并自动改进的算法.通俗地说,机器学习就是让计算机从数据中"学习",并使用这些学习成果来做出决策或预测. 学术解释中,机器学 ...

  6. 与TNF拮抗剂治疗AS临床和MRI疗效相关的血清生物标记物

    与TNF拮抗剂治疗AS临床和MRI疗效相关的血清生物标记物 PresentID: THU0223 SERUM BIOMARKERS ASSOCIATED WITH CHANGES IN ASDAS A ...

  7. uniapp 自定义 picker

    前言 我们在开发的过程中经常会遇到现有插件无法满足需求的情况,毕竟不是组件库不能满足项目所有需求,这时就需要我们自己去构建组件. 写这篇博文也是记录我平时开发的,以后可能会用得到的东西.希望大家看到本 ...

  8. Android 删除已知路径的文件或文件夹

    转载:https://blog.csdn.net/qq_31939617/article/details/89414714[功能]delete(String delFile):删除文件或文件夹 del ...

  9. C#窗体控件,文字随电脑分辨率自动调整大小

    一.在类中添加方法,代码如下: #region 窗体控件.字体随分辨率调整,自动调整大小 public static void SetTag(Control cons) { foreach (Cont ...

  10. 运行Java时报错:Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'

    卸载旧的JAVA JDK,安装新版的JDK时,运行cmd的java -version命令遇到这样的报错: Error: opening registry key 'Software\JavaSoft\ ...