1、实验目的与要求

(1) 综合掌握java基本程序结构;

(2) 综合掌握java面向对象程序设计特点;

(3) 综合掌握java GUI 程序设计结构;

(4) 综合掌握java多线程编程模型;

(5) 综合编程练习。

2、实验内容和步骤

任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。

任务2:综合编程练习

练习1:设计一个用户信息采集程序,要求如下:

(1)  用户信息输入界面如下图所示:

(1)用户点击提交按钮时,用户输入信息显示控制台界面;

(2)用户点击重置按钮后,清空用户已输入信息;

(3)点击窗口关闭,程序退出。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;public class DemoJFrame {public static void main(String[] args) {EventQueue.invokeLater(() -> {JFrame frame = new FrameTest();frame.setTitle("Students Detail");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}class FrameTest extends JFrame {private JPanel panel;private JTextField fieldname;private JTextField fieldadress;private JRadioButton male, female;private ButtonGroup bg;private JLabel jPanel;private JCheckBox reading, singsing, dancing;private JComboBox<String> JComboBox;private JButton validate, reset;public FrameTest() {setSize(700, 500);panel = new JPanel();panel.setLayout(null);bg = new ButtonGroup();male = new JRadioButton("Male", false);male.setBounds(150, 330, 80, 50);female = new JRadioButton("Female", false);female.setBounds(150, 300, 80, 50);bg.add(male);bg.add(female);addJLabel("sex:", 100, 300);addJLabel("name:", 100, 50);addJLabel("address:", 100, 150);addJLabel("Qualification:", 400, 50);addJLabel("Hobby:", 400, 150);fieldname = new JTextField();fieldname.setBounds(150, 70, 120, 30);fieldname.setVisible(true);fieldadress = new JTextField();fieldadress.setBounds(150, 160, 130, 100);fieldadress.setVisible(true);reading = new JCheckBox("Reading");reading.setBounds(450, 160, 100, 30);singsing = new JCheckBox("dancing");singsing.setBounds(450, 180, 100, 30);dancing = new JCheckBox("singing");dancing.setBounds(450, 200, 100, 30);JComboBox = new JComboBox<>();JComboBox.addItem("初中");JComboBox.addItem("高中");JComboBox.addItem("大学");JComboBox.setBounds(500, 65, 100, 20);validate = new JButton("提交");validate.setBounds(200, 400, 100, 35);reset = new JButton("重置");reset.setBounds(400, 400, 100, 35);validate.addActionListener(new Action1());reset.addActionListener(new Action2());panel.add(reading);panel.add(singsing);panel.add(dancing);panel.add(validate);panel.add(reset);panel.add(JComboBox);panel.add(fieldname);panel.add(fieldadress);panel.add(male);panel.add(female);add(panel);}public void addJLabel(String n, int a, int b) {jPanel = new JLabel(n);jPanel.setBounds(a, b, 100, 50);panel.add(jPanel);}private class Action1 implements ActionListener {public void actionPerformed(ActionEvent event) {System.out.println("name:" + fieldname.getText() + "\n" + "address:" + fieldadress.getText());System.out.println("Qualification:" + JComboBox.getSelectedItem());System.out.println("Hobby:");if (reading.isSelected() == true)System.out.print(reading.getText());if (singsing.isSelected() == true)System.out.print(singsing.getText());if (dancing.isSelected() == true)System.out.print(dancing.getText());System.out.println("\n" + "sex:");if (male.isSelected() == true)System.out.println(male.getText());if (female.isSelected() == true)System.out.println(female.getText());}}private class Action2 implements ActionListener {public void actionPerformed(ActionEvent event) {fieldname.setText(null);fieldadress.setText(null);reading.setSelected(false);singsing.setSelected(false);dancing.setSelected(false);bg.clearSelection();JComboBox.setSelectedIndex(0);}}
}

DemoJFrame

练习2:采用GUI界面设计以下程序:

l  编制一个程序,将身份证号.txt 中的信息读入到内存中;

l  按姓名字典序输出人员信息;

l  查询最大年龄的人员信息;

l  查询最小年龄人员信息;

l  输入你的年龄,查询身份证号.txt中年龄与你最近人的姓名、身份证号、年龄、性别和出生地;

l  查询人员中是否有你的同乡。

l  输入身份证信息,查询所提供身份证号的人员信息,要求输入一个身份证数字时,查询界面就显示满足查询条件的查询结果,且随着输入的数字的增多,查询匹配的范围逐渐缩小。

package ID;import java.awt.*;
import javax.swing.*;/*** @version 1.34 2015-06-12* @author Cay Horstmann*/
public class button {public static void main(String[] args) {EventQueue.invokeLater(() -> {JFrame frame = new Main();frame.setTitle("身份证");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}
}

button

package ID;public class Person implements Comparable<Person> {private String name;private String ID;private int age;private String sex;private String birthplace;public String getname() {return name;}public void setname(String name) {this.name = name;}public String getID() {return ID;}public void setID(String ID) {this.ID = ID;}public int getage() {return age;}public void setage(int age) {this.age = age;}public String getsex() {return sex;}public void setsex(String sex) {this.sex = sex;}public String getbirthplace() {return birthplace;}public void setbirthplace(String birthplace) {this.birthplace = birthplace;}public int compareTo(Person o) {return this.name.compareTo(o.getname());}public String toString() {return name + "\t" + sex + "\t" + age + "\t" + ID + "\t" + birthplace + "\n";}
}

Person

package ID;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;public class Main extends JFrame {private static ArrayList<Person> personlist;private static ArrayList<Person> list;private JPanel panel;private JPanel buttonPanel;private static final int DEFAULT_WIDTH = 600;private static final int DEFAULT_HEIGHT = 300;public Main() {personlist = new ArrayList<>();Scanner scanner = new Scanner(System.in);File file = new File("身份证号.txt");try {FileInputStream fis = new FileInputStream(file);BufferedReader in = new BufferedReader(new InputStreamReader(fis));String temp = null;while ((temp = in.readLine()) != null) {Scanner linescanner = new Scanner(temp);linescanner.useDelimiter(" ");String name = linescanner.next();String ID = linescanner.next();String sex = linescanner.next();String age = linescanner.next();String place = linescanner.nextLine();Person Person = new Person();Person.setname(name);Person.setID(ID);Person.setsex(sex);int a = Integer.parseInt(age);Person.setage(a);Person.setbirthplace(place);personlist.add(Person);}} catch (FileNotFoundException e) {System.out.println("查找不到信息");e.printStackTrace();} catch (IOException e) {System.out.println("信息读取有误");e.printStackTrace();}JPanel panel = new JPanel();panel.setLayout(new BorderLayout());JTextArea jt = new JTextArea();panel.add(jt);add(panel, BorderLayout.CENTER);JPanel buttonPanel = new JPanel();buttonPanel.setLayout(new GridLayout(1, 7));JButton jButton = new JButton("字典排序");JButton jButton1 = new JButton("年龄最大和年龄最小");JLabel lab = new JLabel("你的老乡");JTextField jt1 = new JTextField();JLabel lab1 = new JLabel("查找年龄相近的:");JTextField jt2 = new JTextField();JLabel lab2 = new JLabel("输入你的身份证号码:");JTextField jt3 = new JTextField();JButton jButton2 = new JButton("退出");jButton.setBounds(110, 90, 40, 50);jButton1.setBounds(110, 90, 40, 50);jt1.setBounds(110, 90, 40, 50);jt2.setBounds(110, 90, 40, 50);jt3.setBounds(110, 90, 40, 50);jButton2.setBounds(110, 90, 40, 50);jButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {Collections.sort(personlist);jt.setText(personlist.toString());}});jButton1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {int max = 0, min = 100;int j, k1 = 0, k2 = 0;for (int i = 1; i < personlist.size(); i++) {j = personlist.get(i).getage();if (j > max) {max = j;k1 = i;}if (j < min) {min = j;k2 = i;}}jt.setText("年龄最大:" + personlist.get(k1) + "年龄最小:" + personlist.get(k2));}});jButton2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {dispose();System.exit(0);}});jt1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String find = jt1.getText();String text = "";String place = find.substring(0, 3);for (int i = 0; i < personlist.size(); i++) {if (personlist.get(i).getbirthplace().substring(1, 4).equals(place)) {text += "\n" + personlist.get(i);jt.setText("老乡:" + text);}}}});jt2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String yourage = jt2.getText();int a = Integer.parseInt(yourage);int near = agenear(a);int value = a - personlist.get(near).getage();jt.setText("年龄相近:" + personlist.get(near));}});jt3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {list = new ArrayList<>();Collections.sort(personlist);String key = jt3.getText();for (int i = 1; i < personlist.size(); i++) {if (personlist.get(i).getID().contains(key)) {list.add(personlist.get(i));jt.setText("你可能是:\n" + list);}}}});buttonPanel.add(jButton);buttonPanel.add(jButton1);buttonPanel.add(lab);buttonPanel.add(jt1);buttonPanel.add(lab1);buttonPanel.add(jt2);buttonPanel.add(lab2);buttonPanel.add(jt3);buttonPanel.add(jButton2);add(buttonPanel, BorderLayout.SOUTH);setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);}public static int agenear(int age) {int min = 53, value = 0, k = 0;for (int i = 0; i < personlist.size(); i++) {value = personlist.get(i).getage() - age;if (value < 0)value = -value;if (value < min) {min = value;k = i;}}return k;}}

Main

练习3:采用GUI界面设计以下程序

l  编写一个计算器类,可以完成加、减、乘、除的操作

l  利用计算机类,设计一个小学生100以内数的四则运算练习程序,由计算机随机产生10道加减乘除练习题,学生输入答案,由程序检查答案是否正确,每道题正确计10分,错误不计分,10道题测试结束后给出测试总分;

l  将程序中测试练习题及学生答题结果输出到文件,文件名为test.txt。

package math;import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Toolkit;import javax.swing.JFrame;public class math {public static void main(String args[]) {Toolkit t = Toolkit.getDefaultToolkit();Dimension s = t.getScreenSize();EventQueue.invokeLater(() -> {JFrame frame = new main();frame.setBounds(0, 0, (int) s.getWidth() / 2, (int) s.getHeight() / 2);frame.setTitle("算术测试");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});}}

math

package math;import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.Scanner;import javax.swing.*;import java.math.*;public class main extends JFrame {private String[] c = new String[10];private String[] c1 = new String[10];private int[] list = new int[10];int i = 0, i1 = 0, sum = 0;private PrintWriter out = null;private JTextArea text, text1;private int counter;public main() {JPanel Panel = new JPanel();Panel.setLayout(null);JLabel JLabel1 = new JLabel("");JLabel1.setBounds(500, 800, 400, 30);JLabel1.setFont(new Font("Courier", Font.PLAIN, 20));JButton Button = new JButton("生成题目");Button.setBounds(50, 150, 150, 50);Button.setFont(new Font("Courier", Font.PLAIN, 20));Button.addActionListener(new Action());JButton Button2 = new JButton("确定答案");Button2.setBounds(300, 150, 150, 50);Button2.setFont(new Font("Courier", Font.PLAIN, 20));Button2.addActionListener(new Action1());JButton Button3 = new JButton("读出文件");Button3.setBounds(500, 150, 150, 50);Button3.setFont(new Font("Courier", Font.PLAIN, 20));Button3.addActionListener(new Action2());text = new JTextArea(30, 80);text.setBounds(30, 50, 200, 50);text.setFont(new Font("Courier", Font.PLAIN, 30));text1 = new JTextArea(30, 80);text1.setBounds(270, 50, 200, 50);text1.setFont(new Font("Courier", Font.PLAIN, 30));Panel.add(text);Panel.add(text1);Panel.add(Button);Panel.add(Button2);Panel.add(Button3);Panel.add(JLabel1);add(Panel);}private class Action implements ActionListener {public void actionPerformed(ActionEvent event) {text1.setText("");if (i <= 10) {int a = (int) Math.round(Math.random() * 100);int b = (int) Math.round(Math.random() * 100);int m = (int) Math.round(Math.random() * 3);switch (m) {case 0:while (a % b != 0) {a = (int) Math.round(Math.random() * 100);}while (b == 0) {b = (int) Math.round(Math.random() * 100);}c[i] = (i + ":" + a + "/" + b + "=");list[i] = Math.floorDiv(a, b);text.setText(i + ":" + a + "/" + b + "=");i++;break;case 1:c[i] = (i + ":" + a + "*" + b + "=");list[i] = Math.multiplyExact(a, b);text.setText(i + ":" + a + "*" + b + "=");i++;break;case 2:c[i] = (i + ":" + a + "+" + b + "=");list[i] = Math.addExact(a, b);text.setText(i + ":" + a + "+" + b + "=");i++;break;case 3:while (a < b) {b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100);}c[i] = (i + ":" + a + "-" + b + "=");text.setText(i + ":" + a + "-" + b + "=");list[i] = Math.subtractExact(a, b);i++;break;}}}}private class Action1 implements ActionListener {public void actionPerformed(ActionEvent event) {if (i < 10) {text.setText(null);String z = text1.getText().toString().trim();int a = Integer.parseInt(z);if (text1.getText() != "") {if (list[i1] == a)sum += 10;}c1[i1] = z;i1++;}}}private class Action2 implements ActionListener {public void actionPerformed(ActionEvent event) {try {out = new PrintWriter("text.txt");} catch (FileNotFoundException e) {// TODO Auto-generated catch block
                e.printStackTrace();}for (int counter = 0; counter < 10; counter++) {out.println(c[counter] + c1[counter]);}out.println("成绩" + sum);out.close();}}
}

main

任务3:本学期课程已结束,请汇总《面向对象程序设计课程学习进度条》的数据,统计个人专业能力提升的数据。并从学习内容、学习方法、学习心得几个方面进行课程学习总结,也希望你对课程的不足提出建议和意见

总结:JAVA特点:简单的、面向对象的、分布式的、强壮的、安全的、体系结构中立的、可移植的、解释型的、高性能的、多线程的、动态的语言。

源文件的命名规则:如果源文件中有多个类,那么只能有一个类是 public类。如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。

Java流程控制语句:控制语句: if语句, switch语句.循环语句 :while , do…while ,for break和continue语句 :break——跳出switch结构;终止并跳出循环体。continue——结束本次循环。

类体内容由两部分构成:类成员变量:用来刻画类属性;类成员方法:用来刻画类内操作。

局部变量:在方法体中定义的变量和方法的参数被称为局部变量。类成员变量和局部变量的区别:类成员变量在整个类内都有效,局部变量只在定义它的方法内有效。如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏。

类成员方法:方法的定义包括两部分:方法声明和方法体。构造方法:名字必须与类名完全相同,没有返回值类型;构造方法可以重载;每个类至少有一个构造方法,若程序员没有定义构造方法,系统会自动产生一个默认构造方法,这个默认构造方 法无参数,方法体为空;程序员为类定义了构造方法,系统就不再提供默认构造方法;用途:初始化类对象。

方法重载:一个类中可以有多个具有相同的名字的方法。但这些方法或者是参数的个数不同,或者是参数的类型不同。

创建对象需两个步骤:对象声明和为对象分配内存。

Static关键字:用static修饰的成员变量称为类(静态)变量,用static修饰的方法称为类(静态)方法。实例变量和类变量的区别:如果类的成员变量有类变量,那么该类所有对象的类变量内存是相同的。具有访问权限的类变量可以通过某个对象访问,也可以通过类名访问。具有访问权限的实例变量仅可以通过对象访问,不能使用类名访问。实例方法和类方法的区别:实例方法可以被类创建的任何对象调用执行。类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用

this关键字:this表示类的当前对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。this关键字出现在构造方法中时,代表使用该构造方法所创建的对象。this出现在类的实例方法中时,代表正在调用该方法 的当前对象。

实现类继承的方式:在类的声明中,通过使用关键字extends来创建一个类的子类。Java只支持单继承,不允许多继承 。Java允许有多层继承。

方法重写是指:子类中定义一个方法,这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同。子类重写父类,被重写的方法不能比父类拥有更严格的访问权限

super关键字:子类中访问父类中被隐藏的成员变量,super.成员变量,子类调用父类中的方法。调用父类中的特定构造方法 super() ,调用父类中被重写的方法 super.方法()

多态性有两种表现形式:①方法的多态性(方法重载)②对象的多态性。对象多态性是在继承应用上的一种扩展

final关键字:final关键子可修饰类、方法成员、成员变量和方法中的参数。final类不能被继承,即不能有子类。方法被修饰为final方法,则这个方法不能被重写。一个成员变量被修饰为final的,就是常量,常量必须 赋给初值,而且不能再发生变化。方法的参数被修饰为final的,该参数的值不能被改变。

抽象类:用关键字abstract修饰的类称为abstract类(抽象类)。 abstract类不能被实例化; abstract类可以有abstract方法;对于abstract方法,只允许声明,不允许实现,且要用 abstract关键字进行修饰;抽象类的子类必须重写所有的抽象方法。

接口的声明与使用:关键字interface来定义一个接口。接口的定义与类的定义相似,包括接口的声明和接口体。接口体中包含常量定义和抽象方法定义两部分。接口使用规则:一个类可以实现多个接口;如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体。

方法的权限访问修饰符: public,protected ,default(不加访问说明符时), private。方法的其它修饰符 static ,final ,abstract ,synchronized。

类和类之间关系:is a: 继承,实现关系。has a: 组合,聚合,关联关系。use a: 依赖关系

抛出异常:throws语句是在方法的声明中使用来抛出异常,用来指定方法可能抛出异常,但不想在当前方法中处理这个异常。throw语句是在方法体内使用抛出异常类的对象,程序在执行到throw语句时立即终止,它后面的语句都不执行。要捕捉throw抛出的异常,则必须使用try-catch语句。

Java中的每个事件类都有一个相应的监视器接口,接口中声明了一个或多个抽象的事件处理 方法。如果一个类实现事件监视器接口,其对象就可以作为对应事件的监视器,具备监视和处理事件的能力。

多线程机制是Java语言的重要特征之一,使用多线程技术可以使系统同时运行多个执行体,加快程序的响应时间,提高计算机资源的利用率。使用多线程技术可以提高整个应用系统的性能。

程序、进程与线程的区别:程序是一段静态的代码,它是应用软件执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过 程,也是一个动态的概念。

多线程和多任务:多线程和多任务是两个既有联系又有区别的概念。多任务是针对操作系统而言的,代表着操作系统可以同时执行的程序个数;多线程是针对一个程序而言的,代表着一个程序内部可以同时执行的线程个数,而每个线程可以完成不同的任务。

线程的状态与生命周期:新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此时它已经有了占用内存空间和其他资源的资格。运行:线程创建之后就具备了运行的条件,一旦轮到它来享用CPU资源时,即JVM将CPU使用权切换给该线程时,此线程的就可以脱离创建它的主线程独立开始自己的生命周期了(即run方法执行的过程)。阻塞:有3种原因的阻塞:等待阻塞:执行了wait() 方法;同步阻塞:获取synchronized同步锁失败;其他阻塞:执行了sleep()、join()方法;终止:run方法结束。

创建线程的方式有两种:通过创建Thread类的子类来实现;通过实现Runnable接口的类来实现。

Thread的子类创建线程的关键操作:设计Thread的子类,重写父类的run方法,用Thread类或子类创建线程对象,使用start方法启动线程,JVM将CPU使用权切换给线程时,自动执行 run方法。

通过Runnable接口实现多线程的关键操作:设计一个实现Runnable接口的类,重写run方法;以该类的对象为参数建立Thread类的对象;调用Thread类对象的start方法启动线程,将执行权转交到run方法。

经过一学期Java课的学习,对Java这门语言有了进一步的认识,但学习Java之路还很漫长。老师的教学方式对我们学习Java有很大的帮助,也感谢助教在百忙之中抽时间为我们解疑。

转载于:https://www.cnblogs.com/sisi-713/p/10194232.html

徐思201771010132 《面向对象程序设计(java)》课程学习总结相关推荐

  1. java日历程序设计,《面向对象程序设计》课程设计---java日历

    <面向对象程序设计>课程设计---java日历 软软 件件 学学 院院 课程设计课程设计报告书报告书 课程名称课程名称 面向对象程序设计课程设计面向对象程序设计课程设计 设计题目设计题目 ...

  2. 201771010118马昕璐《面向对象程序设计java》第八周学习总结

    第一部分:理论知识学习部分 1.接口 在Java程序设计语言中,接口不是类,而是对类的一组需求描述,由常量和一组抽象方法组成.Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个 ...

  3. 计算机JAVA相关说课稿_面向对象程序设计-java说课稿

    面向对象程序设计-java说课稿 面向对象程序设计-JAVA说课稿,计算机系 毕景霞,目录,一.说教材 二.说教学目标 三.说重点难点 四.说教学方法 五.说教学内容 六.教学效果及总结,(一)教材的 ...

  4. 【Java】《面向对象程序设计——Java语言》Castle代码修改整理

    前言 最近闲来无事刷刷MOOC,找到以前看的浙大翁凯老师的<面向对象程序设计--Java语言>课程,重新过一遍仍觉受益颇深. 其中有一个Castle的例子,思路很Nice但代码很烂,翁凯老 ...

  5. java面向对象期末考试试题_《面向对象程序设计——java》期末考试试题2008a卷.doc...

    <面向对象程序设计--java>期末考试试题2008a卷.doc 还剩 6页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第 7 页 共 ...

  6. 面向对象程序设计——Java语言 第3周编程题 查找里程(10分)

    面向对象程序设计--Java语言 第3周编程题 查找里程(10分) 题目内容 下图为国内主要城市之间的公路里程: 你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程. ...

  7. java程序设计清考_面向对象程序设计(Java)-题库

    <面向对象程序设计(Java)-题库>由会员分享,可在线阅读,更多相关<面向对象程序设计(Java)-题库(33页珍藏版)>请在金锄头文库上搜索. 1.面向对象程序设计 (ja ...

  8. 一些关于Java课程学习下来的心得

    本学期是大三下学期,学校开设了Java课程,对于学习过C语言,Python两种语言的我,对于Java的总结基本可以浓缩成:比C语言丰富,但是比Python格式要求高,但是多种语言容易混淆,这次总结作业 ...

  9. 《面向对象程序设计》课程设计

    一.课程设计题目 结合实际,用面向对象程序设计的思想设计一个应用实例,要求用到下面设计要求中提到的知识点5个以上. 二.设计要求 通过此次课程设计,更好地掌握面向对象程序设计的基本概念及编程方法,进一 ...

  10. 《2018面向对象程序设计(java)课程学习进度条》

     学习收获最大的程序阅读或编程任务    课堂/课余学习时间(小时)    发布博客/评论他人博客数量   (阅读/编写)代码行数        周次                  九九乘法表   ...

最新文章

  1. 企业架构:现代数据架构的特征
  2. Java线程详解(10)-volatile关键字
  3. 【小练习06】HTML+CSS--教学大讲堂
  4. 盘点2021年Linux界的12件大事
  5. 击败特斯拉!它拿下全球电动车型销量冠军,但售价仅是Model 3的零头
  6. HTML中行内元素与块级元素的区别:
  7. 那些月入5000的人,凭什么比你更早买房买车?
  8. 【python|opencv】cv2.imread返回None,无法正确读取图片
  9. 唯一索引和普通索引的区别
  10. 关于keil注册机的问题
  11. 毕业设计专用 完全开源 基于Java的房屋租赁管理系统
  12. C++车辆管理系统课程设计
  13. 简述计算机键盘上shift键的作用,电脑Shift键作用大全
  14. 寒霜朋克计算机丢失,寒霜朋克无法进入游戏解决方法 寒霜朋克无法进入游戏怎么办...
  15. 用proteus来看二极管的压降
  16. 什么是ColdFusion
  17. OpenStack入门到实战视频教程全集下载(罗勇老师经典教程系列)
  18. ubuntu18.0安装搜狗输入法无法显示中文
  19. 基于标记的分水岭分割算法
  20. MySQL 测试数据(附开源网站)

热门文章

  1. linux的网易云音乐界面不显示,linux mint19.1解决网易云音乐安装后打不开的问题...
  2. Java四大元注解介绍
  3. K3 CLOUD库存管理关账与存货核算关账区别
  4. 从一个骗人的技术说起光线追踪——光影技术的里程碑
  5. 视频分配器中提高信号完整性的方法
  6. VScode使用markdown
  7. WIN 10 系统Alt + Tab 切换窗口卡顿问题结局方案
  8. 机器学习入门之线性回归(1)- 单特征(python实现)
  9. 裁判文书网爬虫(2019.5.15更新)
  10. Android 实现计时器功能,Android计时器的三种实现方式(Chronometer、Timer、handler)...