Java期末考试

填空

  1. java之父:James Gosling
  2. 开发工具,安装,编译环境----安装Java SE提供的Java软件开发工具箱------JDK,下载完JDK后,设置系统环境变量。
  3. 注释:单行//,多行/* */
  4. 数据类型包括基本数据类型和引用数据类型。

基本数据类型:逻辑类型(boolean)、整数类型(int,byte,short,long)、浮点类型(float,double)、字符类型(char)

引用数据类型:类(class)接口(interface)数组 [ ]

  1. 一维数组 int[] a=new int[10];-------数组长度a.length=10

二维数组 int[][] a=new int[8][9];-------数组长度 a.length=8, a[0].length=9

6、1&1=1,其余为0;0|0=0,其余为1;~取反("非"的意思);a^a=0, a^0=a, a^b^a=b;

7、StringBuffer st = new StringBuffer("aaaaa"); st.append("bbbbb");

String st = new String("aaa"); 此处不可追加

8、面向对象语言的特征:封装、继承和多态

9、继承可以重写方法,重写会覆盖原来的方法,通过调用super()来调用父类的方法。

简答

1、Java程序的开发步骤

答:编写源文件(.java)++++使用编译器(javac.exe)++++ 编译源文件 ++++产生++++ 字节码文件(.class)++++使用解释器(java.exe)++++ 执行(运行)字节码文件

2、数据库的连接步骤。

答:package 连接数据库;

import java.sql.*;

public class DatabaseConnect {

public static void main(String args[]) {

try {

Class.forName("com.mysql.cj.jdbc.Driver");

}

catch (Exception e) {} (加载数据库驱动)

String uri = "jdbc:mysql://localhost:3306/Book?"+

"useSSL=false&serverTimezone=CST&characterEncoding=utf-8";

String user = "username";

String password = "pass";

try {

Connection con= DriverManager.getConnection(uri, user,password);

}

catch (SQLException e) {

System.out.println(e);

} (建立数据库连接)

try{

Statement sql = con.createStatement(); (创建statement对象)

ResultSet rs = sql.executeQuery("SELECT * FROM bookList");

(创建ResultSet对象)

while (rs.next()) {

int id = rs.getInt("id");

String name = rs.getString("name");

System.out.println("ID: " + id + ", Name: " + name);

}

con.close();

}

catch (SQLException e) {

System.out.println(e);

}

}

}

3、线程的创建方法。

答:1、继承Thread类

class One extends Thread {

public void run() {

System.out.println("123");//任意语句即可

}

}

public class First {

public static void main(String[] args) {

One t1 = new One();

t1.start();

}

}

2、实现Runnable接口

class Two implements Runnable {

public void run() {

System.out.println("123");

}

}

public class Second {

public static void main(String[] args) {

Two t = new Two();

Thread t2 = new Thread();

t2.start();

}

}

代码大题

1、数组排序

(inout.java)

package 简单语句结构;



import java.util.Arrays;

import java.util.Scanner;



public class inout {



public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

int []a=new int[10];

System.out.print("请输入10个数字:");

for(int i=0;i<a.length;i++)

{

a[i]=sc.nextInt();

}

Arrays.sort(a);

System.out.print("排序后的顺序为:");

for(int i=0;i<a.length;i++)

{

System.out.print(a[i]+" ");

}

}



}

2、面向对象的思想求面积和周长

(Cfx.java)

package 面向对象;



public class Cfx {

double a,b;

Cfx(){



}

Cfx(double a,double b)

{

this.a=a;

this.b=b;

}

public double getA() {

return a;

}

public void setA(double a) {

this.a = a;

}

public double getB() {

return b;

}

public void setB(double b) {

this.b = b;

}

public double area()

{

double area=a*b;

return area;

}

public double prm()

{

double prm=2*(a+b);

return prm;

}

public String toString()

{

return "长为"+getA()+"宽为"+getB()+"的长方形的面积为:"+area()+",周长为"+prm();

}

}

(Circle.java)

package 面向对象;



public class Circle {

double r;

Circle(){



}

Circle(double r)

{

this.r=r;

}

public double getR() {

return r;

}

public void setR(double r) {

this.r = r;

}

public double area()

{

double area=Math.PI*r*r;

return area;

}

public double prm()

{

double prm=Math.PI*r*2;

return prm;

}

public String toString()

{

return "半径为"+getR()+"的圆的面积为"+area()+",周长为"+prm();

}

}

(Test.java)

package 面向对象;



public class Test {

public static void main(String []args)

{

Circle ci=new Circle (100);

System.out.println(ci.toString());

Cfx cf=new Cfx(2,3);

System.out.println(cf.toString());

}

}

3、抽象接口题

(Function.java)

package 抽象接口;



public interface Function {

public String jfc();

}

(Yyyc.java)

package 抽象接口;



public class Yyyc implements Function{

double a,b;

Yyyc(){}

Yyyc(double a,double b)

{

this.a=a;

this.b=b;

}

public String jfc()

{

double result=-b/a;

return "x="+result;

}

}

(RunFunction.java)

package 抽象接口;



public class RunFunction {

    public static void main(String[] args) {

        Yyyc fc = new Yyyc(2.0, 4.0);  // 传入参数

        String result = fc.jfc();  // 调用 jfc 方法

        System.out.println(result);  // 输出结果

    }

}

4、字符缓冲流复制文件

(FileCopy.java)

package 文件复制;



import java.io.*;



public class FileCopy {

    public static void main(String[] args)

    {

     String sourceFile="D:/source.txt";

     String destinationFile="D:/destination.txt";

        try (BufferedReader reader = new BufferedReader(new FileReader(sourceFile));

            BufferedWriter writer = new BufferedWriter(new FileWriter(destinationFile)))

        {

            String line;

            while ((line = reader.readLine()) != null)

            {

                writer.write(line);

                writer.newLine(); // 换行

            }

            System.out.println("文件复制成功");

        }

        catch (IOException e)

        {

            System.out.println("文件复制失败:"+e.getMessage());

        }

    }

}

5、窗口题

(Ck.java)

package 窗口;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Ck extends JFrame implements ActionListener{

JLabel la1,la2;

JTextField  te1,te2;

JButton bu1,bu2,bu3;

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==bu1)

{

double r=Double.parseDouble(te1.getText());

double area=Math.PI*r*r;

String str=String.valueOf(area);

te2.setText(str);

}

else if(e.getSource()==bu2)

{

te1.setText("");

te2.setText("");

}

else if(e.getSource()==bu3)

{

dispose();

}

}

Ck(){

setLayout(new FlowLayout());

la1=new JLabel("请输入圆的半径");

te1=new JTextField(10);

la2=new JLabel("该圆的面积是:");

te2=new JTextField(10);

bu1=new JButton("计算");

bu2=new JButton("继续");

bu3=new JButton("关闭");

bu1.addActionListener(this);

bu2.addActionListener(this);

bu3.addActionListener(this);

add(la1);

add(te1);

add(la2);

add(te2);

add(bu1);

add(bu2);

add(bu3);

setBounds(250,200,250,200);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

(Test.java)

package 窗口;



public class Test {

public static void main(String[]args)

{

new Ck();

}

}

其他

  1. java源文件的扩展名是.java;
  2. 类只能实现单继承,接口可以实现多继承。
  3. 方法中的局部变量的名字和成员变量的名字相同,那么方法就隐藏了成员变量。如果在该方法中使用被隐藏的成员变量,必须使用this关键字。
  4. 构造方法必须与类的名字完全相同
  5. 不编写构造方法系统会默认该类中只有一个无参的构造方法,如果编写了,那就不默认了。
相关推荐
白子寰3 分钟前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
王俊山IT15 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。17 分钟前
c++多线程
java·开发语言
小政爱学习!19 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
daqinzl25 分钟前
java获取机器ip、mac
java·mac·ip
k093334 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
激流丶41 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
神奇夜光杯42 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue44 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧1 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv