JDK和JRE的区别 什么是值传递和引用传递

本文探讨了Java编程中的类型提升与强制转换,讲解了如何跳出多重嵌套循环,以及JDK与JRE的区别。还介绍了Java的基本数据类型、方法重载、break和continue的作用,以及值传递与引用传递的概念。
摘要由CSDN通过智能技术生成

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 += 1Java定义的运算法,会自动发生强制类型转换,使得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(布尔表达式②);//适用于先执行在判断是否的情况
  • 执行流程
    • 执行顺序:①③④>②③④>②③④…②不满足为止。
    • ①负责完成循环变量初始化。
    • ②负责判断是否满足循环条件,不满足则跳出循环。
    • ③具体执行的语句
    • ④循环后,循环变量的变化情况
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值