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 int10;-------数组长度a.length=10

二维数组 int\[\]\[\] a=new int89;-------数组长度 a.length=8, a0.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 小时前
第04章 邮箱大战,163 与 QQ 的暗战|《互联网产品恩仇录》
java·vue.js·架构
知已难寻3 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
沐晓时光3 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
文丑颜不良啊5 小时前
LeetCode2481~2500题目解析
java·leetcode
Flynn Liang6 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
聪明的笨猪猪7 小时前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程
愿有所息7 小时前
记一次 ARM64 + JDK8 上 fastjson2 的诡异数据错乱
java
秋饼7 小时前
MCP 2026-07-28 无状态协议大改版:Spring AI 2.1 多轮往返请求与网关路由落地
java·ai·技术分享·后端开发
SL_staff9 小时前
JVS-BI 实战:业务人员如何用零代码 ELT + 可视化配置构建实时经营分析闭环
java·spring·全栈
SL_staff9 小时前
企业AI落地难?JVS-AI渐进式实践:安全可控、小切口验证、标准化沉淀与规模化复制
java·开源·aigc