java答案1.docx
- 文档编号:14938500
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:16
- 大小:20.36KB
java答案1.docx
《java答案1.docx》由会员分享,可在线阅读,更多相关《java答案1.docx(16页珍藏版)》请在冰点文库上搜索。
java答案1
一简答
1.配置JAVA运行环境时,设置PATH、CLASSPATH环境变量的作用是什么?
JDK就是JavaDevelopmentKit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。
SDK是SoftwareDevelopmentKit一般指软件开发包,可以包括函数库、编译程序等。
JRE是JavaRuntimeEnviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者
2.简述java的环境搭建过程。
1、安装JDK(不改变安装路径),配置环境(我的电脑—属性—高级—新建(环境))①、JAVA_HOME:
“D:
\jdk…”(JDK
安装路径)②、PATH:
%JAVA_HOME%\bin③、
CLASSPATH:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
2、安装编辑器—Eclipse
3.JDK和JRE有什么区别?
JDK就是JavaDevelopmentKit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。
SDK是SoftwareDevelopmentKit一般指软件开发包,可以包括函数库、编译程序等。
JRE是JavaRuntimeEnviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者
4.写出java定义常量的语句格式。
类型变量名=值
5.构造方法的特点。
1、构造方法名一定与类同名
2、构造方法无返回值类型(void也不行)
3、构造方法可以没有(默认一个无参构造方法),也可以有多个构造方法,他们之间构成重载关系
4、如果定义有参构造函数,则无参构造函数将被自动屏蔽
5、构造方法不能被继承
6、构造方法不能手动调用,在创建类实例的时候自动调用构造方法
6.构造方法在继承中表现有哪些特性
1、构造方法不嫩继承,因此子对象要对继承来自父对象的成员进行初始化
2、
7.如何定义抽象类?
如何定义接口?
P128
抽象类:
abstractclass类名称{
成员变量定义;方法(){};//定义具体方法
abstract方法();//定义抽象方法}
接口类:
[public]interface接口名[extends父接口名列表]{
[public][static][final]域类名域名=常量值;
[public][abstract][native]返回值方法名(参数列表)[throw异常列表]}
8.抽象类和接口的异同。
相同点:
抽象类和接口都不可以实例化;抽象类和接口中的方法都可以没有方法体;抽象类和接口的子类都可以强转成父类的类型;抽象类和接口的子类都必须实现父类中的抽象方法,除非子类也声明成抽象类或接口;
不同点:
抽象类只能被单继承,接口可以多实现;接口中的变量必须是final的(如果没写,默认也是final的),抽象类则没有;抽象类中的方法可以有有方法体的,接口则不可以;接口在继承的时候使用implements关键字,表示实现,抽象类则用extends关键字,表示继承;
9.说说你对变量的作用域的理解。
变量的作用域也称变量的有效范围,它指程序中的一个区域,变量在其作用域内可以访问。
作用域也决定Java运行系统什么时候为变量创建和释放内存。
根据变量在程序中声明的位置,可以将变量分为4中情形:
1、成员变量:
其作用域是整个类体,成员变量定义时系统会自动赋默认初始值。
2、局部变量:
也称自动变量,是在方法内定义或者在一段代码块中定义的变量。
方法体内定义的局部变量在整个方法内
有效,而循环内定义的局部变量只在循环内有效。
(定义时无默认初始值,必须先赋值)
3、方法参数:
其作用域是整个方法
4、异常处理参数:
其作用范围是catch后面跟随的异常处理块。
10.分别说明break语句和continue语句的作用
break语句(强行结束循环)
break语句作用:
1、可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。
2、使流程跳出switch结构
注意:
break语句只用于循环语句和switch语句continue语句作用:
结束本次循环,即忽略循环体中continue语句下面尚未执行的语句,接着进行下一次是否执行循环的判定。
注意:
continue语句只用于循环语句
11.试写出方法定义的一般格式并加以说明。
格式:
修饰符[Public]返回值类型[int]方法名[add](形式参数[intx,inty])
{方法体语句;}
说明:
1、方法头定义方法的访问形态和特征,方法体试下方法的功能。
2、形式参数是从调用他的环境输入的数据,形式参数列表的格式如下:
类型+参数名,类型+参数名
3、返回值是方法在操作完成后返回调用它的环境数据,返回值的类型用各种类型关键字(int、float等)来指定的,
如果无返回值,则用void标识,有返回值的方法,在方法体中要有return语句:
return表达式;/return;
12.类和对象的定义及其相互关系。
类定义:
[修饰符]class类名[extends父类名][implements接口列表]{}如:
publicclassPoint{}
对象定义:
<类型>引用变量名=new<类型>([参数])如:
Pointp1=newPoint();
13.Static的作用及其用static修饰的各部分的作用。
有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。
通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。
在成员的声明前面加上关键字static(静态的)就能创建这样的成员。
如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。
你可以将方法和变量都声明为static。
static成员的最常见的例子是main()。
因为在程序开始执行时必须调用main(),所以它被声明为static。
声明为static的变量实质上就是全局变量。
当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
声明为static的方法有以下几条限制:
◆它们仅能调用其他的static方法。
◆它们只能访问static数据。
◆它们不能以任何方式引用this或super
14.什么是继承?
什么是多态?
继承是存在于面向对象程序中两个类之间的一种关系。
被继承的类称为父类或超类,而继承父类的类称为子类。
父类是所有子类的公共域和公共方法的集合,子类则是父类的特殊化,是对公共域和方法在功能、内涵方面的扩展和延伸。
继承可使程序结构清晰,降低编码和维护的工作量。
15.请至少列举String类的常用方法。
1、创建字符串publicString()
2、字符串连接Strings=“ABC”;s=s+4;结果为ABC4
3、比较两个字符串
4、字符串的提取与替换
5、字符串中字符或字串的查找
16.什么是异常?
如何处理异常?
异常:
指的是程序运行时出现的非正常情况。
异常处理:
try{语句块;}catch(异常类名参数变量名){语句块;}finally{语句块;}
17.说明this和super关键字的作用。
super是调用父类的构造函数
使用super调用有一些限制条件,不能在super调用中使用实例变量作为参数.
而且在构造函数中,调用必须写在继承类的构造函数定义的第一行,不能在构造函数的后面使用.
this调用的同类的构造函数.
super的限制条件同样适用于this函数
一个构造函数定义中不能同时包括this调用和super调用,如果想同时包括的话,可以在this中首先进行super调用.
18.试说明你对变量初始化的理解。
19.阐述java图形界面编程的一般步骤。
20.阐述java数据库应用程序开发的一般步骤。
二编程
1.编写一个输出"HelloWorld!
"的程序,用两种方式实现(Application(JAVA应用程序)、Applet(小应用程序))。
①
Publicclasshello{
Publicstaticvoidmain(String[]arg){
System.out.println(“HelloWorld!
”);}
}
②
Importjava.applet.Applet;
Importjava.awt.*;
2.输入矩形的长和宽,计算矩形的周长和面积。
1、importjava.util.Scanner;
2、publicclassjuxing{
3、publicstaticvoidmain(String[]arg){
4、doublec,k,zc,mj;
5、Scannerreader=newScanner(System.in);
6、System.out.println("请输入矩形的宽:
");
7、k=reader.nextDouble();
8、System.out.println("请输入矩形的长:
");
9、c=reader.nextDouble();
10、mj=c*k;zc=(c+k)*2;
11、System.out.println("矩形的面积为:
");
12、System.out.println(mj);
13、System.out.println("矩形的周长为:
");
14、System.out.println(zc);}
15、}
3、编写一个程序从键盘输入5个整数,将最大、最小的整数找出来输出。
1、importjava.io.BufferedReader;
2、importjava.io.IOException;
3、importjava.io.InputStreamReader;
4、
5、publicclassas{
6、
7、publicstaticvoidmain(String[]args)throwsIOException{
8、//TODOAuto-generatedmethodstub
9、
10、intmax=0;
11、intmin=0;
12、BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
13、System.out.println("请输入五个整数:
");
14、for(inti=1;i<=5;i++){
15、Strings=br.readLine();
16、intx=Integer.parseInt(s);
17、if(i==1){
18、min=x;
19、max=x;
20、}else{
21、if(x>max)max=x;
22、if(x 23、} 24、} 25、System.out.println("最大整数为"+max); 26、System.out.println("最小整数为"+min); 27、} 28、} 4、编写一个程序从键盘输入任意多个整数,利用交换排序法对所有整数排序,按照从小到大的顺序输出。 importjava.util.Arrays; importjava.util.Scanner; publicclassTest{ publicstaticvoidmain(String[]args){ intnum[]=newint[30]; Scannerscanner=newScanner(System.in); for(inti=0;i num[i]=scanner.nextInt();//读取30个数存进num } Arrays.sort(num);//对num数组进行排序 System.out.println(Arrays.toString(num));//对数组进行输出 } } 5、编写一个JavaApplication程序,接受用户输入的一个浮点数,把它的整数部分和小数部分分别输出。 1、packagefloatandint; 2、 3、importjava.util.Scanner; 4、 5、publicclassFloatAndInt{ 6、publicstaticvoidmain(String[]args){ 7、floatf=0f; 8、Scannersc=newScanner(System.in); 9、System.out.println("请输入浮点型数字: "); 10、try{ 11、f=sc.nextFloat(); 12、System.out.println("整数部分: "+(int)f); 13、System.out.println("小数部分: "+getXiaoshu(f)); 14、}catch(Exceptione){ 15、e.printStackTrace(); 16、} 17、} 18、 19、privatestaticStringgetXiaoshu(floatf){ 20、return(f+"").substring(1+((f+"").indexOf("."))); 21、} 22、} 6、编写一个student类,数据成员有学号、姓名、班级、年龄,成员方法有构造方法、学生信息输出方法showStuInfo(), 然后在另外一个类mainApplication中用创建(“20120101”,“张三”,“教育012”,20)和(“20120102”,“李四”,“教育01”,19)两个student对象,并输出这两个对象的信息。 packagesecond; publicclassstudent{ Stringxm,xh,bj; intage; publicstudent(Stringxm,Stringxh,Stringbj,intage){ this.xm=xm; this.xh=xh; this.bj=bj; this.age=age; } publicvoidshowStuInfo(){ System.out.println("姓名: "+xm+"学号: "+xh+"班级: "+bj+"年龄: "+age); } publicstaticvoidmain(String[]args){ studentstu1=newstudent("张三","20124500","教育1201班",20); studentstu2=newstudent("李四","20124501","教育1201班",20); stu1.showStuInfo(); stu2.showStuInfo(); } } 7、定义一个Person类,含姓名、性别、年龄等字段;继承Person类设计Teacher类,增加职称、部门等字段;继承Person 类设计Student类,增加学号、入学时间、专业等字段。 定义各类的构造方法和toString()方法,并分别创建对象进行测试。 packagesecond; publicclasslin{ publicstaticvoidmain(String[]args){ personp=newperson("rose","女",19); teachert=newteacher("rose","女",19,"副教授","计算中心"); System.out.println(p.toString()); } } classperson{ Stringxm; Stringsex; intage; publicperson(Stringxm,Stringsex,intage){ super(); this.xm=xm; this.sex=sex; this.age=age; } publicStringtoString(){ return"Student[xm="+xm+"sex="+sex+"age="+age+"]"; } } classteacherextendsperson{ Stringzc; Stringbm; publicteacher(Stringxm,Stringsex,intage,Stringzc,Stringbm){ super(xm,sex,age); this.zc=zc; this.bm=bm; } publicStringtoString(){ return"Student[xm="+xm+"sex="+sex+"age="+age+"zc="+zc+"bm="+bm+"]"; } } classstudentextendsperson{ Stringxh; Stringrxsj; Stringzy; publicstudent(Stringxm,Stringsex,intage,Stringxh,Stringrxsj,Stringzy){ super(xm,sex,age); this.xh=xh; this.rxsj=rxsj; this.zy=zy; } publicStringtoString(){ return"Student[xm="+xm+"sex="+sex+"age="+age+"xh="+xh+"rxsj="+rxsj+"zy="+zy+"]"; } } 8、编写含有一个digitAdd()方法的类,当用digitAdd(12,23)时,对整数求和,当用digitAdd(12.123,23.123)时, 对实数求和,利用方法重载实现。 (11分) packagesecond; publicclassexam8{ publicstaticvoidmain(String[]args){ exam8exam=newexam8(); System.out.println(exam.digitAdd(12,23)); System.out.println(exam.digitAdd(12.123,23.123)); } publicintdigitAdd(inta,intb){ returna+b; } publicdoubledigitAdd(doublea,doubleb){ returna+b; } } 9、编写APPLET程序包括一个标签,一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的内容复制到标签中。 packagelin; importjava.applet.Applet; importjava.awt.*; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; publicclassexam9extendsAppletimplementsActionListener{ Labellb; TextFieldtf; Buttonbtn; publicvoidinput(){ lb=newLabel(""); tf=newTextField(10); btn=newButton("OK"); add(tf); add(btn); add(lb); btn.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ lb.setText(tf.getText()); } } 10、编写一个数字翻译程序将录入的数字转换为英文显示出来: (1)在窗体中安排一个文本框,录入数字(1-9) (2) 安排一个标签显示翻译结果(3)安排一个按钮“翻译”,点击该按钮进行翻译(4)安排一个按钮“清除”,点击该按钮将清除文本框和翻译结果。 例如: 输入1显示one,输入9显示nine。 packagesecond; importjava.awt.FlowLayout; importjava.awt.Frame; importjava.awt.TextField; importjava.awt.event.*; importjavax.swing.*; publicclassexam10extendsFrame{ staticJLabeljlb; JButtonjbtnTrans; staticJButtonjbtnClear; staticTextFieldtf; publicexam10{ jlb=newJLabel(""); jbtnTrans=newJButton("翻译"); jbtnClear=newJButton("清除"); tf=newTextField(15); setLayout(newFlowLayout()); add(tf); add(jbtnTrans); add(jlb); add(jbtnClear); jbtnTrans.addActionListener((ActionListener)this); jbtnClear.addActionListener((ActionListener)this); } publicstaticvoidmain(String[]args){ if(e.getSourse()==jbtnClear){ tf.setText(""); jlb.setText(""); }else{ Stringstr=tf.getText(); intnum=Integer.parseInt(str); switch(num){ case1: jlb.setText("one");break; case2: jlb.setText("two");break; case3: jlb.setText("three");break; case4: jlb.setText("f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 答案