20175217吴一凡

一、IDEA学生免费版申请后续

  • 收到这个邮件,就说明你申请成功了,点这里进去就行了

  • 点击接受

  • 在下一个界面登录你之前注册的账号绑定许可证就行了,重新登录你的账号就有了一年的许可证





二、答疑中发现的问题

  • 包含多个源文件的java程序必须在源文件所在目录中进行编译执行,否则会出现找不到类的问题,如下图:

三、第四章学习总结

1.编程语言的几个发展阶段——4.1知识

  • 面向机器语言:

    机器语言:针对不同机器编写诸如1010101这样的指令序列

    汇编语言:用简单的记忆符号来代替二进制指令,但汇编语言仍是面向机器语言,需要针对不同机器编写不同的代码

    习惯上称机器语言、汇编语言为低级语言
  • 面向过程语言

    把代码组成叫做过程或函数的块,每个块的目标是完成某个任务,使用这些语言编写代码指令时,不必再考虑机器指令的细节,只要按照某种具体语言的语法去编写源文件

    C语言

    Fortran语言
  • 面向对象语言

    最核心的内容是“对象”,一切围绕着对象

    需要完成某种任务时,首先要想到,谁去完成任务,即哪个对象去完成任务:提到数据,首先想到这个数据是哪个对象的。

    特征:封装性、继承、多态

2.类——4.2知识

  • 类是java语言中最重要的“数据类型”,类声明的变量称作对象变量,简称对象
class 类名 {       //类的声明
类体的内容 //类体
}
  • 类声明:

    1.如果类名使用拉丁字母,首字母大写

    2.类名最好容易识别、见名知意。
  • 类体

    1.描述对象的属性和行为:

    变量、方法

    2.下面的Lader类,声明变量部分声明了4个float型变量:above、bottom、height和area;定义了两个方法:float computerArea()和void setHeight(float h)
class Lader {
float above;
float bottom;
float height;
float area;
float computerArea() {
area=(above+bottom)*height/2.0f;
return area;
}
void setHeight(float h) {
height = h;
}
}
  • 成员变量

    1.在整个类内都有效,其有效性与它在类体中书写的先后位置无关

    2.编程风格

    (1)一行只声明一个变量

    (2)首单词首字母小写,其他单词首字母大写

    (3)变量名见名知意,不要用n1、m1、1与l不相邻
  • 局部变量

    (1)只在方法、循环体、复合语句内有效

    (2)没有默认值,旭保证其有具体的值
  • 区别成员变量与局部变量

    如果局部变量名与成员变量相同,则成员变量会隐藏,如果想使用隐藏的成员变量,需要用this.变量名
  • 注意

    对成员变量的操作只能在方法体中

3.构造方法与对象的创建——4.3知识

  • 构造方法

    1.是类中的特殊方法,创建对象时会调用构造方法,方法名与类名相同,没有类型,可有多个构造方法,但参数不同(个数、类型)

    2.如果无构造方法,系统会默认一个空的构造方法
  • 创建对象
类的名字 对象名字;
对象名字=new 类的名字();

4.类与程序的基本结构——4.4知识

  • java应用程序由若干个类组成,这些类可以在一个源文件中,也可以分散在若干个源文件中
  • 将源文件保存在同一个文件夹中,分别编译通过
  • 尽管一个java源文件中可以有多个类,但仍提倡在一个源文件中只编写一个类

5.参数传值——4.5知识

  • 可变参数
public int getSum(int... x) {//x是可变参数的参数代表
int sum=0;
for(int i=0;i<x.length;i++) {
sum=sum+x[i];
}
return sum;
}

getSum(203,178,56,2098)返回203、178、56、2098的求和结果

可变参数for语句的特殊用法:

for(声明的变量:参数代表){
...
}

eg:

for(int i:x){
sum=sum+i;
}

6.对象的组合——4.6知识

  • 特点

    (1)当前对象对所包含的对象的方法的细节一无所知

    (2)当前对象随时可以更换所包含的对象

    (2)改变引用对象的值,包含对象的值也改变

    (3)改变所包含对象的引用不改变已传递过去的引用

    如下图:



    利用组合可模拟手机和SIM卡的组合关系,如下图:

7.实例成员与类成员——4.7知识

1.用关键字static给予修饰的称作类变量,否则称作实例变量

2.区别:

(1)不同对象的实例变量互不相同

(2)所有对象共享类变量

(3)通过类名直接访问类变量

如下图所示:



3.实例方法和类方法

(1)类方法有static,实例方法没有

(2)通过类名调用类方法

(3)类方法不能操作实例变量

8.方法重载——4.8知识

1.重载满足的条件:

  • 参数的个数不同
  • 参数个数相同,类型不同

    如下图:

9.this关键字——4.9知识

  • 在构造方法中的this关键字代表所创建的对象,如下图:

  • 当this关键字出现在实例方法中时,表示调用该方法的当前对象

    (1)实例方法中操作成员变量
this.成员变量;

(2)实例方法中操作类变量

类名.类变量
  • 可省略,但实例成员变量名与局部变量名重复时就不可省略

10.包——4.10知识

  • 包语句
package 包名;
package sun.com.cn; //sun\com\cn
  • 有包名的类的存储目录:编译生成的字节码必须存在包名目录下,源文件无所谓,如:
package tom.jiafei;

应将编译成成的字节码文件保存在目录tom\jiafei

  • 运行有包名的主类

    要到tom\jiafei的上一层目录中运行主类,假设tom\jiafei的上一层目录是1000,则运行格式:
java tom.jiafei.主类名;

具体例子如下图:

11.import语句——4.11知识

  • 引入类库中的类,必须使用import语句
  • import语句必须写在packag语句与源文件中类的定义之间
import java.util.*;     //引入java.util中所有的类
import java.util.Date; //引入java.util包中的Date类

如下图引入Date类:

  • 引入自定义包中的类
import sohu.com.*;

  • 要在包的上一层目录进行编译和运行
javac  xxx/xxx/主类名.java
java xxx.xxx.主类名

如下图:

12.访问权限——4.12知识

  • private修饰符(私有变量、私有方法)

    该修饰符修饰的方法、变量不能直接访问(面向对象的编程提倡通过方法来操作变量)
  • public修饰符(共有变量、方法)

    该修饰符修饰的变量、方法可随意访问
  • 无修饰符(友好变量、方法)

    在一个包中可以访问,不在一个包不可访问
  • protected修饰符(受保护的变量、方法)

    同“友好”(区别在子类)
  • public类与友好类

    public修饰的是public类,无修饰符的是友好类,public类可任意创建对象,而友好类只能在同一包中创建对象。

四、脚本截图(一周学习)



五、学习总结

  • 第四章出现了许多新的C语言中没有的东西,也是体现其面向对象编程特点的东西,虽然寒假提前看过一点,但学起来还是有一些吃力的,学到周末才基本把所有东西搞懂,嗯,下周继续加油!
  • 码云链接

《JAVA程序设计》_第三周学习总结的更多相关文章

  1. 20145213《Java程序设计》第三周学习总结

    20145213<Java程序设计>第三周学习总结 教材学习内容总结 正所谓距离产生美,上周我还倾心于Java表面的基础语法.其简单的流程结构,屈指可数的基本类型分类,早已烂熟于心的运算符 ...

  2. 20145330《Java程序设计》第三周学习总结

    20145330 <Java程序设计>第三周学习总结 第三周知识的难度已经逐步上升,并且一周学习两章学习压力也逐渐加大,需要更高效率的来完成学习内容,合理安排时间. 类与对象 对象(Obj ...

  3. 20145337《Java程序设计》第三周学习总结

    20145337 <Java程序设计>第三周学习总结 教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例.我觉得在视频中对类与对象关系的描 ...

  4. 20145218 《Java程序设计》第三周学习总结

    20145218 <Java程序设计>第三周学习总结 教材学习内容总结 定义类 编写程序要产生对象就要先定义类.类是对象的设计图,对象是类的实例.类定义时使用class关键词,建立实例时, ...

  5. 《Java程序设计》第三周学习总结

    20145224-陈颢文 <Java程序设计>第三周学习总结 教材学习内容总结 一.定义类: ·类定义时使用class关键字,要对类中变量(值域成员/对象数据成员)行类型声明. class ...

  6. 20155304 2016-2017-2 《Java程序设计》第三周学习总结

    20155304 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 第四章 类与对象 定义: 对象(Object):存在的具体实体,具有明确的状态和行为. 类( ...

  7. 201521123038 《Java程序设计》 第三周学习总结

    201521123038 <Java程序设计> 第三周学习总结 1. 本周学习总结 附大图链接 http://naotu.baidu.com/file/5774caa2be710afbc0 ...

  8. 201521123072《java程序设计》第三周学习总结

    201521123072<java程序设计>第三周学习总结 标签: java学习 1. 本周学习总结 2. 书面作业 1,代码阅读 public class Test1 { private ...

  9. 20175209 《Java程序设计》第三周学习总结

    20175209 <Java程序设计>第三周学习总结 教材学习内容总结 第四章知识点 1.发展阶段: 面向机器——面向过程——面向对象(特点:封装性,继承性,多态性) 2.类: 类 声明变 ...

  10. 20175204 张湲祯 2018-2019-2《Java程序设计》第三周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第三周学习总结 教材学习内容总结 -第四章类与对象要点: -面向对象语言三个特性:封装性:继承:多态: -类:1.类是组 ...

随机推荐

  1. vue的基本操作

    vue的基本概念   挂载点:就是el属性对应html中的节点,实例只会处理挂载点下的内容. 模版:在挂载点内部的内容,也可以将模版内容卸载实例里面 如果有template属性会用模版替换外部html ...

  2. 【Python3爬虫】selenium入门

    selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fire ...

  3. Chapter 5 Blood Type——23

    I didn't answer. I closed my eyes again and fought the nausea with all my strength, clamping my lips ...

  4. Mybatis sql映射文件浅析 Mybatis简介(三)

    简介 除了配置相关之外,另一个核心就是SQL映射,MyBatis 的真正强大也在于它的映射语句. Mybatis创建了一套规则以XML为载体映射SQL 之前提到过,各项配置信息将Mybatis应用的整 ...

  5. 如何热更新线上的Java服务器代码

    一.前言 1.热更新代码的场景 (1)当线上服务器出现问题时,有些时候现有的手段不足以发现问题所在,可能需要追加打印日志或者增加一些调试代码,如果我们去改代码重新部署,会破坏问题现场,可以通过热部署的 ...

  6. Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译

    前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再 ...

  7. Docker搭建ElasticSearch+Redis+Logstash+Filebeat日志分析系统

    一.系统的基本架构 在以前的博客中有介绍过在物理机上搭建ELK日志分析系统,有兴趣的朋友可以看一看-------------->>链接戳我<<.这篇博客将介绍如何使用Docke ...

  8. 第33章 密码学(Cryptography),密钥(Keys)和HTTPS - Identity Server 4 中文文档(v1.0.0)

    IdentityServer依赖于几个加密机制来完成它的工作. 33.1 令牌签名和验证 IdentityServer需要非对称密钥对来签署和验证JWT.此密钥对可以是证书/私钥组合或原始RSA密钥. ...

  9. Go中多个返回值的技巧

    直接上代码看个例子吧: package main import "fmt" //返回 X+Y 和 X*Y func Computer(X, Y int) (int, int) { ...

  10. 弹框在UC浏览器或者Android机器上会被顶上去

    弹框在UC浏览器或者Android机器上会被顶上去 可以通过监听resize事件 this.height = $(document).height(); window.addEventListener ...