20175227张雪莹 2018-2019-2 《Java程序设计》第三周学习总结
20175227张雪莹 2018-2019-2 《Java程序设计》第三周学习总结
教材学习内容总结
(仅在此列举个性化学习总结)
一、编程语言的几个发展阶段。
1、面向机器语言:汇编语言(难以阅读和理解,为低级语言)。
2、面向过程语言:C语言(更接近人的自然语言,为高级语言,但为给该过程指定对象)。
3、面向对象语言:Java(拥有完成该任务指定的对象——
1、封装性:将数据和对数据的操作封装在一起,从具体实例中抽象出“类”;
2、继承:子承父业;
3、多态:向操作传递不同消息——腿动或嘴动;同一个操作被不同对象使用而不同——狗叫或猫叫)。
二、类:把数据和对数据的操作封装成一个整体。
1、类声明:class HelloWorld(驼峰习惯);
2、类体:(1)、变量声明:体现数据(属性)——其中声明的变量为成员变量(在整个类中都有效,且有默认值,驼峰习惯)
(2)、方法定义:体现操作(行为)——方法头+方法体(其中声明的变量为局部变量:只在方法内有效且与其声明位置有关;若局部变量名字和成员变量相同,则成员变量被隐藏,否则要使用“this”;无默认值,会编译出错。)
3、声明成员变量时赋予初值:int a; a=12;会出错。
三、类与程序的基本结构。
1、Java程序以类为基本单位(一个Java程序由若干个类组成);
2、一个Java程序可将它使用的各个类分别存放在不同或是相同的源文件中;
3、一个源文件中的类可以被多个Java程序使用。——好处是:当某个类需要修改时,只需重新编译该类所在的源文件即可。
四、实例成员与类成员:后者前面有前缀static。
1、实例变量和类变量:改变其中一个对象的前者不会对其他对象产生影响,而对象共有类变量;实例变量将被两次分配内存空间,而类变量直接被对象共用。
2、实例方法和类方法:对于static方法,不必创建对象就可以用类名直接调用它。
五、包:有效区分名字相同的类。
若源文件保存在C:\1000\tom\jiafei中则源文件中“package tom.jiafei
”,并在C:/1000中编译该源文件。
六、对象数组。
创建对象数组时,分为两步:
1、创建对象数组stu:
class Student{
Int number;
}
public class E4_21{
public static void main (String [] args){
**Student stu=new Student[10];**
……
}
}
2、创建Student对象stu[i]
class Student{
Int number;
}
public class E4_21{
public static void main (String [] args){
……
**for(int i=o;i<a.length;i++){
stu[i]=new Student();
}**
……
}
}
代码调试中的问题和解决过程
这周尝试使用IDEA进行程序的编写、编译和运行,遇到了一些问题如下:
-
问题1:一开始遇到在IDEA中新建项目时,在New Project提示框中显示“No SDK”。
-
问题1解决方案:发现JDK版本安装错误,需要安装JDK8;重新下载后,找到JDK安装目录,选中即可,如下图。
-
问题2:在IDEA中若不同源文件中,类的名字一样,编译时会出错。
-
问题2解决方案:建立不同项目文件夹,分来来编译即可,如下图。
- 问题3:在IDEA中使用git上传失败,
- 问题3解决方案:在目标上传文件夹中,鼠标右键点“Git Bash Here”,在命令提示框中依次输入“
git pull origin master --allow-unrelated-histories”
,“git push -u origin master -f
”即可。
但后面上传至码云时发现会覆盖的情况,也就是之前一个项目中的src文件夹会被后一个所覆盖,而且,这样上传至码云的文件过多;最终我还是打算在虚拟机上完成此次学习任务。
[代码托管]https://gitee.com/zxy20175227/week3
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 错题1
下列程序的运行结果为(A)错选D——正负号看岔了
int i=10;
do {
i/=2;
} while( --i > 1 );
System.out.println(i);
A .1
B .5
C .2
D .-1
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 11/11 | 1/1 | ||
第二周 | 262/273 | 1/2 | ||
第三周 | 642/915 | 1/3 |
参考资料
- [Java2实用教程(第5版)]