填空
- java之父:James Gosling
- 开发工具,安装,编译环境----安装Java SE提供的Java软件开发工具箱——JDK,下载完JDK后,设置系统环境变量。
- 注释:单行//,多行/* */
- 数据类型包括基本数据类型和引用数据类型。
基本数据类型:逻辑类型(boolean)、整数类型(int,byte,short,long)、浮点类型(float,double)、字符类型(char)
引用数据类型:类(class)接口(interface)数组 [ ]
- 一维数组 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();
}
}
其他
- java源文件的扩展名是.java;
- 类只能实现单继承,接口可以实现多继承。
- 方法中的局部变量的名字和成员变量的名字相同,那么方法就隐藏了成员变量。如果在该方法中使用被隐藏的成员变量,必须使用this关键字。
- 构造方法必须与类的名字完全相同
- 不编写构造方法系统会默认该类中只有一个无参的构造方法,如果编写了,那就不默认了。