徐思201771010132《面向对象程序设计(java)》课程学习总结(代码片段)

sisi-713 sisi-713     2023-02-16     803

关键词:

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() + "
" + "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("
" + "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 + "	" + sex + "	" + age + "	" + ID + "	" + birthplace + "
";
    
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 += "
" + 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("你可能是:
" + 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有很大的帮助,也感谢助教在百忙之中抽时间为我们解疑。

徐思201771010132《面向对象程序设计(java)》第二周学习总结

一、理论知识部分1、标识符:标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。标识符可用作类名、变量名、方法名、数组名、文件名等。2、关键字就是Java语言中已经被赋予特定意义的一些单词。常见... 查看详情

徐思201771010132《面向对象程序设计(java)》第七周学习总结(代码片段)

一、理论知识部分访问修饰符:private:只有该类可以访问   protected:该类及其子类的成员可以访问,同一个包中的类也可访问    public:该类或非该类均可访问  默认:相同包中的类可以访问 ... 查看详情

徐思201771010132《面向对象程序设计(java)》第九周学习总结(代码片段)

一、理论知识部分异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行。Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置。程序中出现的常见的错误和问题有:用户输入错误;设... 查看详情

徐思201771010132《面向对象程序设计(java)》第六周学习总结(代码片段)

一、理论知识部分继承:用已有类来构建新类的一种机制。当定义了一个新类继承了一个类时,这个新类就继承了这个类的方法和域,同时在新类中添加新的方法和域以适应新的情况。继承的特点:具有层次结构;子类继承了父... 查看详情

徐思201771010132《面向对象程序设计(java)》课程学习总结(代码片段)

1、实验目的与要求(1)综合掌握java基本程序结构;(2)综合掌握java面向对象程序设计特点;(3)综合掌握javaGUI程序设计结构;(4)综合掌握java多线程编程模型;(5)综合编程练习。2、实验内容和步骤任务1:填写课程课后调查问卷,网... 查看详情

杨玲徐思《面向对象程序设计(java)》第十一周学习总结(代码片段)

《面向对象程序设计(java)》第十一周学习总结第一部分:理论知识学习部分1、一般将数据结构分为两大类:线性数据结构和非线性数据结构。线性数据结构:线性表、栈、队列、串、数组和文件。非线性数据结构:树和图。2... 查看详情

08-面向对象----j

一面向对象的程序设计的由来请参考:http://www.cnblogs.com/linhaifeng/articles/6428835.html二什么是面向对象的程序设计及为什么要有它面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条... 查看详情

2020面向对象设计与构造第三单元博客总结(代码片段)

面向对象设计与构造第三单元总结一、JML规格化设计JML,全称TheJavaModelingLanguage,是用于对Java程序进行规格化描述的注释性质语言。笔者在本文总结了常见的JML语法描述。1.注释结构在注释行或注释块中,以@开头的行被认作JML注... 查看详情

面向对象

老王和隔壁的美女猜数字,一共有四次机会,猜到了就有特殊奖励publicclasstest{publicstaticvoidmain(String[]args){inti=(int)(Math.random()*10);Scannerinput=newScanner(System.in);for(intj=0;j<4;j++){System.out.println("老王第"+(j+1)+"次 查看详情

201771010126王燕《面向对象程序设计(java)》第二周学习总结

201771010126王燕《面向对象程序设计(java)》第二周学习总结一.理论知识学习部分3.1j简单的java应用程序标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。标识符可用作:类名、变量名、方法名、数组名... 查看详情

201823072019-2020-1《数据结构与面向对象程序设计》实验1报告

课程:《程序设计与数据结构》班级:1823姓名:王美皓学号:20182322实验教师:王美皓实验日期:2019年9月9日必修/选修:必修1.实验内容基于命令行和IDE(IntelljIDEA简易教程](http://www.cnblogs.com/rocedu/p/4421202.html)进行简单的Java程... 查看详情

杨其菊201771010134《面向对象程序设计(java)》第三周学习总结(代码片段)

  《面向对象程序设计(Java)》第三周学习总结第一部分:理论知识 这周课程没有新进度,由于感觉对基础语法的不熟悉,复习了一遍前三章的细碎知识,学到一些之前不知道的原理: 1.计算机高级语言按程序的... 查看详情

c++面向对象的主要体现是啥?

...得对我有用的话,我会再追加分。)C++面向对象是表现在程序设计的过程上,它是突破了C的结构化设计而出现的完全以实际问题为入手点的。C++的面向对象3个特性:1.封装。2.继承。3.多态。尤其重要的是,它采用类的设计,杜... 查看详情

201771010110孔维滢《面向对象程序设计(java)》第十二周学习总结

理论知识部分1.Java的抽象窗口工具箱(AbstractWindowToolkit,AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类。2.Swing用户界面库是非基于对等体的GUI工具箱。Swing类库被放在javax.swing包里。3.大部分AWT组件都有其Swing... 查看详情

马凯军201771010116《面向对象与程序设计java》第十二周学习总结(代码片段)

一、理论与知识学习部分Java的抽象窗口工具箱(AbstractWindowToolkit,AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类。大部分AWT组件都有其Swing的等价组件,Swing组件的名字一般是在AWT组件名前面添加一个字母“J... 查看详情

201771010134杨其菊《面向对象程序设计java》第十二周学习总结(代码片段)

...bsp; 内容概要: AWT与Swing简介;框架的创建;图形程序设计; 显示图像;1.AWT组件:2.Swing组件层次关系3.AWT与Swing的关系:大部分AWT组件都有其Swing的等价组件; Swing组件的名字一般是在AWT组件名前面添加一个字母“J 查看详情

面向对象程序设计介绍以及面向对象的基本特征

  面向对象的程序设计(ObjectOrientedProgramming,OOP)方法是目前比较流行的程序设计方法,和面向过程的程序设计比,它更符合人类的自然思维方式。在面向过程程序设计中,程序=数据+算法,数据和对数据的操作是分离的,如... 查看详情

《面向对象程序设计概述》牛咏梅

面向对象程序设计概述牛咏梅(南阳理工学院河南南阳473000)摘要:分析传统程序设计方法与面向对象程序设计方法之间的差别,重点分析了面向对象程序设计方法的特点,介绍了面向对象程序设计方法的步骤及其优点。关键词:面向对... 查看详情