第一周Java学习总结
1、Java的地位
(1)网络地位
编写应用程序的主导地位。因其有平台无关性的特点。
(2)语言地位
面向对象编程基础地位。
(3)需求地位
在许多软件产品编写中名列前茅。
2、Java的特点
(1)简单
相对C++程序不容易出错,语言更明确。
(2)面向对象
面向对象:以我的初步理解,封装是数据跟操作数据的行为封装在一起,外界可以通过端口实现封装东西的功能又不需要了解封装内部的细节。继承的意思是在子类在顶替父类后满足原先对父类的所有叙述,或者说是在父类出现的地方子类一定能出现。多态分为编译多态跟动态多态,编译多态的意思是方法的重载,调用时要给上具体参数实现不同的操作。动态多态是指重写,在子类中对父类已有的函数进行重新定义,当子类对象调用函数时,会调用子类中重新定义的函数,而不会调用父类的。参考网址:(https://blog.csdn.net/weixin_40762393/article/details/80678203)
(3)平台无关性
平台无关性:C或C++是依赖平台的,C或C++源程序的编译器针对平台进行编译,而不同的平台有不同的机器指令,所以C或C++无法跨平台。Java语言提供的编译器不针对特定的操作系统和CPU进行编程,而是针对Java虚拟机把Java源程序编译成称为字节码的“中间代码”,然后Java虚拟机负责将字节码翻译成虚拟机所在平台的机器码,并让当前平台运行该机器码。(源程序——编译——字节码——字节码解释程序——对应平台的机器语言)。参考网址:
(https://blog.csdn.net/newmemory/article/details/54949817)
(4)动态
动态:有些类是当程序运行时动态加载的,所以类库升级时不用重新修改和编译。
3、安装JDK
在(www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下载linux64版本的jdk。
一开始下载的是rpm格式的,按照(https://www.cnblogs.com/datasyman/p/6942557.html) 所给的命令进行安装
被告知rpm命令不存在,于是下载rpm命令。
命令下载完成后依旧安装不了,根据(https://blog.csdn.net/suleil1/article/details/49471723) 需要用alien命令将rpm格式转化为deb格式,alien也没有下载,所以此方法作罢。
重新下载tar格式的jdk安装包,依据网站教程(https://blog.csdn.net/baoqiaoben/article/details/78936955) 成功安装jdk
4、配置环境
根据(https://blog.csdn.net/baoqiaoben/article/details/78936955) 教程配置环境。
检验配置是否成功
5、调试程序
按书上所给例子编写好程序
启动jdb,设置断点
逐步运行
查看当前变量的值
查看断点
运行程序至结束
6、上传程序到码云
按(https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703354d8c6c01c904c7d9ff056ae23da865a000/) 网站教程安装git,一开始在输入管理员密码下载后,终端显示无法获得锁,按(https://jingyan.baidu.com/article/4b52d702b06695fc5c774bfe.html) 方法得到解决
参考(http://www.cnblogs.com/rocedu/p/6482354.html) 网站上传代码
编写并运行程序,期间在转移根目录时忘记退出当前文档导致查找无结果,后解决
初始化仓库并添加文件
设置远程仓库
上传文件时显示更新被拒绝,通过(https://segmentfault.com/a/1190000002718683?utm_medium=referral&utm_source=tuicool) 网站尝试远端更新并与本地合并的方法失败,后通过网站(https://my.oschina.net/feanlau/blog/1546558) 强推的方式上传文件,问题得以解决。
7、上传脚本
按(http://www.cnblogs.com/rocedu/p/6482354.html) 网站上的步骤将脚本简化上传至码云,并拷贝作业模板
运行run.sh
运行脚本的时候一开始没有在git仓库中运行导致出错
进入git仓库加上执行权限后成功运行
public class Hello { //public class修饰的类可以被其他包访问//
public static void main (String args[]) { //tic关键字,告知编译器main函数是一个静态函数//
System.out.println("大家好!"); //out是类System中的静态的类成员,可以直接被调用。println是打印换行//
System.out.println("Nice to meet you");
Student stu = new Student();
stu.speak("We are students")
}
}
class Student { //class定义的类只具有包访问权限,该类不能被其他包访问//
public void speak(String s) {
System.out.println(s);
}
}