每日五道java面试题之java基础篇(二)

在这里插入图片描述

第一题. 为什么说 Java 语⾔“编译与解释并存”?

⾼级编程语⾔按照程序的执⾏⽅式分为编译型解释型两种。

简单来说,编译型语⾔是指编译器针对特定的操作系统将源代码⼀次性翻译成可被该平台执⾏的机器码;解释型语⾔是指解释器对源程序逐⾏解释成特定平台的机器码并⽴即执⾏。

⽐如,你想读⼀本外国的⼩说,你可以找⼀个翻译⼈员帮助你翻译,有两种选择⽅式,你可以先等翻译⼈员将全本的⼩说(也就是源码)都翻译成汉语,再去阅读,也可以让翻译⼈员翻译⼀段,你在旁边阅读⼀段,慢慢把书读完。

Java 语⾔既具有编译型语⾔的特征,也具有解释型语⾔的特征,因为 Java 程序要经过先编译,后解释两个步骤,

由 Java 编写的程序需要先经过编译步骤,⽣成字节码( *.class ⽂件),这种字节码必须再经过 JVM,解释成操作系统能识别的机器码,在由操作系统执⾏。因此,我们可以认为 Java 语⾔编译与解释并存
在这里插入图片描述

第二题. Java 有哪些数据类型?

定义:Java 语⾔是强类型语⾔,对于每⼀种数据都定义了明确的具体的数据类型,在内存中分配了不同⼤⼩的内存空间。

Java 语⾔数据类型分为两种:基本数据类型和引⽤数据类型
在这里插入图片描述
基本数据类型:

  • 数值型
    • 整数类型(byte、short、int、long)
    • 浮点类型(float、double)
  • 字符型(char)
  • 布尔型(boolean)

Java 基本数据类型范围和默认值
在这里插入图片描述
引⽤数据类型:

  • 类(class)
  • 接⼝(interface)
  • 数组([])

第三题. 自动类型转换、强制类型转换?看看这⼏⾏代码?

Java 所有的数值型变量可以相互转换,当把⼀个表数范围⼩的数值或变量直接赋给另⼀个表数范围⼤的变量时,可以进⾏⾃动类型转换;反之,需要强制转换。
在这里插入图片描述
这就好像,⼩杯⾥的⽔倒进⼤杯没问题,但⼤杯的⽔倒进⼩杯就不⾏了,可能会溢出。

float f=3.4 对吗?
不正确。3.4 是单精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换 float f =(float)3.4; 或者写成 float f =3.4F

short s1 = 1; s1 = s1 + 1; 对吗? short s1 = 1; s1 += 1; 对吗?

对于 short s1 = 1; s1 = s1 + 1;编译出错,由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型,需要强制转换类型才能赋值给 short 型。
⽽ short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short(s1 + 1);其中有隐含的强制类型转换。

第四题 什么是⾃动拆箱/封箱?

  • 装箱:将基本类型⽤它们对应的引⽤类型包装起来;
  • 拆箱:将包装类型转换为基本数据类型;
    Java 可以⾃动对基本数据类型和它们的包装类进⾏装箱和拆箱。
    在这里插入图片描述
    举例:

Integer i = 10; //装箱
int n = i; //拆箱

第五题. &和&&有什么区别?

&运算符有两种⽤法: 短路与 、 逻辑与 。

&&运算符是短路与运算。逻辑与跟短路与的差别是⾮常巨⼤的,虽然⼆者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。

&&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进⾏运算。很多时候我们可能都需要⽤&&⽽不是&。

例如在验证⽤户登录时判定⽤户名不是 null ⽽且不是空字符串,应当写为 username != null&&!username.equals(“”) ,⼆者的顺序不能交换,更不能⽤&运算符,因为第⼀个条件如果不成⽴,根本不能进⾏字符串的 equals ⽐较,否则会产⽣ NullPointerException 异常。
注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述

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

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

相关文章

基于opencv-python模板匹配的银行卡号识别(附源码)

目录 介绍 数字模板处理 银行卡图片处理 导入数字模板 模板匹配及结果 介绍 我们有若干个银行卡图片和一个数字模板图片,如下图 我们的目的就是通过对银行卡图片进行一系列图像操作使得我们可以用这个数字模板检测出银行卡号。 数字模板处理 首先我们先对数…

Swift Combine 使用 sink, assign 创建一个订阅者 从入门到精通九

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

Java集合框架(包装类、泛型)

前言: 本篇文章我们来讲解Java中的集合框架,就相当于车轮子。Java是面向对象的语言,所以相对于C语言有自身优势,就比如现成的数据结构(比如栈,队列,堆等)。Java的集合框架大家也不用…

使用AI开发一个红包封面生成器

使用 VUE3,和 Express 开发一个红包封面。 生成效果如下 体验地址:https://hongbao.digitalmodel.top/

Web Services 服务 是不是过时了?创建 Web Services 服务实例

Web Services 是不是过时了? 今天是兔年最后一天,先给大家拜个早年 。 昨天上午视频面试一家公司需要开发Web Services 服务,这个也没有什么,但还需要用 VB.net 开发。这个是多古老的语言了,让我想起来了 10年 前 写 …

无人机应用场景和发展趋势,无人机技术的未来发展趋势分析

随着科技的不断发展,无人机技术也逐渐走进了人们的生活和工作中。无人机被广泛应用于很多领域,例如遥感、民用、军事等等。本文将围绕无人机技术的应用场景和发展趋势,从多角度展开分析。 无人机技术的应用场景 无人机在遥感方面的应用&…

C++之RTTI实现原理

相关系列文章 C无锁队列的原理与实现 如何写出高质量的函数?快来学习这些coding技巧 从C容器中获取存储数据的类型 C之多层 if-else-if 结构优化(一) C之多层 if-else-if 结构优化(二) C之多层 if-else-if 结构优化(三) C之Pimpl惯用法 C之RTTI实现原理 目录 1.引言…

Swift Combine 使用 dataTaskPublisher 发起网络请求 从入门到精通十

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

旅游|基于Springboot的旅游管理系统设计与实现(源码+数据库+文档)

旅游管理系统目录 目录 基于Springboot的旅游管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户管理 2、景点分类管理 3、景点信息管理 4、酒店信息管理 5、景点信息 6、游记分享管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xf…

【从Python基础到深度学习】4. Linux 常用命令

1.配置root用户密码 root用户为系统默认最高权限用户,其他用户密码修改命令与root用户修改密码命令相同 sudo passwd root 2.添加用户(henry) sudo useradd -m henry -s /bin/bash 3.配置henry用户密码 Xshell下连接新用户(hen…

小巨人大爆发:紧凑型大型语言模型效率之谜揭晓!

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

图像处理常用算法—6个算子 !!

目录 前言 1、Sobel 算子 2、Isotropic Sobel 算子 3、Roberts 算子 4、Prewitt 算子 5、Laplacian算子 6、Canny算子 前言 同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。 需要说明的是:边缘和物体间的边界并不…

Django问题报错:TypeError: as_view() takes 1 positional argument but 2 were given

一、错误位置 from django.urls import pathfrom users_app.views import RegisterView, LoginView, LogoutViewapp_name users urlpatterns [path("register/", RegisterView.as_view, name"register"),path("login/", LoginView.as_view, n…

机器学习---学习与推断,近似推断、话题模型

1. 学习与推断 基于概率图模型定义的分布,能对目标变量的边际分布(marginal distribution)或某些可观测变量 为条件的条件分布进行推断。对概率图模型,还需确定具体分布的参数,称为参数估计或学习问 题,…

读千脑智能笔记08_人工智能的未来(下)

1. 机器智能存在的风险 1.1. “人工智能”这个名字应用到几乎所有涉及机器学习的领域 1.2. 技术专家对人工智能的态度也从“人工智能可能永远不会实现”快速转变为“人工智能可能在不久的将来毁灭所有人类” 1.3. 每一项新技术都可能会被滥用…

专业课135+总分400+西安交通大学815/909信号与系统考研电子信息与通信工程,真题,大纲,参考书。

经过将近一年的考研复习,终于梦圆西安交大,今年专业可815(和909差不多)信号与系统135,总分400,回想这一年的复习还是有很多经验和大家分享,希望可以对大家复习有所帮助,少走弯路。 专业课: 这…

18:蜂鸣器

蜂鸣器 1、蜂鸣器的介绍2、编程让蜂鸣器响起来3、通过定时控制蜂鸣器4、蜂鸣器发出滴滴声(间歇性鸣叫) 1、蜂鸣器的介绍 蜂鸣器内部其实是2个金属片,当一个金属片接正电,一个金属片接负电时,2个金属片将合拢&#xff…

大数据应用对企业的价值

目录 一、大数据应用价值 1.1 大数据技术分析 1.2 原有技术场景的优化 1.2.1 数据分析优化 1.2.2 高并发数据处理 1.3 通过大数据构建新需求 1.3.1 智能推荐 1.3.2 广告系统 1.3.3 产品/流程优化 1.3.4 异常检测 1.3.5 智能管理 1.3.6 人工智能和机器学习 二、大数…

【深度学习: ChatGPT 】经验教训:使用 ChatGPT 作为 ML 工程师一天

【深度学习: ChatGPT 】经验教训:使用 ChatGPT 作为 ML 工程师一天 介绍设置过程标杆ChatGPT 做机器学习ChatGPT 能否真正实施这些解决方案?结果结论 TLDR;在最近使用 AI 应用程序 ChatGPT 的用例激增中,我们询问它是否可用于改进…

肯尼斯·里科《C和指针》第12章 使用结构和指针(1)链表

只恨当时学的时候没有读到这本书,,,,,, 12.1 链表 有些读者可能还不熟悉链表,这里对它作一简单介绍。链表(linked list)就一些包含数据的独立数据结构(通常称为节点)的集…