《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室1Java基础1、简述Java的基本历史java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机、冰箱等2、简单写出Java特点,写出5个以上,越多越好简单的、面向对象的、分布式的、安全的、稳定的、与平台无关的、可解释的、多线的、动态的语言。3、什么是Java?JAVA:一种编程语言一种开发环境一种应用环境一种部署环境4、请写出Java的版本分类,以及每种版本的应用方向三种版本:JME:是面向内存有限的移动终端.为消费性产品设计的;JSE:是SUN公司针对桌面开发和低端商务计算方案开发的版本。为笔记本电脑、PC机设计的;JEE:是一种利用JAVA2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。为企业级的、服务器端的高端应用而设计的;5、描述Java技术的主要特性java虚拟机垃圾回收代码安全性6、描述Java虚拟机的功能(1)通过ClassLoader寻找和装载class文件(2)解释字节码成为指令并执行,提供class文件的运行环境(3)进行运行期间垃圾回收(4)提供与硬件交互的平台7、简述Java代码安全性(1)编译时的错误检验(2)类装载检查,把本机上的类和网络资源类相分离,在调入类的时候进行检查,因而可以限制任何“特洛伊木马”的应用(3)字节码校验(4)沙箱机制,限定访问权限8、描述Java垃圾回收机制《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室2Java编程语言解除了程序员释放内存的责任。它可提供一种系统级线程以跟踪每一次内存的分配情况。在Java虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的内存。垃圾收集在Java技术程序的生命周期中自动进行,它解除了释放内存的要求,这样能够有效避免内存漏洞和内存泄露(内存泄露就是程序运行期间,所占用的内存一直往上涨,很容易造成系统资源耗尽而降低性能或崩溃。垃圾回收有以下特点:(1)垃圾回收是一个自动的系统行为,程序员不能控制垃圾回收的功能和行为。(2)有一些跟垃圾回收相关的方法,比如:System.gc(),调用这些方法,仅仅是在通知垃圾回收程序,至于垃圾回收程序运不运行,什么时候运行,都是无法控制的。(3)程序员可以通过设置对象为null,来标示某个对象不再被需要了,这只是表示这个对象可以被回收了,并不是马上被回收。9、简述Java代码的运行过程(1)编写代码(2)编译(3)类装载通过类装载器装载CLASS文件(4)校验代码由字节码校验(5)解释由解释器将字节码转换成机器码(6)运行10、简述如何搭建Java开发环境首先下载安装JDK然后配置环境(1)配置PATH,操作系统运行环境的路径(2)配置CLASSPATHJAVA运行应用程序时所需要的类包的路径(3)配置JAVA_HOME供需要运行JAVA的程序使用11、简述classpath,path,JAVA_HOME的意义和配置方法path操作系统运行环境的路径classpathJAVA运行应用程序时所需要的类包的路径JAVA_HOME供需要运行JAVA的程序使用12、请描述:一个完整的Java文件的代码分几个部分,每部分都起什么作用,大致的写法package当前类所在位置import当前类运行时所需要的包或类publicclass类名{属性定义;方法定义:构造方法定义;publicstaticvoidmain(Stringargs[])例外{程序入口语句;}}//注释《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室313、Java代码的注释有几种?分别举例说明(1)//单行注解(2)/**/块注释(3)/***文档注释*/14、什么是Java代码的语句,什么是Java代码的块,举例说明语句是一行以分号终止的代码,例:inta;块是以{}为边界的一些语句的集合例:publicvoidtt(){}15、什么是标示符?标识符:是赋予变量、类、方法的名称。//标识符是标识变量、类或方法的有效字符序列16、标示符定义的规则?(1)首字母只能以字母、下划线、$开头,其后可以跟字母‘下划线、$和数字配置CLASSPATH(2)表示符不能是关键字(3)标识符区分大小写17、什么是关键字?关键字就是编程语言与机器语言的编码约定18、true、false、null、sizeof、goto、const那些是Java关键字true、false、null为JAVA的关键字19、Java的基本数据类型有几种?分别是?shortintlongbooleanfloatdoublecharbyte/*布尔类型(boolean)字符型(char)数值类型定点类型字节型(byte)短整型(short)整型(int)长整型(long)浮点类型单精度(float)双精度(double)20、请写出每种基本类型的默认值?取值范围?分别给出一个定义的例子默认值取值范围示例字节型:0-2^7----2^7-1byteb=10;字符型:'\u0000'0----2^16-1charc=’c’;short:0-2^15----2^15-1shorts=10;int:0-2^31----2^31-1inti=10;long:0-2^63----2^63-1longo=10L;《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室4float:0.0f-2^31----2^31-1floatf=10.0Fdouble:0.0d-2^63----2^63-1doubled=10.0;boolean:falsetrue\falsebooleanflag=true;21、在基本类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?整数类型默认为int带小数的默认为doubleboolean的默认值false22、如何定义float类型和long型floatf=1.2flongl=1.2L23、什么是变量?变量是用来引用一块内存区域或一个值,用标识符来表示,可以通过操作变量来操作变量所对应的内存区域或值块的值。24、变量的定义规则?(1)以字母、$、下划线开头,其后可以跟字母、下划线、$和数字;(2)首字母小写,中间单词用大写字母隔开;(3)名称具有一定含义;//4.可以先声明再赋值也可以声明的同时进行赋值//5.没有赋值的变量是不可以使用的25、请写出Java编码约定中对下列部分的要求:类、属性、方法、包、文件名、变量、常量、控制结构、语句行、注释类:一个类文件中类名要和文件名相同,类名一定要以大写字母开头,单词之间用大写字母分隔属性:属性名首字母小写,中间用大写字母隔开。方法:方法名首字母小写,中间用大写字母隔开。包:引用包必须写在类文件的开头,有且只能有一个包,全部用小写字母。控制结构:当语句是控制结构的一部分时,即使是单个语句,也应使用大括号将语句封闭。语句行:每行只写一个语句,并使用四个缩进的空格,使代码更易读,注意用分号结束。注释:用注释来说明那些不明显代码的段落。常量:常量名一般用大写字母,单词之间用下划线分隔,一旦赋值不允许修改。26、什么是Javadoc?按照一定格式生成程序的文档的工具。27、什么是引用类型?用户定义类型,它可引用类和数组。除去基本数据类型的其他类型都是引用数据类型。28、什么是按值传递?什么是按引用传递?按值传递:就是将该值的副本传过去(基本数据类型+String类型的传递,就是按值传递)《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室5按引用传递:就是将值的内存地址传过去(除基本数据类型+String以外类型的传递,就是引用传递)29、如何创建一个新对象?如何使用对象中的属性和方法?使用new关键字来创建一个新的对象;通过对象的实例用“.”(点)来调用对象中的属性和方法;静态的方法和属性,也可以直接用类名“.”(点)来调用;30、简述new关键字所做的工作new创建一个对象,并为对象分配一块内存。31、简述”=”和”==”的功能和区别=赋值,==当比较基本数据类型的时候,判断前后两个值是否相等;当比较引用数据类型的时候,判断==前后两个值的内存地址是否相等;区别:=:为赋值表达式==:为逻辑表达式32、什么是实例变量?什么是局部变量?什么是类变量?什么是final变量?实例变量:类中定义的变量,即类成员变量,如果没有初始化,会有默认值;局部变量:在方法中定义的变量,必须初始化;类变量:用static修饰的属性;final变量:用final修饰的变量,33、简述上述各种变量的定义规则和使用规则?实例变量:不需要static关键字来声明,需要类的实例(对象)调用(用“.”);类变量:用static修饰,可以用类名调用,也可以用类的实例调用;局部变量:在方法内任意定义变量即为局部变量;final变量:一旦赋值,不可以再修改的变量;final属性只允许赋值一次,且只能通过构造方法赋值,定义后也就是一个常量;final修饰的变量,只允许赋值一次34、a++和++a的区别?a++:先使用,后加1++a:先加1,后使用35、请描述instanceof、?:、&、&&各自的功能instanceof:用来判断某个实例变量是否属于某种类的类型。?:三目运算符:表达式1?表达式2:表达式3如果表达式1为true,执行表达式2,否则执行表达式3&:位运算:按位与|&&:逻辑运算:逻辑与《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室636、请描述、、的功能104:算术或符号右移位运算符:算术或符号左移位运算符:逻辑或无符号右移位运算符37、请描述什么是强制类型转换?什么是自动类型转换?什么是向上造型?并分别举例说明强制类型转换:在一个类型前面加(),来强制转换longl=9L;inti=(int)l;自动类型转换:inti=5;Stringstr=+i;向上造型:把范围小的造型为范围大的类型:inti=2;longl=i;38、请写出完整的if条件控制语句的结构if(布尔表达式){语句}else{语句}39、请写出完整的switch语句的结构switch(字符){case字符:语句break;case字符:语句break;default:语句}40、请写出完整的for语句的结构for(初始语句;条件语句;步长){}41、请写出完整的while语句的结构while(boolean语句){}42、请写出完整的dowhile语句的结构do{}while(boolean语句);《Java快车》-62972039地址:北京海淀区上地信息路15号玉景大厦310室743、请描述break和continue的功能和用法break:终止(跳出)最近的循环continue:跳出本次循环,执行下一次循环44、定义一个一维的int数组,先创建它,并初始化它,给它赋值,然后输出其中的一个值publicclassArr{publicstaticvoidmain(Stringargs[]){inta[]=newint[5];a={1,2,3,4,5};//错误,只能在初始化时这样做a[0]=1;a[1]=2;System.out.println(a[0]);}}45、定义一个一维的A类型数组,直接定义并赋值,然后输出其中的一个值publicclassA{publicstaticinti;publicsta