1. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错。
1.short s1 = 1; s1 = s1 + 1会自动发生提升类型,使得表达式为int,从而导致将int赋给short的情况,发生类型转换错误
2.short s1 = 1; s1 += 1 是Java定义的运算法,会自动发生强制类型转换,使得s1 = (short)(s1 + 1);
2. 在JAVA中,如何跳出当前的多重嵌套循环?
一般在外层定义一个标号,然后break到标,代码如下:
label:for(int i = 0; i < 10000; i ++)
for(int j = 0; j < 100000; j ++)
for(int k = 0; k < 10000; k ++)
if(i != j) break label;
3. JDK和JRE的区别是什么?
JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发
环境和运行环境。
JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供
了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,
还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java
程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。
4. Java语言支持的8中基本数据类型是什么?
整型: byte short int long
浮点型: float double
字符型: char
布尔型: boolean`
5. 方法重载(Overloading)是什么意思?
是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参
数个数或者类型的同名函数(返回值类型可随意,不能以返回类型作为重载函数的区
分标准)同时存在于同一个类中,是一个类中多态性的一种表现(调用方法时通过传
递不同参数个数和参数类型来决定具体使用哪个方法的多态性)。
6. 简述一下break和continue关键字的作用?
break:跳出当前循环或选择结构。
continue:结束本次循环,后续语句都不执行,直接跳到下一次循环开始。
7. 什么是值传递和引用传递?
值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量.
引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原
对象本身 。
8. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
java虚拟机(Java Virtual Machine 即 JVM)是执行字节码文件(.class)的虚拟机
进程。
java源程序(.java)被编译器编译成字节码文件(.class)。然后字节码文件,将由
java虚拟机,解释成机器码(不同平台的机器码不同)。利用机器码操作硬件和操作系
统
Java为什么被称作“平台无关的编程语言”因为不同的平台装有不同的JVM,它们能够
将相同的.class文件,解释成不同平台所需要的机器码。正是因为有JVM的存在,
java被称为平台无关的编程语言
9. 简述成员变量(属性)和局部变量的区别?
* 在类中的位置不同
* 成员变量:类中,方法外
* 局部变量:方法中或者方法声明上(形式参数)
* 作用范围不一样
* 成员变量:类中
* 局部变量:方法中
* 初始化值的不同
* 成员变量:有默认值
* 局部变量:没有默认值。必须先定义,赋值,最后使用
* 在内存中的位置不同 了解
* 成员变量:堆内存
* 局部变量:栈内存
* 生命周期不同 了解
* 成员变量:随着对象的创建而存在,随着对象的消失而消失
* 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
10. 简述一下三种循环结构的语法、执行顺序以及适用情况?
- for循环语句格式:
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}//适用于已知结束条件的情况
-
执行流程
- 执行顺序:①②③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化
- ②负责判断是否满足循环条件,不满足则跳出循环
- ③具体执行的语句
- ④循环后,循环条件所涉及变量的变化情况
-
while循环语句格式:
初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}//适用于不知道循环结束的次数的情况
-
执行流程
- 执行顺序:①②③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化。
- ②负责判断是否满足循环条件,不满足则跳出循环。
- ③具体执行的语句。
- ④循环后,循环变量的变化情况。
-
do…while循环格式
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);//适用于先执行在判断是否的情况
- 执行流程
- 执行顺序:①③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化。
- ②负责判断是否满足循环条件,不满足则跳出循环。
- ③具体执行的语句
- ④循环后,循环变量的变化情况