JAVA全套简答题1-100

1.什么是编程?

为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程

2.JAVA三大技术框架及作用

J2SE(Java 2 Platform Standard Edition)标准版JAVASE,这是在java基础阶段主要学习的内容,也是java的基础。J2EE(Java 2 Platform Enterprise Edition)企业版JAVAEE,是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。J2ME(Java 2 Platform Micro Edition)小型版JAVAME,该技术多应用于一些电子产品的嵌入式开发,以前在手机开发上应用的也比较多,但是随着智能手机的发展,现在手机应用程序(比如Android程序)的开发已经不再使用该技术。

3.简述JAVA三大技术平台

JAVA SE (Java Platfrom Standard Edition)标准版,为开发普通桌面和商务应用程序提供的解决方案。JAVA EE (Java Platfrom Enterprise Edition)企业版,是为开发企业级应用程序提供的解决方案。JAVA ME(Java Platfrom Micro Edition)小型版,是为开发

4.JAVA语言的特性

1、简单性(简洁有效、易学)2、面向对象(强制面向对象)3、分布式处理(适合分布式计算)4、健壮性(鲁棒性,防患于未然)5、结构中立(是一种中性结构)6、跨平台(可移植性)7、解释型(解释性)8、高性能(具有较好的性能)9、多线程(具有多线程处理能力)10、安全性(具有较高的安全性)11、动态(是一种动态语言)

5. Jre和Jdk的区别?

JRE:(Java Runtime Environment),java运行环境。包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE 即可。JDK:(Java Development Kit Java)开发工具包。JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

6.JDK环境变量配置步骤

1.JDK安装完成后,右键右击"我的电脑",点击"属性",选择"高级系统设置";2.选择"高级"选项卡,点击"环境变量";3.在"系统变量"或"用户变量"中设置3项属性,JAVA_HOME、PATH、CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。

7. 环境变量配置分几种形式,简单说明下区别 环境变量分为系统环境变量和用户环境变量。系统环境变量,对所有用户起作用 而用户环境变量只对当前用户起作用

8. JDK包含的基本组件包括 javac – 编译器,jar – 打包工具,javadoc – 文档生成器,jdb – debugger,查错工具,java – 运行编译后的java程序(.class后缀的)

9. 使用Eclipse创建工程的步骤 打开Eclipse,在工具栏依次点击【File】>>>【New】>>>【Other】点击一下【Java Project】,然后点击【Next】输入你JAVA项目的名称,然后点击【Finish】

10. 简述使用Eclipse选择工作空间的步骤 1、点击Eclipse编辑代码的窗口界面中,进行点击菜单中file的选项。2、弹出了下拉菜单中进行选择为“switch workspace”的选项。3、弹出了下一级菜单中进行选择为other的选项。4、然后就会弹出了eclipse launcher的选项窗口,进行点击browse的选项。

11. 简述使用Eclipse运行java程序步骤 在编辑器右单机,选择run? as?? java? application?? ,即可运行。

12. 还原布局步骤 1、首先点击主界面上的window。2、在下拉的菜单中选择Perspective--Reset Perspective。单击盖选项

13. main函数的意义 Java 程序中都含有main 方法,因为它是所有 Java 程序执行的入口。

14. JAVA中注释有几种及用法 单行注释 //多行注释 /* */文档注释 /** */

15. main函数的四要素? 方法bai的访问修饰符,方法返回类型,方du法名(参数列表)zhi,方法体

16. JAVA中三种注释的作用 单行注释:一般用来注释局部变量。多行注释:可用来注释文件头、算法实现、方法中的复杂代码块、修改记录文档注释:可用来注释类、接口、静态方法、成员方法、静态变量、成员变量、常量

17. 写出Java标识符的命名规范 可以是 字母、数字、$、下划线,不可用数字开头,不能是java 的关键字

18. 说明是java关键字 Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。

19. 写出10个java关键字 abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、package、private、protected、public、return、strictfp、short、static、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while、

20. Java标识符可以使用中文吗?并说明 java的标识符(变量名、方法名bai)可以用各国文字du编码。限制是zhi1、第一个字符不能用数字,dao2、不能用关键字。所以汉字、日语假名、韩文都可以做标识符。至于java的编码规范,属于非强制的行业协定,推荐用英文及英文使用的拉丁字母。但如果你企业有自己的编码规范,比如中文编码规范,用中文汉字完全可以。

21. 什么是变量,什么是常量 常量是公共的、静态的、不可改变的,必须初始值,变量是可变的,值不固定的,可分为成员变量、全局变量

22. 声明一个变量的步骤 有两种方式,一种是先声明后再赋值,另一种是在声明的同时赋值

23. char型变量中能不能存贮一个中文汉字?为什么? 可以, 因为char是两个字节, 而unicode的汉字编码所占用的存储空间就是两个字节

24. 在JAVA中我们通过三个元素来描述变量 变量类型、变量名、变量值。

25. 写出基本数据类型 byte ,short , int, long , float, double ,boolean,char

26. 变量类型分那几种类型 基本数据类型和引用数据类型

27. 请用一段简单的代码说明成员变量,局部变量 public class Lei {int num = 0;//成员变量public void 方法() { int num1 = 0;//局部变量}}

28. 请说明成员变量和局部变量的作用 成员变量在当前类内部任意位置都可以被访问使用,局部变量只能在其声明的方法,构造函数,或代码块中被访问使用

29. 常用算数运算符有哪些? + 加法- 减法* 乘法/ 除法% 余数

30. 根据运算符的功能,我们把运算符分成哪几类?

31. 请说明算数运算符中 i++和++i的区别 i++:是先把i拿出来使用,然后再+1;++i :是先把i+1,然后再拿出来使用;

32. Java复合分配操作符有? ++ 自增+= 加法分配-= 减法分配*= 乘法分配/= 分配分配%= 模量分配-- 自减

33. 比较运算符有哪些? == 检查如果两个操作数的值是否相等,如果相等则条件为真。!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真>  检查左操作数的值是否大于右操作数的值,如果是那么条件为真<  检查左操作数的值是否小于右操作数的值,如果是那么条件为真>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真

34. 逻辑运算符有哪些 && 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真! 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false

35. 简单说明一下==的作用 ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

36. 简单说明&和&&的异同 Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。&&的短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;&则两个表达式都执行。

37. 简述类与对象的关系 类(class)和对象(object)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。它们的关系是,对象是类的实例,类是对象的模板。对象是通过new classname产生的,用来调用类的方法;类的构造方法

38. 简述定义一个类的语法格式 1. 类名必须符合"标识符"的规则;一般规定,首字母大写,多个单词使用"驼峰原则"。2. 类体中我们可以定义属性和方法。3. 属性用来描述数据,方法(即函数)用来描述这些数据相关的操作。

39. 简述类与对象的定义 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。对象是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念

40. 简述java类名的命名规则 类名应该以下划线(_)或字母开头,最好以字母开头。第一个字母最好大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。类名不能为 Java 中的关键字,例如 boolean、this、int 等。类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。

41. 简述什么是Java 中的对象 现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。对比现实对象和软件对象,它们之间十分相似。软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成

42. 简述创建对象的过程 声明:声明一个对象,包括对象名称和对象类型。实例化:使用关键字 new 来创建一个对象。初始化:使用 new 创建对象时,会调用构造方法初始化对象。

43. 简述对象和引用的区别 关联性: 1). 当对象的引用变量指向对象时,两者就互相联系起来,改变引用的属性,就会改变对象的属性; 2). 如果同一个对象被多个引用变量引用的话,则这些引用变量将共同影响这个对象本身; 3). 在java中,都是通过引用来操纵对象的。2、差异性: 1). 一个对象可以被不同的引用变量来操纵,同时一个引用变量也可以指向不同的对象,但是同一时刻下只能指向一个对象。 2). 从存储空间上来看,对象和引用也是相互独立的,对象一般存储在堆中,而引用存储在堆栈中(存储速度而更快)。

44. 简述java中对象和类的区别 类对象应该指类的Class对象,也就是字节码对象可以通过Class.forName()/getclass()/.class来获取,当jvm加载一个类时就会为这个类创建一个Class对象;类的对象,通常就是指我们通过new这个类或者反射得到Class对象再调用newInstance()创建的对象,存在内存的堆中,也叫类的实例;

45. java中包含哪些访问修饰符以及具体的用法 (1)public: 用public修饰的类、类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问;(2)protected: 用protected修饰的类、类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问(此处稍后解释),protected重点突出继承;(3)default: 如果一个类、类属变量及方法没有用任何修饰符(即没有用public、protected及private中任何一种修饰),则其访问权限为default(默认访问权限)。默认访问权限的类、类属变量及方法,包内的任何类(包括继承了此类的子类)都可以访问它,而对于包外的任何类都不能访问它(包括包外继承了此类的子类)。default重点突出包;(4)private: 用private修饰的类、类属变量及方法,只有本类可以访问,而包内包外的任何类均不能访问它。

46. java中private和protected的区别 1、private修饰词,表示成员是私有的,只有自身可以访问2、protected,表示受保护权限,体现在继承,即子类可以访问父类受保护成员,同时相同包内的其他类也可以访问protected成员。3、无修饰词(默认),表示包访问权限(friendly, java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++ ),同一个包内可以访问,访问权限是包级访问权限;4、public修饰词,表示成员是公开的,所有其他类都可以访问;

47. java中默认的修饰符到底是friendly,还是default他们之间的区别是? 默认是default。有friendly,只有public、duprivate、protected、default。默认什么都不加,就是default(不zhi用把default写出来)。意思就dao是只能由跟这个类在同一个包中的类来访问,比private限制更少,但比protected限制更多

48. 画出子类在不同位置时对父类中的方法及变量的访问权限 子类中访问权限 当前类 同包 其他包public √ √ √protected √ √ √default √ √ ×private √ × ×

49. 简述什么是方法 Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。

50. 简述方法的定义包含几部分,分别说出其含义 修饰符:现阶段固定为public static两个关键字。返回值类型:方法最终产生的结果数据是什么类型。方法名称:自定义的名称,命名规则和变量一样。参数类型:进入方法的数据是什么类型。参数名称:进入方法的数据对应的变量名称。方法体:方法内部执行的若干行代码。return:结束方法的执行,并且将返回值返还给调用处。返回值:方法最终产生的结果数据。

51. 简述方法的三种调用方式 单独调用。这种方式无法使用方法的返回值。格式:方法名称(参数值);打印调用。这种方式可以将方法的返回值直接打印。格式:System.out.println(方法名称(参数值));赋值调用。这种方式可以将方法的返回值赋值给一个变量,注意变量的数据类型必须和方法的返回值类型对应。格式:数据类型变量名称= 方法名称(参数值)

52. 在参数传递过程中,什么是形式参数和实际参数 形式参数:在“定义方法”的时候,写在小括号之内的变量,就叫形式参数。实际参数:在“调用方法”的时候,真正传入方法里的数据,叫做实际参数。

53. 什么是封装 封装可以隐藏实现的细节让使用者只能通过实现写好的访问方法来访问这些字段,这样一来我们只需要在这些方法中增加逻辑控制,限制对数据的不合理访问、方便数据检查,有利于于保护对象信息的完整性便于修改,提高代码的可维护性为了实现良好的封装,需要从两个方面考虑把字段(成员变量)和实现细节隐藏起来,不允许外部直接访问把方法暴露出来,让方法控制这些成员变量进行安全的访问和操作因此,封装就有两个含义:把该隐藏的隐藏起来,把该暴露的暴露出来

54. 简述封装的作用 ① 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。②对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。

55. 基础类型与封装类的区别 1、传递方式不同基本类型是按值传递,而封装类型是按引用传递的。int是基本类型,直接存放数值;Integer类会产生一个对象引用指向这个对象。2、存储位置不同基本类型存储在栈中,封装类的引用存储在栈中,而值是存在堆中。这样看上去好像基础封装类多此一举,而且基本类型的速度也确实会比封装类更快。为什么快呢?这是因为封装类涉及到了对象内存的分配和垃圾回收。但是基本类型直接拿起来就计算了。

56. 简述封装的好处 隐藏实现细节,提供公共的访问方式;提高了代码的复用性;提高安全性

57. 什么是方法重载 java中存在两种多态,重载和重写,后者是与继承有关的多态,这里不再赘述。而前者则是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。这里需要注意的是参数不同需要满足2个条件,一个是参数的个数不同,一个是参数个数相同,但参数列表中对应的某个参数的类型不同。

58. 方法重载适用情况 方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法

59. 方法重载的注意点 Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法

60. 方法的重载的规则 方法名称必须相同。参数列表必须不同。方法的返回类型可以相同也可以不相同。仅仅返回类型不同不足以称为方法的重载。

61. 什么是构造函数 构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数。在JAVA语言中,构造函数与C++语言中的构造函数相同,JAVA语言中普遍称之为构造方法

62. 构造函数特点 (1)构造方法的方法名必须与类名相同。(2)构造方法没有返回值类型,可以有return,但是不能有返回值,在这里只是表示结束,并不是返回的表示,一般也不使用return。(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造方法,这个构造方法不执行任何代码。(5)构造方法可以重载,以参数的个数,类型,顺序。

63. 简述java 构造函数的执行过程 1)初始化对象的存储空间为零或null值;(2)调用父类构造函数;(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式

64. 简述构造函数的调用规则 (1)子类只调用父类的默认(缺省)构造函数,即无形参构造函数。如果父类没有默认构造函数,那子类不能从父类调用默认构造函数。(2)子类从父类处调用默认构造函数,不能成为子类的默认构造函数。(3)在创建对象时,先调用父类默认构造函数对对象进行初始化,然后调用子类自身自己定义的构造函数。(4)如果子类想调用父类的非默认构造函数,则必须使用super来实现。(5)子类必须调用父类的构造函数。可以通过系统自动调用父类的默认构造函数,如果父类没有默认构造函数时,子类构造函数必须通过super调用父类的构造函数。

65. if语句的作用 if语句是指用来判定所给定的值条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

66. 各种if的使用环境 基本if选择结构:可以处理单一或组合条件的情况,if-else选择结构:可以处理简单的条件分支情况,多重if选择结构:可以处理分段的条件分支情况,嵌套if选择结构:可以处理复杂的条件分支情况

67. 如何生成一个0-9的随机数 intrandom=(int)(Math.random()*10);

68. 使用if语句可对某次考试中凡成绩(studentGrade)在90或者90分以上的学生显示出A if(studentGrade>=90)System.out.println("studentreceivedanA")

69. switch中break作用 switch中的break作用是结束switch循环,就是说不再执行下面的case语句

70. 在switch中如果没有break,会出现什么情况 如果不加的话,当你在bai一个ducase语句中执行完毕后,会进入下一个case语句,继续switch循环。但是,如果某个分支中没有语句,那么也可以不写break

71. switch语法结构 switch (表达式) {      case 常量 1:语句;break;      case 常量 2:语句;break;…default:语句;break;}

72. switch与多重if不同点有哪些 switch选择结构:只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量。多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

73. while循环结构 while ( 循环条件 ) {循环操作}

74. while循环特点 先判断,再执行

75. while循环注意事项 表达式不可以为空,表达式为空不合法;表达式可以用非0代表逻辑值真(true),用0代表逻辑值假(false);循环体中必须有改变条件表达是值得语句,否则将成为死循环。

76. 输出1-100(包括100)的和 int i=1;int sum = 0;while(i<=100){sum=sum+i;}System.out.print(sum);

77. do-while语法结构 do {循环操作} while ( 循环条件 );

78. while与do-while的区别 初始情况不满足循环条件时while循环一次都不会执行,do-while循环不管任何情况都至少执行一次

79. do-while注意事项 避免进入死循环,条件表达值需要是布尔类型,不管是否满足条件,至少执行一次循环体内容

80. int x = 23;do{x--;}while(x>20); 输出x结果是 20

81. for循环结构 for(单次表达式;条件表达式;末尾循环体){中间循环体;}

82. for循环与while区别 for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)。

83. int price = 10;int number = 0;int monney = 0;for (int i = 0;i<2;i++){number++;--price;monney += number * price;}System.out.println(monney);输出结果是 25

84. 求1-100(含100)的和 int sum = 0;for(int i=1;i<=100;i++){sum +=i;}

85. 什么是二重循环 二重循环是一个循环体内又包含另一个完整的循环结构

86. 二重循环的执行顺序是什么 在二重循环中,外层循环变量变化一次,内层循环变量要从初始值到结束值变化一遍

87. 循环中break和continue作用 break用于强行退出循环,不执行循环中剩余的语句。continue用于跳过本次循环, 不执行continue后的语句, 继续下一次循环

88. 打印输出九九乘法表 for(int i =1;i<=9;i++){for(int j=1;j<=i;j++){System.out.print(j+"*"+i+"="+j*i+" ");}System.out.println();}

89. 使用数组的步骤是什么? 1.声明数组2.分配空间3.赋值4.对数据进行处理

90. 声名数组6,3,8,2,9,1 int[] a = {6,3,8,2,9,1};

91. 数组基本要素 标识符:数组的名称,用于区分不同的数组。数组元素:向数组中存放的数据。元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问。元素类型:数组元素的数据类型

92. 循环输出int[] a = {6,3,8,2,9,1};的元素 for(int i=0;i<a.length;i++){System.out.print(a)}

93. 声名数组3.2,4.6,7.1,4.4,0.3 double[] a = {3.2,4.6,7.1,4.4,0.3};

94. 数组的特点 数组是一种引用数据类型。数组当中的多个数据,类型必须统一。数组的长度在程序运行期间不可以改变

95. int[] a = {6,3,8,2,9,1};求数组a所有元素的和sum int sum=0;for(int i=0;i<a.length;i++){sum=sum+a[i];}

96. int a []={34,56,67,78,36}; 求数组a的最大值max int max=a[0];forfor(int i=0;i<a.length;i++){if(a[i]>max)max=a[i];}

97. 简述继承的好处 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。提高代码的重用性。提高代码的可扩展性

98. java中的继承是单继承还是多继承 单继承

99. 继承的坏处 继承是侵入性的。只要继承,就必须拥有父类的所有属性和方法。降低代码的灵活性。增强了耦合性。

100. 简述什么是单继承 单继承性:Java 允许一个类仅能继承一个其它类,即一个类只能有一个父类,这个限制被称做单继承性。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孙同学1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值