一、五道面试题
1.jdk,jre,jvm的三者关系:
(1)jdk是java程序开发时用的开发工具包,其内部也有jre运行环境
(2)jre是java运行时需要的运行环境,就是说如果你光运行java程序而不是去搞开发的话,只安装jre就能运行已经存在的java程序
(3)jdk,jre内部都包含java虚拟机jvm,java虚拟机内部包含许多应用程序的类解释器和类加载器等等
2.面向过程和面向对象的区别
(1)两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对象开发思想。
(2)编程思路不同:面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、 执行方法来完成功能。
(3)封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。面向对象具有继承性和多态性, 而面向过程没有继承性和多态 性,所以面向对象优势是明显。
3.Java有哪些基本数据类型
定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间。
(1)数值型:整数类型(byte,short,int,long)
(2)浮点类型(float,double) c、字符型(char)
(3)布尔型(boolean)
4.什么Java注释
定义:用于解释说明程序的文字分类:
单行注释:格式: // 注释文字多行注释:格式: /* 注释文字 */
文档注释:格式:/** 注释文字 */
作用:在程序中,尤其是复杂的程序中,适当地加入注释可以增加程序的可读性,有利于程序的修改、调试和交流。注释的内 容在程序编译的时候会被忽视,不会产生目标代码,注释的部分不会对程序的执行结果产生任何影响。
注意事项:多行和文档注释都不能嵌套使用。
5.Java 有没有 goto
goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。
二、Java基础
Java语言的特点:
(1)平台无关
(2)简单
(3)面向对象
(4)可移植性
(5)健壮性
(6)安全性
(7)多线程
Java程序运行三步走:
编写源程序(xxx.java)--(编译器)-->编译class文件(xxx.class)--(虚拟机)->运行(xxx.class)
Java编码格式:
(1)类名使用public修饰。
(2)一行只写一条语句。
(3){}的使用及位置。
(4)代码缩进。
Java命名规范:
(1)变量名,属性名,方法名一律都是驼峰命名法。
(2)类名,项目名单词的首字母大写。
(3)常量命名大写。
变量名=首字母{1. 字母 2. 下划线“_”3. “$”符号}+其余部分{任意多的:1. 数字 2.字母 3. 下划线“_”4. “$”符号}
Java变量:
通俗讲:小明去了一个豪华酒店,房型有豪华间,普通间,简易间,最后小明入住房号为888的豪华间。
房间 <-------> 变量
房型 <-------> 变量类型
房间名 <-------> 变量名
入住的人 <-------> 变量值
声明变量的两种方法:
(1)先声明变量的同时直接赋值。
(2)先声明后赋值。
Java类型转换
强制类型转换:
由大转小(不能自动转换)例:xxx=(小)(大)。
自动类型转换:
(1)两种类型要兼容:
数值类型(整型和浮点型)互相兼容。
(2)目标类型大于源类型:
如:double大于int。
Java运算符的优先级:
最高的优先级:小括号“()”。
最低的优先级:赋值运算符“=”。
优先级顺序:!>算数运算符>比较运算符>&&>||。
当运算符比较多,无法确定运算符执行顺序时,可以使用小括号控制一下顺序。
Java判断语句
怎么适当使用if...else...和switch?
连续区间的判断用多重if,单值判断用switch
switch和多重if的区别:
相同点:都是用来处理多分支条件的结构
不同点:switch选择结构:只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量
多重if结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
if不能处理异常。
为什么要处理异常:为了使程序更加健壮,程序员在编码时要考虑用户可能出现的任何问题,并且在程序中做出相应的判断,给用户一个有好的提示。
三、下来给两个逻辑思维题:
1、一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这3盏灯相连。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。确定每个开关具体管哪盏灯。
2、有50家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只能通过观察别人家的狗来判断自己家的狗是否生病,而不能看自己家的狗,如果判断出自己家的狗病了,就必须当天一枪打死自己家的狗。结果,第一天没有枪声,第二天没有枪声,第三天开始一阵枪响,问:一共死了几条狗?
JAVA逻辑代码面试题 java面试逻辑思维题
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
2024Java面试-SpringCloud面试题(1)
主要是给大伙儿介绍下java面试中微服务方面springcloud相关的面试题吧,别的不多说,看文章内容就是了,干!!!
微服务 java面试 springcloud springcloud面试 微服务 -
面试考点:逻辑思维面试题(软件测试)
1、 有一口7米深的井,有个蜗牛从井底往上爬,白天爬3米,晚上往下坠2米,问蜗牛几天能从井底爬到井口?
测试工程师 程序人生 压力测试 单元测试 python