系列文章目录
文章目录
java基础面试题
请描述JDK、JRE、JVM之间的关系
如果main方法被声明成private会怎么样呢?
其实非常简单,我们可以先想想,如果一个类中没有main方法会怎么样
答案是一个类中没有main方法也没有啥问题
那么main方法修饰符改为private也没有问题,只是它就相当于是你自己的一个方法了
&和&&区别在哪
我们开发的时候大多时候用的是&& ,所以大家可能会对&相对陌生
char 类型的变量能不能存储一个中文汉字
答案
可以存储一个中文汉字,但是不能存储两个中文汉字
因为在Unicode中文字符编码里面,一个中文汉字是占2个字节的
执行结果
所以倒过来,也是一样,只能存一个中文汉字
详解++a 和a+++的区别
++a和a++是几元运算符呢
都是一元运算符
== ++a就是先自加再运算 ==
== a++就是先运算再自加 ==
简单来记:
++a 先自加,a++后自加
但是这个时候a变成11已经没什么用了,因为已经输出了
除非你下面还有用到a的时候
++a又是怎么样的呢
由于++a是先自加再运算
a+=b 和a=a+b有啥区别
乍一看好像没什么区别,实际上是有区别的
a+=b 是赋值运算符,意思是 把 a+b的结果赋值给a
a=a+b是算术运算符,意思是 a+b=a
我们来看一个经典案例
接着看
从int转到short可能会有损失,所以报错了
这就是赋值运算符和算术运算符的区别
如果是一种数据类型,依然有问题,为什么呢?
byte、short 类型的数相加,都会提升为int类型