java基础—JDK基础面试题一

news2024/11/15 10:25:35

文章目录

      • 1.==和equals区别是什么?
      • 2.Java中的 <<、>>、>>> 是什么
      • 3.if-else-if-else与switch的区别
      • 4.while和do-while的区别
      • 5.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在String上
      • 6.&和&&、|和||区别
      • 7.break和continue区别
      • 8.访问权限修饰符public、private、protected, 以及不写(默认)时的区别
      • 9.如何让计算机最高效的算出2乘以8
      • 10. Math.round(11.5)等于多少? Math.round(- 11.5) 又等于多少

1.==和equals区别是什么?

  • ==是关系运算符,equals()是方法,返回的都是布尔值。

  • Object的==和equals()比较的都是地址,作用相同。

  • == 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

equals源码

//equals 本质上就是 ==,String、Integer重写了 Object 的 equals 方法,把引用比较改成了值比较。
public boolean equals(Object obj) {
    return (this == obj);
}

String x = “string”;

String y = “string”;

String z = new String(“string”);

System.out.println(x == y); // true因为x和y指向同一个地址

System.out.println(x == z); // false

System.out.println(x.equals(y)); // true

System.out.println(x.equals(z)); // true

2.Java中的 <<、>>、>>> 是什么

  • <<表示左移,不分正负,低位补0。<< 1 相当于乘以2。
  • >> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1,右移1位表示除以2
  • >>> 表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0

3.if-else-if-else与switch的区别

if-else-if-else

  • 适合分支较少
  • 判断条件不单一

switch

  • 适合较多分支
  • 适合判断条件类型单一
  • JDK1.7之前仅支持int和enum,JDK1.7之后多了支持String。但是企业开发中大部分用enum
  • 没有break语句,每个分支都会执行

4.while和do-while的区别

  • while先判断后执行,第一次判断为false,循环体一次都不执行。
  • do-while 先执行后判单,循环体最少执行一次。

5.switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在String上

Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。

Java 5开始,Java中引入了枚举型,expr也可以是 enum类型。

ava 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

6.&和&&、|和||区别

  • &是逻辑与、例如a&b。a为false后,仍会运算b
  • &&是短路与。例如a&b。a为false后,后面就被短路了,不会运算b。

例如:某种判断有两个步骤,先去a表查指定数据,有数据(返回true)就进入下一步,没有数据就需要去b表查询是否有数据,有数据(返回true)就进行下一步。(a||b)

7.break和continue区别

  • 两者都是用来控制循环的语句。
  • break:用于结束一个循环,跳出循环执行后面的语句
  • continue:跳过本轮循环,进入下一个循环

8.访问权限修饰符public、private、protected, 以及不写(默认)时的区别

image-20230203015348159

9.如何让计算机最高效的算出2乘以8

2 <<3 CPU 直接支持位运算,效率最高

位运算符 <<,是将一个数左移 n 位,相当于乘以了 2 的 n 次方

一个数乘以 8 只要将其左移 3 位即可

10. Math.round(11.5)等于多少? Math.round(- 11.5) 又等于多少

Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5

然后进行取整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql大数据表处理方案

场景&#xff1a; 当我们业务数据库表中的数据越来越多&#xff0c;如果你也和我遇到了以下类似场景&#xff0c;那让我们一起来解决这个问题 数据的插入,查询时长较长后续业务需求的扩展 在表中新增字段 影响较大表中的数据并不是所有的都为有效数据 需求只查询时间区间内的…

DynaSLAM-10 DynaSLAM中双目运行流程(Ⅳ):DynaSLAM的三大线程解析

目录 1.双目初始化部分 2.三种追踪模式 1.双目初始化部分 进入追踪线程首先判断双目追踪器状态mstate&#xff0c;在刚进入SLAM系统时&#xff0c; Tracking::Tracking函数默认将其设置为NO_IMAGES_YET&#xff0c;系统经过reset时也会将mstate设置为NO_IMAGES_YET......如果是…

【工业视觉-CCD相机和CMOS相机成像的本质区别】

工业视觉-CCD相机和CMOS相机成像的本质区别1.CCD的功耗高&#xff0c;CMOS的功耗低2.CCD速度较CMOS慢3.CCD的画质优于CMOS4.CCD的高感画质低于CMOS在学习工业视觉的起初&#xff0c;一般都是先去了解光源、镜头、相机等概念&#xff0c;在接触工业相机时看到两个概念&#xff0…

Java集合框架

Java集合框架 每博一文案 《杀死一只知更鸟》中有这样一段话&#xff1a;“你永远不可能真正地了解一个人&#xff0c;除非你穿上他的鞋子走来走去&#xff0c;站在他的角度思考问题。 可真当你走过他的路时&#xff0c;你连路过都觉得难过。” 世上没有真正的感同身受&#x…

数据结构 第六章 二叉树与树(树和森林)

1 双亲表示法(方便查找双亲) 使用层次遍历的方法将一个树中的所有结点存储到一维数组中 2 孩子表示法(方便查找孩子) 顺序链式存储结构&#xff1a; 1 使用数组来存储所有结点 2 为每一个结点来设置一个单链表 3 单链表链接的是其所有孩子结点的下标3 双亲孩子结合表示法 …

扬兴 | 选型技巧!晶振在商业显示屏的应用

据有关机构预计&#xff0c;未来五年&#xff0c;商显市场将以每年13-16%的增速发展&#xff0c;预计到2024年将达到1545亿元的规模。伴随着商显屏行业的飞速发展&#xff0c;必然带动电子元器件行业的增长&#xff0c;这也对元器件产品要求不断提高&#xff0c;其中晶振作为数…

【字符串】剑指Offer 05.替换空格(C/C++/Java/Python/Js)

剑指Offer 05.替换空格1 题目2 思路--双指针法3 代码3.1 C版本3.2 C版本3.3 Java版本3.4 Python3版本3.5 JavaScript版本4 总结1 题目 题源链接 请实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 示例 1&#xff1a; 输入&#xff1a;s “We are…

重磅!马斯克再抛特斯拉股票,去年中国市场份额首次下滑

特斯拉的走势&#xff0c;正在凸显智能电动汽车市场格局的新变化。 几周前&#xff0c;特斯拉首席执行官埃隆马斯克出售了价值近36亿美元的股票&#xff0c;就在三周前&#xff0c;这家全球智能电动汽车领头羊宣布未能实现年度交付目标&#xff08;少了近2.2万辆&#xff09;。…

windows下同时安装mysql5.5和mysql8.0.32

一、安装mysql8.0.32 我先安装的是mysql5.5&#xff0c;如&#xff1a;MySQL5.5安装教程SQLyog安装_柒七的博客-CSDN博客_mysql5.5的安装步骤 1.下载解压 https://dev.mysql.com/downloads/mysql/ 2.创建配置 下载完后&#xff0c;建议解压到一个没有中文的路径&#xff0…

Vue使用ElementUI动态修改table单元格背景颜色或文本颜色

前言 今天遇到一个场景&#xff0c;表格行属性的字典项要针对不同的状态&#xff0c;展示不同的文本颜色&#xff0c;如下图所示&#xff1a; 账号状态这一栏&#xff0c;如果是正常就展示以绿色字体展示&#xff0c;如果是禁用就以红色颜色展示 针对这个需求&#xff0c;我第…

u盘文件被电脑杀毒软件删掉了,怎么才能恢复

案例分享&#xff1a;【我的u盘中毒文件被电脑杀毒软件删掉了&#xff0c;怎么才能恢复啊&#xff1f;&#xff1f;里面有很重要的资料。求高手指点&#xff01;急&#xff01;&#xff01;&#xff01;】——虽然u盘能够存储数据&#xff0c;且体积小巧便于携带&#xff0c;但…

算法:(十二)排序

文章目录12.1 计数排序面试题75&#xff1a;数组相对排序12.2 快速排序面试题76&#xff1a;数组中第k大的数12.3 归并排序面试题77&#xff1a;链表排序面试题78&#xff1a;合并排序链表12.1 计数排序 面试题75&#xff1a;数组相对排序 题目&#xff1a; 给定两个数组&…

UNIAPP实战项目笔记57 发送手机验证码 接入短信SDK

UNIAPP实战项目笔记57 发送手机验证码 接入短信SDK 注册时候需要发送验证 通过验阿里云或腾讯云等短信sdk供应商 实际案例图片 后端接口文件 index.js var express require(express); var router express.Router(); var connection require(../db/sql.js); var user requi…

龙芯处理器7A2000桥片iTOP-3A5000开发板

龙芯处理器7A2000桥片iTOP-3A5000开发板 主要参数 处理器: 龙芯3A5000 主频: 2.3GHz-2.5GHz 桥片: 7A2000 内存: 8GB、16GB DDR4带ECC纠错&#xff08;配置可选&#xff09; 系统: Loongnix 典型功耗: 35W 核心板: 16层 底板: 4层 核心板参数 尺寸: 125*95mm C…

力扣二叉树篇题

题目说明B树如果为空树则不是A树的子结构 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ class Solution {public boolean isSubStructure(TreeNode A,…

VMware ESXi 7.0 Update 3j 更新发布,修复已知问题

VMware ESXi 7.0 Update 3j Standard & All Custom Image for ESXi 7.0 U3j Install CD 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;www.sysin.org 产品简介…

迁移mysql数据库到opengauss

一、安装chameleon工具1.下载源码git clone gitgitee.com:opengauss/openGauss-tools-chameleon.git2.创建Python虚拟环境并激活安装依赖&#xff1a;yum install mysql-devel gcc gcc-devel python-develpython3 -m venv venvsource venv/bin/activate3.进入代码的目录&#x…

CAD转PDF其实很简单,掌握这4种方法就可以

Hello&#xff0c;大家好&#xff0c;这里是建模助手&#xff01; CAD作为一种绘图格式&#xff0c;在工业设计领域发挥着不可替代的作用&#xff0c;一般有DXF、DWG两种常见的格式&#xff0c;但是一般需要在电脑中安装特定软件才能打开此类格式的文件。 因此大多数人在给别…

网站表单实时通知 销售线索不错漏

对于企业来说&#xff0c;在进行产品发布或营销推广时&#xff0c;都需要大量的信息收集汇总。此时都会用到表单功能&#xff0c;网站上的表单功能应用非常广泛&#xff0c;可做信息收集效果&#xff0c;可做付费预约效果等&#xff0c;而如果希望能实时推送表单收集到的数据&a…

AQS(AbstractQueuedSynchronizer)是什么?

目录简介原理概览资源的共享方式独占&#xff08;Exclusive&#xff09;共享&#xff08;Shared&#xff09;模板方法模式在AQS中的应用经典应用ReentrantLockSemaphore简介 AQS全称AbstractQueuedSynchronizer&#xff0c;位于java.util.concurrent.locks包下&#xff0c;它是…