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 将思 ...
随机推荐
- Link带参数的Verilog模块(Design Compiler)
在Design Compiler中,Verilog文件可以用read_verilog命令读入,用link命令连接.以下是连接两个文件RegisterFile.v和Test.v的脚本: # Read d ...
- BZOJ 2683: 简单题(CDQ分治 + 树状数组)
BZOJ2683: 简单题(CDQ分治 + 树状数组) 题意: 你有一个\(N*N\)的棋盘,每个格子内有一个整数,初始时的时候全部为\(0\),现在需要维护两种操作: 命令 参数限制 内容 \(1\ ...
- [HAOI2011]problem a
题目大意: 网址:https://www.luogu.org/problemnew/show/2519 大意: 一次考试共有\(n\)个人参加, 第\(i\)个人说:"有\(a_i\)个人分 ...
- LightOJ1282 Leading and Trailing
题面 给定两个数n,k 求n^k的前三位和最后三位 Input Input starts with an integer T (≤ 1000), denoting the number of test ...
- [BZOJ1601] [Usaco2008 Oct] 灌水 (kruskal)
Description Farmer John已经决定把水灌到他的n(1<=n<=300)块农田,农田被数字1到n标记.把一块土地进行灌水有两种方法,从其他农田饮水,或者这块土地建造水库. ...
- 如何解决Reporting Services目录数据库文件存在的问题
打开MSSQL数据库管理系统的安装目录,例如:C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA,C:\是你 ...
- SFTP环境搭建及客户代码调用公共方法封装
一.背景 在开发应用软件的过程中,广泛使用FTP在各子系统间传送文本数据.但FTP存在安全问题,开放到外网存在安全漏洞,容易被攻击.替换方案是使用SFTP,SFTP提供更高的安全性,当然传输的效率也会 ...
- Java 多线程之线程池的使用
一. 使用背景 谈到Java多线程,我们很自然的会想到并发,在编写多线程代码时,我们一般会创建多个线程,如果并发的线程数量很多,而且每个线程都是执行一个时间很短的任务就结束了,这样频繁的进行线程的创建 ...
- 使用Dreamweaver正则表达式替换href中的内容
在Dreamweaver中使用正则表达式替换href中的内容,就像下面这些href中的内容复杂多样的情况下,href="/html/u.html",href="/tuho ...
- Excel IF函数怎么用
本例主要介绍Excel表格中IF函数的用法,包括基本用法.单条件.多条件表达及在数组函数中的用法和在数组函数中怎么表达多条件和单条件. 工具/原料 Excel IF函数语法介绍: 1 IF函数 ...