教材学习内容总结

  • 对象(Object):存在的具体实体,具有明确的状态和行为

  • 类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制

  • 从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象

  • 从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)

  • 类是对象的设计图,对象是类的实例,生成对象要先定义类。

  • 类成员变量整个类中有效,局部变量仅在方法中有效。

  • 局部变量的名字与成员变量的名字相同时,成员变量被隐藏。

  • 成员变量有默认值,局部变量没有,所以使用局部变量前需要先需要声明其值。(注:声明与赋值不等价 int a=12;不等于int a; a=12;)

  • 在一个程序功能中有多个类class复合调用时,编译后运行应当运行有main函数的那一个类,别的类可能看似行数很多,但是只是作为主程序中的一个方法不能单独运行。例如教材代码:

SingGame.java

public class SingGame {
public static void main (String args[]) {
Line line=new Line();
line.givePersonScore();
}
}

InputScore.java

import java.util.Scanner;
public class InputScore {
DelScore del;
InputScore(DelScore del) {
this.del=del;
}
public void inputScore(){
System.out.println("请输入评委数:");
Scanner read=new Scanner(System.in);
int count = read.nextInt();
System.out.println("请输入评委的分数:");
double []a =new double[count];
for(int i=0;i<count;i++){
a[i]=read.nextDouble();
}
del.doDelete(a);
}
}

DelScore.java

public class DelScore {
ComputerAver computer;
DelScore(ComputerAver computer) {
this.computer=computer;
}
public void doDelete(double [] a) {
java.util.Arrays.sort(a);
System.out.print("去掉一个最高分:"+a[a.length-1]+",");
System.out.print("去掉一个最低分:"+a[0]+"。");
double b[] =new double[a.length-2];
for(int i=1;i<a.length-1;i++) {
b[i-1]=a[i];
}
computer.giveAver(b);
}
}

ComputerAver.java

public class ComputerAver {
public void giveAver(double [] b) {
double sum=0;
for(int i=0;i<b.length;i++){
sum=sum+b[i];
}
double aver=sum/b.length;
System.out.println("选手的最后得分:"+aver);
}
}

Line.java

public class Line {
InputScore one;
DelScore two;
ComputerAver three;
Line(){
three = new ComputerAver();
two=new DelScore(three);
one=new InputScore(two);
}
public void givePersonScore() {
one.inputScore();
}
}

此时有五个类文件,编译通过后应当运行SingGame

代码调试中的问题和解决过程

问题:不在一个程序中的多个类相互调用时,想要通过一条命令让位于src下的多个代码编译后自动放入bin文件夹中,会提示错误找不到符号。

解决方法:新建一个文件夹将此程序所有类放入,然后通过命令编译该文件夹所有.java文件。

代码托管

感悟

学习至第四章,发现渐渐开始有些难度了,也算是正式开始步入Java程序设计的。对象,方法等内容也是一般java程序必不可少的设计内容,勤加练习多打代码,会渐渐了解其套路,从而理解其使用。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/4 10/10
第二周 300/500 1/5 10/20
第三周 800/1300 1/6 20/40
第四周
  • 计划学习时间:20小时

  • 实际学习时间:20小时

  • 改进情况:

    多敲代码

参考资料

20165231 2017-2018-2 《Java程序设计》第3周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. CactiEZ中文解决方案和使用教程

    CactiEZ中文版是最简单有效的Cacti中文解决方案,整合Spine,RRDTool和美化字体.集成Thold,Monitor,Syslog,Weathermap,Realtime,Errorim ...

  2. angular 中如果表单有相同的name一般会出现如下错误

    Unhandled Promise rejection Cannot assign to a reference or variable

  3. jvm_tool jconsole/ jprofiler/ JProbe/ VirtualVm/ TPV/ YourKit/ ITCAM/ MAT/ MDD4J

    S 学习jvm,关于MAT an internal error occurred during:"Parsing heap dump" from问题 https://www.cnb ...

  4. JAVA核心技术I---JAVA基础知识(命令行)

    一:命令行编译文件 手动在c:\temp创建cn.com.test.Man.java –即c:\temp\cn\com\test\Man.java –c:\temp可以替换成任何路径,后续命令同样替换 ...

  5. bootstrap 在线设计工具layout IT

    Layoutit! bootstrap 可视化布局BETA

  6. 解决XP系统任务管理器显示不全

    我们在使用电脑的时候有的时候打开任务管理器会发现任务管理器显示不全. 当碰到这种情况怎么解决呢?任务管理器显示不全的原因又是那些呢? 这里就来为大家分享下为什么任务管理器会显示不全以及如何解决这个问题 ...

  7. 十七、文件和目录——minishell(1)

    主函数运行要去读取从标准输入或终端上输入的整个命令行,然后再去解析命令行参数,解析出来之后,要将其封装成一个 program,然后再将 program 放入 job 中,然后再去执行 job 中的命令 ...

  8. PHP中的会话控制—session和cookie(实现数据传值功能)

    1.session  登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录. 特点:(1)session是存储在服务器:   (2)session每个人(登陆者)存一份: (3)session ...

  9. ImportError: libcudnn.so.5: cannot open shared object file: No such file or directory

    ubuntu16.04安装cuda8.0,tensorflow-gpu版本后,运行时报错: ImportError: libcudnn.so.5: cannot open shared object ...

  10. python中的深拷贝和浅拷贝

    python的复制,深拷贝和浅拷贝的区别   在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一 ...