您现在的位置是:主页 > news > 新疆生产建设兵团计生办网站/b2b免费发布网站大全
新疆生产建设兵团计生办网站/b2b免费发布网站大全
admin2025/4/28 16:56:18【news】
简介新疆生产建设兵团计生办网站,b2b免费发布网站大全,.net网站设计,万网个人网站建设教程简答题 一、 开发Java应用程序的主要步骤 写一个源文件:写Java代码,保存为后缀为 .java 的文件。编译源文件:用命令行 javac 类名.java 。编译后生成对应的 .class 字节码文件。运行:命令行:java 类名 。 二、 关于…
简答题
一、 开发Java应用程序的主要步骤
- 写一个源文件:写Java代码,保存为后缀为 .java 的文件。
- 编译源文件:用命令行 javac 类名.java 。编译后生成对应的 .class 字节码文件。
- 运行:命令行:java 类名 。
二、 关于变量在不同位置的有效性
(1)局部变量:
-
形参(方法签名中定义的变量):作用域为在整个方法内。当类或对象调用某个方法时,系统会在该方法栈区为所有形参分配内存空间,并将实参的值赋给对应形参,这样就完成了形参的初始化。
-
方法局部变量:作用域为定义该变量的位置到方法结束。
-
代码块局部变量:作用域为定义该变量的位置到代码块结束。
除了形参外,局部变量都必须进行显式初始化
(2)成员变量:
- 类变量(被 static 关键字修饰): 作用域与这个 类 的生存周期相同。
- 实例变量:作用域与这个 实例(对象) 的生存周期相同。
成员变量与局部变量和名字相同时,成员变量会被隐藏起来,如果还想要使用成员变量,可以用 this.变量名 来调用变量。
三、类方法与实例方法
类方法:
类中被 static 修饰的方法,即可以通过类名直接调用,也可以通过实例名调用。类方法内只能调用类变量。
实例方法:
类中没有被 static 修饰的方法,只能通过实例名调用。实例方法中既可以调用类变量,也可以调用实列变量。
四、面向对象的三大特性
封装:也称为信息隐藏,是将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。
继承:基于已存在的类构造一个新类。
多态:多态分为方法的多态(即方法重载)与继承的多态。
方法的多态即:相同的方法名,传给它不同数量或者不同类型的参数,会产生不同的行为。(方法重载)
继承的多态:不同的对象调用同一个方法会产生不同的行为。(向上转型)
五、内部类与外嵌类的区别
定义在一个类内部的类叫内部类,包含内部类的类称为外嵌类。
内部类分为普通内部类,静态内部类,匿名内部类,局部内部类。
六、String类常用方法
返回类型 方法名 作用boolean equals(String str) 判断两个字符串的内容是否一模一样int length() 得到该字符串的字符个数boolean startsWith(String str) 判断一个字符串是否以指定的内容开头boolean endsWith(String str) 判断一个字符串是否以指定的内容结尾String toUpperCase() 将一个字符串全部转换成大写String toLowerCase() 将一个字符串全部转换成小写
equals方法非常重要!!!
七、String 、StringBuffer 、 StringBuilder 三者区别
String 对象代表一个字符序列不可变的字符串。
StringBuffer 对象代表一个字符序列可变的字符串。线程安全。
StringBuilder 对象代表一个字符序列可变的字符串。线程不安全。
(具体解释:String 、StringBuffer 、 StringBuilder 三者区别)
八、子类与父类不在同一包中的继承性
子类与父类不在同一包中,子类只能继承父类中被 public 、 protected 修饰的成员变量与方法。
子类所继承的成员变量和方法的访问权限是不变的;
九、抽象类与抽象方法
抽象类:
(1)抽象类只能作为其他类的基类,它不能直接实例化,对抽象类不能使用new 操作符。
(2)抽象类中可以包含抽象成员,但非抽象类中不可以。
(3)如果一个非抽象类从抽象类中派生,则其必须通过覆盖来实现所有继承而来的抽象成员。
抽象方法:
(1)抽象方法必须声明在抽象类或接口中。
(2)抽象方法只声明了一个新方法,但不提供该方法的实现,由于抽象方法不提供任何实际实现,因此抽象方法没有方法体。
(3)声明抽象方法时,不能使用 static 和 private 修饰符。
(4)当从抽象类派生一个非抽象类时,需要在非抽象类中重写抽象方法,以提供具体的实现。
编程题:
1.要求写出 num 以内的完数。
public class WanShu {public static void main(String[] args) {WanShu ws = new WanShu();ws.getWanShu(1000);}void getWanShu(int num) {for(int i = 2 ;i<num; i++) {int sum = 0;for(int j = 1;j<i;j++) {if(i%j==0) sum += j;}if(sum == i) System.out.println(sum);}}
}
2.用面向对象的方法生成 矩形/三角形/梯形类。
(1)矩形类
class Rectangle {double height,width;Rectangle(double height,double width) { //构造器this.height = height;this.width = width;}double getArea() {return height * width;}
}
(2)三角形类
class Triangle {double a,b,c;Triangle(double side1,double side2,double side3) { //构造器a = side1;b = side2;c = side3;}void getArea() {if((a+b>c || a+c>b || b+c>a)&&a!=0&&b!=0&&c!=0) {double p = (a+b+c)/2;System.out.println(Math.sqrt(p*(p-a)*(p-b)*(p-c)));}elseSystem.out.println("不能构成三角形,无法求面积");}
}
(3)梯形类
class Trapezoid {double above,bottom,height;Trapezoid(double above,double bottom,double height) { //构造器this.above = above; //上底this.bottom = bottom; //下底this.height = height; //高}double getArea() {return (above + bottom) * height /2.0;}
}
3.IO流(A卷不考第十章,也就是说不考IO流)
复制文件(这只是个示例,考试不一定是这个题,后续再补充)
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;public class Main {public static void main(String args[]) {int b = 0;try {FileInputStream in = new FileInputStream("d:\\QQQ.txt"); //读FileOutputStream out = new FileOutputStream("d:\\PPP.txt"); //写while ((b = in.read())!=-1) {out.write(b);}in.close();out.close();} catch (FileNotFoundException f) {f.printStackTrace();System.out.println("找不到指定文件");System.exit(-1);} catch (IOException e) {e.printStackTrace();System.out.println("文件复制错误");System.exit(-1);}System.out.println("文件已复制");}
}
4.生成n个随机数,分别输出大于num与小于num的数的个数。
import java.util.Random;public class RandomTest {int count;RandomTest(int n) {count = n;}void random(int num) {Random r = new Random();int big = 0,small = 0;for(int i = 0;i<count;i++) {if(r.nextInt(10)>num) big++;else small++;}System.out.println("大于"+num+"的数的个数为:"+big+"\n小于"+num+"的数的个数为:"+small);}
}
5.GUI
重点:
布局:GridLayout
多个标签:Lable
多个文本框:JTextField
import javax.swing.*;
import java.awt.*;public class TestFrame {public static void main(String[] args) {JFrame window = new JFrame("注册账号");//参数为窗口名字window.setSize(200,100);//设置窗口大小window.setLocationRelativeTo(null);//设置窗口居中显示window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点击窗口关闭图标后,窗口所在程序结束window.setLayout(new GridLayout(3,2,3,3));//设置网格布局 :3行2列//依次添加以下组件window.add(new Label("name:"));window.add(new JTextField());window.add(new Label("sex:"));window.add(new JTextField());window.add(new Label("password:"));window.add(new JTextField());window.setVisible(true);//设置窗口可见}
}
效果:
6.求圆面积(ZHI NENG画的重点)
public class TestCircle {private double radius;private double area;TestCircle(double r) {//构造方法radius = r;}public double getRadius() {//get半径return radius;}public void setRadius(double radius) {//set半径this.radius = radius;}public double getArea() {//get面积area = Math.PI*radius*radius;return area;}
}
public class TestAA {public static void main(String[] args) {TestCircle tc = new TestCircle(5);System.out.format("半径为 %f 的圆的面积为: %.3f",tc.getRadius(),tc.getArea());//输出格式控制}
}
7.求圆锥体积
版本1(特点:涉及对象之间的组合)
public class Circle {private double radius;//半径private double area;//面积Circle(double r) {radius = r;}double getRadius() {return radius;}double getArea() {area = Math.PI * radius * radius;return area;}
}
public class Circular {Circle circle;//一个底面圆对象private double volume;//体积private double height;//圆锥的高Circular(Circle c,double h) {//构造器circle = c;height = h;}public double getVolume() {//求体积volume = circle.getArea()*height/3;return volume;}
}
import java.util.Scanner;public class TestC {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请依次输入:圆锥底面圆的半径 圆锥的高");double r = sc.nextDouble();double h = sc.nextDouble();Circle circle = new Circle(r);Circular circular = new Circular(circle,h);System.out.format("该圆锥体积: %.3f",circular.getVolume());//保留3位小数}
}//结果:
请依次输入:圆锥底面圆的半径 圆锥的高
3 5
该圆锥体积: 47.124
Process finished with exit code 0
版本2(特点:面向接口编程)
interface GetArea {public abstract double getArea();//求面积的方法
}
interface GetVolume {public abstract double getVolume();//求体积的方法
}
public class CircleT implements GetArea{private double radius;private double area;CircleT(double radius) {this.radius = radius;}public double getArea() {area = Math.PI*radius*radius;return area;}
}
public class CircularT implements GetVolume,GetArea{private double height;private double volume;CircleT circleT;CircularT(double r,double h) {circleT = new CircleT(r);height = h;}public double getVolume() {volume = circleT.getArea()*height/3;return volume;}public double getArea() {return circleT.getArea();}
}
public class TestCC {public static void main(String[] args) {CircleT circleT = new CircleT(5);CircularT circularT = new CircularT(6,10);System.out.format("半径为5的圆的面积为:%.3f\n\n",circleT.getArea());System.out.format("底面圆半径为6,高为10的圆锥的\n体积:%.3f\n底面圆面积:%.3f\n",circularT.getArea(),circularT.getVolume());}
}//结果:
半径为5的圆的面积为:78.540底面圆半径为6,高为10的圆锥的
体积:113.097
底面圆面积:376.991Process finished with exit code 0