---------------------android培训、java培训、java学习型技术博客、期待与您交流! -------------------
学好java基础,对于后期的学习非常重要,在上课的过程中,老师也提到了很多面试过程中会遇到的些题目,下面做个总结:
1、关于++(自增)的
对于初学者,特别是对于我们这样没有基础的入门者来说,想真正了解还是有一定的难度的。
下面结合一段代码进行介绍:
public class Demo{
public static void main(String[] args){
int i=1;
i=i++;
System.out.println(i);
}
}
上面这段代码执行之后,结果是1,其过程可以归纳为以下:
a、定义变量i,初始值是1。
b、i++这个式的值是1,运行完之后i自增成2。
c、把i++这个式的值赋给i,则i=1。
这段代码在开发过程中,不会写成这样,但是在面试中会遇到。
与下面这段代码有区别,需注意:
public class Demo{
public static void main(String[] args){
int i=1;
int j;
j=i++;
System.out.println(i);
System.out.println(j);
}
}
上面这段代码运行如下:
a、定义变量i,并初始化值为1;
b、定义变量j;
c、i++这个式的值为1,运行完之后,i自增,则i变成了2;
d、把i++这个式子的值赋给j,则j=1。
运行结为:
2
1
2、关于标号的问题
结合以下这段代码来说明:
public class Demo{
public static void main(String[] args){
System.out.println("程序开始");
http://www.baidu.com
System.out.println("程序结束");
}
}
上面这段代码是正确的,也许有很多学java的人会认为,是错误的,会认为中门那个是网址,在上面这段代码中,这是一段正确的代码。
其中http:是标号。
//www.baidu.com这个是单行注释,编译也是正常。
3、关于byte范围的问题
---------------------android培训、java培训、java学习型技术博客、期待与您交流! -------------------
学好java基础,对于后期的学习非常重要,在上课的过程中,老师也提到了很多面试过程中会遇到的些题目,下面做个总结:
1、关于++(自增)的
对于初学者,特别是对于我们这样没有基础的入门者来说,想真正了解还是有一定的难度的。
下面结合一段代码进行介绍:
public class Demo{
public static void main(String[] args){
int i=1;
i=i++;
System.out.println(i);
}
}
上面这段代码执行之后,结果是1,其过程可以归纳为以下:
a、定义变量i,初始值是1。
b、i++这个式的值是1,运行完之后i自增成2。
c、把i++这个式的值赋给i,则i=1。
这段代码在开发过程中,不会写成这样,但是在面试中会遇到。
与下面这段代码有区别,需注意:
public class Demo{
public static void main(String[] args){
int i=1;
int j;
j=i++;
System.out.println(i);
System.out.println(j);
}
}
上面这段代码运行如下:
a、定义变量i,并初始化值为1;
b、定义变量j;
c、i++这个式的值为1,运行完之后,i自增,则i变成了2;
d、把i++这个式子的值赋给j,则j=1。
运行结为:
2
1
2、关于标号的问题
结合以下这段代码来说明:
public class Demo{
public static void main(String[] args){
System.out.println("程序开始");
http://www.baidu.com
System.out.println("程序结束");
}
}
上面这段代码是正确的,也许有很多学java的人会认为,是错误的,会认为中门那个是网址,在上面这段代码中,这是一段正确的代码。
其中http:是标号。
//www.baidu.com这个是单行注释,编译也是正常。
3、关于byte范围的问题
byte b1, b2, b;
b1=3;
b2=5;
b=b1+b2;
b=3+4;
问以上这段代码是否正确。
其中b=b1+b2这句是错误的,因为b1和b2是变量,参与运算时,会被自动提升为int型数据,而b为byte型,大的无法往小的数据内存数据,除非加了强转符。
b=3+4是正确的,编译可以通过,因为3和5为常量,运算后仍为常量(涉及到JVM常量优化机制)。
以下三点在很多面试场全都有出现,希望总结在这里,对您有所帮助。