JAVA中最容易让人忽视的基础。
可能很多找编程工作的人在面试的时候都有这种感受,去到一个公司填写面试试题的时候,多数人往往死在比较基础的知识点上。不要奇怪,事实就是如此一般来说,大多数公司给出的基础题大概有122道,代码题19道左右。
一般来说最先会考验你JAVA中比较基础的东西。比如“面向对象的特征有哪些方面 并依次解释含义?”;“int 和 Integer 有什么区别?";"String是最基本的数据类型吗?";
"原始封装类有哪些?"等等。虽然看似简单,但能够真正解释清楚的没有多少,这就充分体现了程序员对JAVA这门语言的理解是否深刻。接下来我就罗列几个JAVA中面试题中比较经典的面试题。
1.byet b=4,b1=3,b2=7 问b=b1+b2的结果是什么?为什么?;
一般来说,初学者可能会回答结果b=10,这是不对的,结果会报错:可能会 损失精度。为什么呢?因为b1、b2是一个变量取值范围只有-128~127.如果这么做的话系统就会认为可能会超出BYTE的范围。
2.int a=3,b; (1)b=a++和(2)b=++a 分别两次输出a和b的结果是什么?区别在于哪里?
b=a++,因为a++要参与运算的时候要保留原值参与运算,所以它会先把a的值赋值给b,然后再做自增。所以结果就是 a=4,b=3。
b=++a。 但是当++在a前面的时候就有区别了,虽然会保留原值在内存但不会参与运算,所以并不会先赋值,而是先做自增,再做赋值运算。
3,short s=3; (1)s+=4 与(2)s=s+4的 S的结果是什么?为什么?
我们先来说说(1) 最后输出的S为s=7 (2)则会报错:可能会丢失精度。因为在JAVA中4默认INT类型,s+=4与s=s+4的区别就在于前者运算的时候会在底层做一个强制数据类型转换,而后者不会,所以会报错。
4、&和&&的区别。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(短路与)(and)。
|和||也是一样,|是位运算符,表示按位或运算,||是逻辑运算符,表示逻辑或(短路或)(OR)。
5、描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。
6、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
JAVA中最容易让人忽视的基础。的更多相关文章
- Java中的比较总结
Java中的比较问题是一个很基础又很容易混淆的问题.今天就几个容易出错的点作一个比较详细的归纳与整理,希望对大家的学习与面试有帮助. 一.==与equals()的区别 首先,我们需要知道==与equa ...
- 探究Java中的锁
一.锁的作用和比较 1.Lock接口及其类图 Lock接口:是Java提供的用来控制多个线程访问共享资源的方式. ReentrantLock:Lock的实现类,提供了可重入的加锁语义 ReadWrit ...
- 【Java基础】Java中你必须知道的知识点
目录 Java中面向对象的基础知识 1. 什么是面向对象 2. 三大基本特征和五项基本原则 3. Java的平台无关性 4. 值传递和引用传递 5. 方法重载和重写 6. 基本数据类型 7. 包装类 ...
- Java 编程语言中很少被人了解的特性-statement label
下面的语句会编译报错或者打印什么? System.out.print("baidu site :"); https://www.baidu.com; System.out.prin ...
- Java中“附近的人”实现方案讨论及代码实现
前言 在我们平时使用的许多app中有附近的人这一功能,像微信.qq附近的人,哈罗.街兔附近的车辆.这些功能就在我们日常生活中出现. 像类似于附近的人这一类业务,在Java中是如何实现的呢? 本文就简单 ...
- Java中的日期操作 分类: B1_JAVA 2015-02-16 17:55 6014人阅读 评论(0) 收藏
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- Java中那些烦人的位运算(&,|...)
& 和 && 相同点: 都表示"与"操作.这里的"与"和数学中的"与或非"中的"与"意义相同,都 ...
- Java中string 创建对象时 “”和null的差别
null和""的差别 问题一: null和""的差别 String s=null; string.trim()就会抛出为空的exception String s ...
- Java中char和String 的深入理解 - 字符编码
开篇 https://blog.csdn.net/weixin_37703598/article/details/80679376 我们并不是在写代码,我们只是将自己的思想通过代码表达出来! 1 将思 ...
随机推荐
- ssm+maven多模块项目整合
我的项目一共会分为4个模块:entity.dao.service和web 一.创建父模块 填写GroupId与ArtifactId 填写项目名称和项目保存路径 因为是父模块所以src包可以删除 二.创 ...
- Codeforces Round #446 (Div. 2)
Codeforces Round #446 (Div. 2) 总体:rating涨了好多,虽然有部分是靠和一些大佬(例如redbag和ShichengXiao)交流的--希望下次能自己做出来2333 ...
- Codeforces Round #467 (div.2)
Codeforces Round #467 (div.2) 我才不会打这种比赛呢 (其实本来打算打的) 谁叫它推迟到了\(00:05\) 我爱睡觉 题解 A. Olympiad 翻译 给你若干人的成绩 ...
- Vue-开发工具的安装
1. github官网下载vue工具:https://github.com/vuejs/vue-devtools.并解压 2. 在有package.json的文件夹下,按住shift右键,选择&qu ...
- Delphi子窗体随主窗体大小而变化
当然办法有很多种,我建议用TRzsplitter更好点, TRzsplitter分割,在其上边放置panel,然后把align置为alClient,则可以随着主窗体的大小而一起变动 选中此控件右键ed ...
- hadoop2.x源码编译
转载请标明出处: http://blog.csdn.net/zwto1/article/details/50733753: 介绍 本篇主要会涉及以下内容: 学会编译hadoop2.x源码 编译hado ...
- spring boot rest例子
简介: 本文将帮助您使用 Spring Boot 创建简单的 REST 服务. 你将学习 什么是 REST 服务? 如何使用 Spring Initializr 引导创建 Rest 服务应用程序? 如 ...
- if语句2017-03-17
1.If语句: if(判断条件){ 判断为true的时候执行的语句 } else{ 判断为false的时候执行的语句 } 2.If else语句: if(判断条件){ 判断为true的时 ...
- nginx的自动化安装和启停脚本
个人原创,转载请注明出处和作者,否则依法追究法律责任 author: headsen chen date: 2018-03-07 14:39:11 nginx_install.sh #!/bin/ ...
- Swift 笔记汇总
Swift 3 笔记 Swift: The Basics :介绍 Swift 一些零碎的点. Swift: Basic Operators :介绍 Swift 的操作符. Functions : 介绍 ...