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)点击窗口关闭,程序退出。

  1. import java.awt.EventQueue;
  2.  
  3. import javax.swing.JFrame;
  4.  
  5. public class Main {
  6. public static void main(String[] args) {
  7. EventQueue.invokeLater(() -> {
  8. DemoJFrame page = new DemoJFrame();
  9. });
  10. }
  11. }

Main

  1. import java.awt.Dimension;
  2. import java.awt.Toolkit;
  3. import java.awt.Window;
  4.  
  5. public class WinCenter {
  6. public static void center(Window win){
  7. Toolkit tkit = Toolkit.getDefaultToolkit();
  8. Dimension sSize = tkit.getScreenSize();
  9. Dimension wSize = win.getSize();
  10. if(wSize.height > sSize.height){
  11. wSize.height = sSize.height;
  12. }
  13. if(wSize.width > sSize.width){
  14. wSize.width = sSize.width;
  15. }
  16. win.setLocation((sSize.width - wSize.width)/ 2, (sSize.height - wSize.height)/ 2);
  17. }
  18. }

WinCenter

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import javax.swing.border.*;
  5. public class DemoJFrame extends JFrame {
  6. public DemoJFrame() {
  7. JPanel panel1 = new JPanel();
  8. panel1.setPreferredSize(new Dimension(700, 45));
  9. panel1.setLayout(new GridLayout(1, 4));
  10. JLabel label1 = new JLabel("Name:");
  11. JTextField j1 = new JTextField("");
  12. JLabel label2 = new JLabel("Qualification:");
  13. JComboBox<Object> j2 = new JComboBox<>();
  14. j2.addItem("chuzhong");
  15. j2.addItem("gaozhong");
  16. j2.addItem("undergraduate");
  17. panel1.add(label1);
  18. panel1.add(j1);
  19. panel1.add(label2);
  20. panel1.add(j2);
  21.  
  22. JPanel panel2 = new JPanel();
  23. panel2.setPreferredSize(new Dimension(700, 65));
  24. panel2.setLayout(new GridLayout(1, 4));
  25. JLabel label3 = new JLabel("Address:");
  26. JTextArea j3 = new JTextArea();
  27. JLabel label4 = new JLabel("Hobby:");
  28. JPanel p = new JPanel();
  29. p.setLayout(new GridLayout(3, 1));
  30. p.setBorder(BorderFactory.createLineBorder(null));
  31. JCheckBox c1 = new JCheckBox("Reading");
  32. JCheckBox c2 = new JCheckBox("Singing");
  33. JCheckBox c3 = new JCheckBox("Dancing");
  34. p.add(c1);
  35. p.add(c2);
  36. p.add(c3);
  37. panel2.add(label3);
  38. panel2.add(j3);
  39. panel2.add(label4);
  40. panel2.add(p);
  41.  
  42. JPanel panel3 = new JPanel();
  43. panel3.setPreferredSize(new Dimension(700, 150));
  44. FlowLayout flowLayout1 = new FlowLayout(FlowLayout.LEFT, 70, 40);
  45. panel3.setLayout(flowLayout1);
  46. JLabel label5 = new JLabel("Sex:");
  47. JPanel p1 = new JPanel();
  48. p1.setLayout(new GridLayout(2,1));
  49. p1.setBorder(BorderFactory.createLineBorder(null));
  50. ButtonGroup bu = new ButtonGroup();
  51. JRadioButton jr1 = new JRadioButton("Male");
  52. JRadioButton jr2 = new JRadioButton("Female");
  53. bu.add(jr1);
  54. bu.add(jr2);
  55. p1.add(jr1);
  56. p1.add(jr2);
  57. panel3.add(label5);
  58. panel3.add(p1);
  59. add(panel1);
  60. add(panel2);
  61. add(panel3);
  62.  
  63. JPanel panel4 = new JPanel();
  64. panel4.setPreferredSize(new Dimension(700, 150));
  65. JButton b1 = new JButton("Validate");
  66. panel4.add(b1);
  67. JButton b2 = new JButton("Reset");
  68. panel4.add(b2);
  69. add(panel4);
  70.  
  71. FlowLayout flowLayout = new FlowLayout();
  72. this.setLayout(flowLayout);
  73. this.setTitle("Students Detail");
  74. this.setBounds(300, 300, 800, 400);
  75. this.setVisible(true);
  76. this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  77.  
  78. b1.addActionListener(new ActionListener() {
  79.  
  80. public void actionPerformed(ActionEvent e) {
  81. // TODO 自动生成的方法存根
  82. String xueli = j2.getSelectedItem().toString();
  83. System.out.println("Name:" + j1.getText());
  84. System.out.println("Qualification:" + xueli);
  85. String hobbystring = "Hobby:";
  86. if (c1.isSelected()) {
  87. hobbystring += "Reading";
  88. }
  89. if (c2.isSelected()) {
  90. hobbystring += "Singing";
  91. }
  92. if (c3.isSelected()) {
  93. hobbystring += "Dancing";
  94. }
  95. System.out.println("Address:" + j3.getText());
  96. if (jr1.isSelected()) {
  97. System.out.println("Sex:Male");
  98. }
  99. if (jr2.isSelected()) {
  100. System.out.println("Sex:Female");
  101. }
  102. System.out.println(hobbystring);
  103. }
  104. });
  105. b2.addActionListener(new ActionListener() {
  106.  
  107. public void actionPerformed(ActionEvent e) {
  108. // TODO 自动生成的方法存根
  109. j1.setText(null);
  110. j3.setText(null);
  111. j2.setSelectedIndex(0);
  112. c1.setSelected(false);
  113. c2.setSelected(false);
  114. c3.setSelected(false);
  115. bu.clearSelection();
  116. }
  117. });
  118. }
  119.  
  120. public static void main(String args[]) {
  121. new DemoJFrame();
  122. }
  123.  
  124. }

DemoJFrame

结果如下:

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

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

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

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

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

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

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

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

  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.ArrayList;
  8. import java.util.Arrays;
  9. import java.util.Collections;
  10. import java.util.Scanner;
  11.  
  12. public class Main{
  13. private static ArrayList<Student> studentlist;
  14. public static void main(String[] args) {
  15. studentlist = new ArrayList<>();
  16. Scanner scanner = new Scanner(System.in);
  17. File file = new File("D:\\text");
  18. try {
  19. FileInputStream fis = new FileInputStream(file);
  20. BufferedReader in = new BufferedReader(new InputStreamReader(fis));
  21. String temp = null;
  22. while ((temp = in.readLine()) != null) {
  23.  
  24. Scanner linescanner = new Scanner(temp);
  25.  
  26. linescanner.useDelimiter(" ");
  27. String name = linescanner.next();
  28. String number = linescanner.next();
  29. String sex = linescanner.next();
  30. String age = linescanner.next();
  31. String province =linescanner.nextLine();
  32. Student student = new Student();
  33. student.setName(name);
  34. student.setnumber(number);
  35. student.setsex(sex);
  36. int a = Integer.parseInt(age);
  37. student.setage(a);
  38. student.setprovince(province);
  39. studentlist.add(student);
  40.  
  41. }
  42. } catch (FileNotFoundException e) {
  43. System.out.println("学生信息文件找不到");
  44. e.printStackTrace();
  45. } catch (IOException e) {
  46. System.out.println("学生信息文件读取错误");
  47. e.printStackTrace();
  48. }
  49. boolean isTrue = true;
  50. while (isTrue) {
  51. System.out.println("选择你的操作,输入正确格式的选项");
  52. System.out.println("A.字典排序");
  53. System.out.println("B.输出年龄最大和年龄最小的人");
  54. System.out.println("C.寻找老乡");
  55. System.out.println("D.寻找年龄相近的人");
  56. System.out.println("F.退出");
  57. String m = scanner.next();
  58. switch (m) {
  59. case "A":
  60. Collections.sort(studentlist);
  61. System.out.println(studentlist.toString());
  62. break;
  63. case "B":
  64. int max=0,min=100;
  65. int j,k1 = 0,k2=0;
  66. for(int i=1;i<studentlist.size();i++)
  67. {
  68. j=studentlist.get(i).getage();
  69. if(j>max)
  70. {
  71. max=j;
  72. k1=i;
  73. }
  74. if(j<min)
  75. {
  76. min=j;
  77. k2=i;
  78. }
  79.  
  80. }
  81. System.out.println("年龄最大:"+studentlist.get(k1));
  82. System.out.println("年龄最小:"+studentlist.get(k2));
  83. break;
  84. case "C":
  85. System.out.println("老家?");
  86. String find = scanner.next();
  87. String place=find.substring(0,3);
  88. for (int i = 0; i <studentlist.size(); i++)
  89. {
  90. if(studentlist.get(i).getprovince().substring(1,4).equals(place))
  91. System.out.println("老乡"+studentlist.get(i));
  92. }
  93. break;
  94.  
  95. case "D":
  96. System.out.println("年龄:");
  97. int yourage = scanner.nextInt();
  98. int near=agenear(yourage);
  99. int value=yourage-studentlist.get(near).getage();
  100. System.out.println(""+studentlist.get(near));
  101. break;
  102. case "F":
  103. isTrue = false;
  104. System.out.println("退出程序!");
  105. break;
  106. default:
  107. System.out.println("输入有误");
  108.  
  109. }
  110. }
  111. }
  112. public static int agenear(int age) {
  113. int j=0,min=53,value=0,k=0;
  114. for (int i = 0; i < studentlist.size(); i++)
  115. {
  116. value=studentlist.get(i).getage()-age;
  117. if(value<0) value=-value;
  118. if (value<min)
  119. {
  120. min=value;
  121. k=i;
  122. }
  123. }
  124. return k;
  125. }
  126.  
  127. }

main

  1. public class Student implements Comparable<Student> {
  2.  
  3. private String name;
  4. private String number ;
  5. private String sex ;
  6. private int age;
  7. private String province;
  8.  
  9. public String getName() {
  10. return name;
  11. }
  12. public void setName(String name) {
  13. this.name = name;
  14. }
  15. public String getnumber() {
  16. return number;
  17. }
  18. public void setnumber(String number) {
  19. this.number = number;
  20. }
  21. public String getsex() {
  22. return sex ;
  23. }
  24. public void setsex(String sex ) {
  25. this.sex =sex ;
  26. }
  27. public int getage() {
  28.  
  29. return age;
  30. }
  31. public void setage(int age) {
  32. // int a = Integer.parseInt(age);
  33. this.age= age;
  34. }
  35.  
  36. public String getprovince() {
  37. return province;
  38. }
  39. public void setprovince(String province) {
  40. this.province=province ;
  41. }
  42.  
  43. public int compareTo(Student o) {
  44. return this.name.compareTo(o.getName());
  45. }
  46.  
  47. public String toString() {
  48. return name+"\t"+sex+"\t"+age+"\t"+number+"\t"+province+"\n";
  49. }
  50. }

Student

j结果如下:

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

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

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

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

  1. package 答题;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import java.util.*;
  6. import java.util.Random;
  7. import javax.swing.*;
  8.  
  9. public class Exam extends JFrame {
  10. JPanel p=new JPanel();
  11. JLabel timeLabel=new JLabel();
  12.  
  13. JLabel[] label1=new JLabel[10];
  14. JLabel[] label2=new JLabel[10];
  15. JLabel[] label3=new JLabel[10];
  16. JLabel[] label4=new JLabel[10];
  17. JLabel[] label5=new JLabel[10];
  18. JTextField[] field=new JTextField[10];
  19. JLabel[] label6=new JLabel[10];
  20. String[] btn_name= {"开始","重置","提交","重考"};
  21. JButton[] btn=new JButton[4];
  22. Panel2 panel2=null;
  23. int ExamCount=0;
  24. JLabel examLabel=new JLabel();
  25. double[] result=new double[10];
  26. public static void main(String[] args) {
  27. new Exam("测试").setVisible(true);
  28. }
  29.  
  30. public Exam(String title) {
  31. setTitle(title);
  32. setLocationRelativeTo(null);
  33. setDefaultCloseOperation(3);
  34. setSize(400,500);
  35. setResizable(false);
  36. setForeground(Color.blue);
  37. add(new Panel1(),BorderLayout.NORTH);
  38. panel2=new Panel2();
  39. add(new JScrollPane(panel2));
  40. add(new Panel3(),BorderLayout.WEST);
  41. }
  42.  
  43. int rightResultCount=0;
  44. public void startExam() {
  45. int num1=0;
  46. int num2=0;
  47. String[] quots= {"+","-","*","/"};
  48. String quot=null;
  49. Random ran=null;
  50. ran=new Random(System.currentTimeMillis());
  51. Box box=Box.createVerticalBox();
  52.  
  53. for(int i=0;i<10;i++) {
  54. num1=ran.nextInt(100)+1;
  55. num2=ran.nextInt(100)+1;
  56. int n=ran.nextInt(4);
  57. quot=new String(quots[n]);
  58. switch(quot) {
  59. case "+":
  60. result[i]=num1+num2;
  61. break;
  62. case "-":
  63. result[i]=num1-num2;
  64. break;
  65. case "*":
  66. result[i]=num1*num2;
  67. break;
  68. case "/":
  69. result[i]=num1/(num2*1.0);
  70. result[i]=Math.round(result[i]*100)/100.0;
  71. break;
  72. }
  73.  
  74. label1[i]=new JLabel("第"+(i+1)+"题:");
  75. label2[i]=new JLabel(num1+"");
  76.  
  77. label3[i]=new JLabel(quot);
  78. label4[i]=new JLabel(num2+"");
  79. label5[i]=new JLabel("=");
  80. field[i]=new JTextField();
  81. field[i].setPreferredSize(new Dimension(60,20));
  82. field[i].addKeyListener(new KeyAdapter() {
  83. public void keyTyped(KeyEvent ee) {
  84. if((ee.getKeyChar()>'9' || ee.getKeyChar()<'0') && ee.getKeyChar()!=45 && ee.getKeyChar()!='.') {
  85. ee.consume();
  86. }
  87. }
  88. });
  89. label6[i]=new JLabel("");
  90. Box hbox=Box.createHorizontalBox();
  91. hbox.add(label1[i]);
  92. hbox.add(Box.createHorizontalStrut(20));
  93. hbox.add(label2[i]);
  94. hbox.add(Box.createHorizontalStrut(5));
  95. hbox.add(label3[i]);
  96. hbox.add(Box.createHorizontalStrut(5));
  97. hbox.add(label4[i]);
  98. hbox.add(Box.createHorizontalStrut(5));
  99. hbox.add(label5[i]);
  100. hbox.add(Box.createHorizontalStrut(5));
  101. hbox.add(field[i]);
  102. hbox.add(Box.createHorizontalStrut(20));
  103. hbox.add(label6[i]);
  104. box.add(hbox);
  105. box.add(Box.createVerticalStrut(20));
  106. }
  107. panel2.add(box);
  108. panel2.validate();
  109. }
  110. int submitCount=0;
  111. class Listener implements ActionListener{
  112. public void actionPerformed(ActionEvent e) {
  113. JButton button=(JButton)e.getSource();
  114. if(button==btn[0]) {
  115. startExam();
  116. ExamCount++;
  117. btn[0].setEnabled(false);
  118.  
  119. for(int i=1;i<4;i++) {
  120. btn[i].setEnabled(true);
  121. }
  122. }
  123. if(button==btn[1]) {
  124. for(int i=0;i<10;i++) {
  125. field[i].setText("");
  126. }
  127. }
  128. if(button==btn[2] ) {
  129. rightResultCount=0;
  130. btn[2].setEnabled(false);
  131. double yourResult=0;
  132. for(int i=0;i<10;i++) {
  133. try {
  134. yourResult=Double.parseDouble(field[i].getText().trim());
  135. }catch(Exception ee) {}
  136.  
  137. if(yourResult==result[i]) {
  138. rightResultCount++;
  139. label6[i].setText("V");
  140. label6[i].setForeground(Color.BLUE);
  141.  
  142. }else {
  143. label6[i].setText("X");
  144. label6[i].setForeground(Color.RED);
  145.  
  146. }
  147. }
  148. examLabel.setText("你答对了 "+rightResultCount+
  149. " 道题,答错了"+(10-rightResultCount)+" 道题!"+
  150. "考试得分是: "+rightResultCount*10+" 分!");
  151. }
  152. if(button==btn[3]) {
  153. btn[2].setEnabled(true);
  154. panel2.removeAll();
  155. startExam();
  156. ExamCount++;
  157. btn[3].setEnabled(false);
  158. for(int i=0;i<10;i++) {
  159. field[i].setText("");
  160. label6[i].setText("");
  161. }
  162. panel2.repaint();
  163. }
  164. if(btn[2].isEnabled()==false && btn[3].isEnabled()==false) {
  165. btn[1].setEnabled(false);
  166. }
  167. }
  168. }
  169.  
  170. class Panel1 extends JPanel{
  171. public Panel1() {
  172. setPreferredSize(new Dimension(350,120));
  173. setLayout(new GridLayout(3,1,10,10));
  174. JTextArea area=new JTextArea("点击“开始”开始答题,答案中有小数的,保留2位!");
  175. area.setLineWrap(true);
  176. area.setEditable(false);
  177. add(area);
  178. add(examLabel);
  179. p.add(timeLabel);
  180. add(p);
  181. }
  182. }
  183.  
  184. class Panel2 extends JPanel{
  185. public Panel2() {
  186. setPreferredSize(new Dimension(400,600));
  187. }
  188. }
  189.  
  190. class Panel3 extends JPanel{
  191. public Panel3() {
  192. setPreferredSize(new Dimension(50,100));
  193. setBackground(Color.LIGHT_GRAY);
  194. for(int i=0;i<4;i++) {
  195. btn[i]=new JButton(btn_name[i]);
  196. btn[i].addActionListener(new Listener());
  197. add(btn[i]);
  198. if(i>0) {
  199. btn[i].setEnabled(false);
  200. }
  201. }
  202. }
  203. }
  204. }

Exam

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

学习总结:

1、OOPS主要优点:

  • 封装:封装提供了对象之间的一种合约,这种合约确定对象自身内部隐藏什么,向彼此暴露什么。在Java中,我们可以使用private访问修饰符来隐藏方法和变量,从而制约来自外部世界的访问。 Java也提供了不同的访问修饰符如public(默认),protected和private,在不同的隐藏水平使用,但目标是封装一些不需要改变的东西。按照最佳实践 - 一个类应该只有一个理由去改变,封装实现的“一个理由”的设计原则。
    封装意味着隐藏预期会经常改变的一些东西,以避免这种改变破坏其它类。
  • 继承:继承的主要优点是,它提供了代码重用和避免重复继承的正式机制,这也会导致紧耦合的设计,因为如果你要更改的超类,你必须知道子类的所有细节。

好处:提高了可复用性

  • 创建了逻辑上的"is a"关系,如 Dog is a animal
  • 模块化代码
  • 避免重复

~多态性:多态性是一种(编程时)对于不同基础形式(数据类型)呈现相同接口的能力。这意味着类有不同的功能,同时共享一个通用的接口,可以通过传递特定类别的参考动态调用。典型的例子是Shape类和所有可以继承它(方形,圆形,十二面体,不规则的多边形,图示等)的类。每个类都有一个 Draw ()方法。
好处如下:

  • 创建可重用的代码:多态性意味着一旦类被创建 实现和测试,它就能容易地被使用,而无需关注类的内部写的是什么
  • 它提供更多泛型和松耦合代码
  • 编译时间更少,且允许更快地开发
  • 动态绑定:
  • 一些接口能够使用不同实现方式创建。
  • 能够使用同样的方法签名完全替代实现。
    • 抽象:

      基类的行为(即方法)和状态(即变量)可以在其派生子类中访问。继承的主要优点是,它提供了代码重用和避免重复继承的正式机制,这也会导致紧耦合的设计,因为如果你要更改的超类,你必须知道子类的所有细节。

      好处:

      提高了可复用性

    • 创建了逻辑上的"is a"关系,如 Dog is a animal

    • 模块化代码

    • 避免重复

回顾我们的学习任务条,上面的数据显示我们每次作业代码的增加量和学习的进度,感觉一学期下来,且不说实实在在掌握了多少,但也下了功夫在上面,看着每周自己读译的代码渐渐变多,内心有着充实感,在复习阶段也可以去翻翻以前的作业来加固知识。一学期快结束了,在老师和学长的帮助下,我们也对java这门课有了了解和掌握,希望以后也可以去自己学习这方面的知识,不要丢了忘了。最后,再次感谢我们的老师!(送花^-^)

201771010135 杨蓉庆《面对对象程序设计(java)》第十八周学习总结的更多相关文章

  1. 201771010134杨其菊《面向对象程序设计java》第八周学习总结

    第八周学习总结 第一部分:理论知识 一.接口.lambda和内部类:  Comparator与comparable接口: 1.comparable接口的方法是compareTo,只有一个参数:comp ...

  2. 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结

    <面向对象程序设计Java>第八周学习总结   项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...

  3. 201771010135杨蓉庆《面向对象程序设计(java)》第四周学习总结

    学习目标 1.掌握类与对象的基础概念,理解类与对象的关系: 2.掌握对象与对象变量的关系: 3.掌握预定义类的基本使用方法,熟悉Math类.String类.math类.Scanner类.LocalDa ...

  4. 201771010134杨其菊《面向对象程序设计java》第七周学习总结

    第七周学习总结 第一部分:理论知识 1.继承是面向对象程序设计(Object Oriented Programming-OOP)中软件重用的关键技术.继承机制使用已经定义的类作为基础建立新的类定义,新 ...

  5. 201771010128 王玉兰《面象对象程序设计 (Java) 》第六周学习总结

    ---恢复内容开始--- 第一部分:基础知识总结: 1.继承 A:用已有类来构建新类的一种机制,当定义了一个新类继承一个类时,这个新类就继承了这个类的方法和域以适应新的情况: B:特点:具有层次结构. ...

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

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

  7. 201771010135杨蓉庆 《面向对象程序设计(java)》第三周学习总结

    一:第1-3章学习内容: 第一章:复习基本数据类型 整型 byte(1个字节 表示范围:-2^7 ~ (2^7)-1) short(2个字节 表示范围:-2^15~(2^15)-1) int(4个字节 ...

  8. 201771010135杨蓉庆《面向对象程序设计(java)》第六周学习总结

    实验六 继承定义与使用 1.实验目的与要求 (1) 理解继承的定义: (2) 掌握子类的定义要求 (3) 掌握多态性的概念及用法: (4) 掌握抽象类的定义及用途: (5) 掌握类中4个成员访问权限修 ...

  9. 201771010135杨蓉庆《面向对象程序设计(java)》第二周学习总结

    第一部分:理论知识学习部分 3.1 标识符:由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字,可用作:类名.变量名.方法名.数组名.文件名等.有Hello.$1234.程序名.www_12 ...

  10. 马凯军201771010116《面向对象程序设计Java》第八周学习总结

    一,理论知识学习部分 6.1.1 接口概念 两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构:二,一个类所具有的方法的特征集合,是一种逻辑上的抽象.前者叫做“Java接口”,后 ...

随机推荐

  1. Jmeter录制https协议不能跳转成功(证书导入)

    原文:  http://www.cnblogs.com/Lam7/p/7154120.html 录制脚本的时候,比如录制https协议的百度网站 https://www.baidu.com ,所有录制 ...

  2. DataPipeline王睿:业务异常实时自动化检测 — 基于人工智能的系统实战

    大家好,先自我介绍一下,我是王睿.之前在Facebook/Instagram担任AI技术负责人,现在DataPipeline任Head of AI,负责研发企业级业务异常检测产品,旨在帮助企业一站式解 ...

  3. C#通过属性名字符串获取、设置对象属性值

    之前理工项目从这个博客找到了相对应的方法:C#通过属性名字符串获取.设置对象属性值 https://www.cnblogs.com/willingtolove/p/12198871.html

  4. CentOS安装RabbitMQ-yum

    CentOS安装RabbitMQ----yum安装 一.安装erlang 由于CentOS没有erlang源,需用 第三方源(http://rpmfusion.org/Configuration) 1 ...

  5. centos7安装启动firefox

    1.卸载系统之前Firefox sudo yum erase firefox 2.安装firefox命令: sudo yum install firefox 3.驱动下载地址: https://git ...

  6. 用python实现密码校验程序

    密码需要符合下面的要求: 8个字符以上,包含数字,大小写,开头不能为特殊字符. #! /usr/bin/pythonimport re password = str(input()) def lenO ...

  7. YAML(YML)语法详解

    ansible playbook是由yaml(yml)语法书写,结构清晰,可读性强,所以必须掌握yaml(yml)基础语法 语法 描述 锁进  YAML使用固定的缩进风格表示层级结构,每个缩进由两个空 ...

  8. unittest的discover方法

    转载:https://www.cnblogs.com/imyalost/p/9048386.html discover()方法 discover(start_dir, pattern ='test * ...

  9. springboot08(springmvc自动配置原理)

    MVC WebMvcAutoConfiguration.java @ConditionalOnMissingBean(name = "viewResolver", value = ...

  10. 莫愁前路无知己,天下谁人不识Redis

    1. 数据库小知识 1.1 什么是数据库 数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合.数据库是以一定方 ...