20165312 2017-2018-2 《JAVA程序设计》第3周学习总结

一、第四章知识点总结

1.类

  • 类的实现包括两个部分:类声明和类体。
  • class是关键字,用来定义类。
class 类名 {
类体的内容
}
  • 类名若使用拉丁字母,则首字母大写;若由几个“单词”符合完成,每个单词的首字母大写。
  • 类体的内容包括两部分,一部分对变量的声明,另一部分是方法的定义。
  • 变量声明部分所声明的变量是成员变量,在整个类中有效,有默认值。;方法中声明的变量以及方法中的参数是局部变量,仅在方法中有效,且没有默认值。
  • 声明成员变量时可以同时赋值,但是在类体中不能有单独赋值的语句。
  • 方法的定义包括两个部分:方法声明和方法体。方法类似于C中的函数。
方法的类型 方法名称(参数) {
方法体的内容
}

2.构造方法和创建对象

  • 构造方法是一种特殊的方法,名字和类的名字相同,并且没有类型。
类名(参数) {
方法体内容
}
  • 如果类中没有编写构造方法,系统会默认该类中只有一个构造方法,默认的构造方法是无参数的,且方法体中没有语句。如果类中定义了构造方法,那么java中不提供构造方法。
  • 对象的声明:
类的名字 对象名字;
  • 为声明的对象分配变量
对象名字 = new 类的名字();
  • 使用对象

对象操作自己的变量 对象.变量;

对象调用类中的方法 对象.方法名;

  • 当用类创建了一个对象时,类中的成员变量在分配内存空间,这些内存空间称作该对象的实体或对象的变量,而对象中存放着引用。一个类创建的两个对象,如果具有相同的引用,则有完全相同的实体。

3.类与程序的基本结构

  • java应用程序从主类的main方法开始执行

4.参数传值

  • 当对象调用方法时,参数被分配内存空间,参数变量必须有具体的值。
  • 对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别(精度)。
  • 对于引用型(包括数组、对象、接口)的参数,传值传递的是变量中所存放的引用,而不是变量所引用的实体。

5.实例成员与类成员

  • 声明成员变量时,用static修饰的是类变量(static变量、静态变量),否则为实例变量
  • 不同对象的实例变量不同,所有对象共享类变量
  • 声明方法时,用static修饰的是类方法(静态方法),否则为实例方法
  • 类方法不仅可以被任何对象调用,还可以通过类名调用。类方法不能操作实例变量。

6.方法重载

  • 方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数不相同,或者参数个数不相同,或者参数类型不同。

7.this关键字

  • this表示某个对象
  • this不能出现在类方法中
  • this在类的构造方法中,代表给构造方法所创建的对象。
  • this在实例方法中时,代表正在调用该方法的当前对象。当实例变量在实例方法中出现时 this.成员变量;当static成员变量在实例方法中出现时 类名.成员变量

8.包

  • package语句作为java源文件的第一句话
package 包名;
  • 运行时注意区别

9.import语句

  • 一个类可能需要另一个类生命的对象作为自己的成员或者方法中的局部变量,若两个类在同一个包中,是可以的。若不在同一个包中,则可以使用import语句。
  • 引入java.util包中的Date类(类库中的类) import java.util.Date;
  • 引入java.util包中的所有的类(类库中的类) import java.util.*;
  • 引入自定义包中的类 import 包名.*;

10.访问权限

  • private修饰的成员变量和方法称为私有变量和私有方法。只有在本类中创建该类的对象时,这个对象才能访问自己的私有变量和类中的私有方法。
  • public修饰的成员变量和方法称为共有变量和共有方法。在另外一个类中创建该类的对象时,这个对象也可以访问共有变量和共有方法。
  • protected修饰的成员变量和方法称为受保护的成员变量和受保护的方法。在另外一个类中创建给类的对象,若这两个类属于同一个包,则可以访问受保护的成员变量和受保护的方法,否则不行。
  • 不用public、public、protected修饰的成员变量和方法是友好变量和友好方法。如果源文件使用import引入了别的包中的类,并且用这个类创建了一个对象,则这个对象不能访问友好变量和友好方法。
  • 在一个源文件中类都属于同一个包中。

11.基本类型的类封装

  • java.lang包中有Byte、Integer、Short、Long、Float、Double、Character。
构造方法 调用方法返回对象含有的基本型数据
Double(double num) doubleValue()
Float(Float num) floatValue()
Byte(byte num) byteValue()
Short(short num) shortValue()
Integer(int num) intValue()
Long(Long num) longValue()
  • Character类的构造方法: Character(char c) Character类中的一些常用类方法:public static boolean isDigit(char ch) //ch是数字字符返回true public static boolean isLetter(char ch) //ch是字母返回true

代码托管

统计本周代码行数截图:

二、本周遇到的问题以及对上周的查漏补缺

1.在向码云上传代码的时候出现“Everything uo to date”的错误,我在蓝墨云中提问,根据同学的提示成功上传了代码。

解决方法:

(1)创建新分支:git branch newbranch

(2) 查看新分支是否成功:git branch

(3)切换分支:git checkout newbranch

(4)git add .

(5)git commit -a

(6)合并分支:git merge newbranch

(7)git diff

(8)git push -u origin master

(9)删除分支:git branch -D newbranch

参考链接:博客

2.做上一周测试题目时学习的新的知识

做上一周测试题目有很多不会的,然后自己查书发现了很多遗漏的知识点。还有一些是通过百度的。因为具体的答案还不清楚,具体的题目差错分析会在下周的博客中写。

1.Ctrl+Shift+T创建窗口,Alt+number进入第n个窗口
2.计算器中八进制表达方式:在前面加一个0
3.计算器中十六进制表达方式:以0x/0X开头
4. >>: 用于有符号的右移,又叫做算数右移, 在移动过程中,最高位补符号位

>>>:用于无符号的右移,在移动过程中,最高位补0

<<:用户左移,这里没有符号的概念,左移后,最低位补0

参考链接:java中<<,>>和>>>

5.复制数组的四种方法
  • 循环结构
  • 使用Object类的clone()方法
  • 使用Systems的arraycopy
  • Arrarys类的copyOf()方法与copyOfRange()方法

20165312 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. 2015-10-20 sql2

                                                                      SQL SERVER(二) 三.插入,更新,删除,添加 3.1ins ...

  2. QChartView绘制饼状图

    效果图: #include "mainwindow.h" #include "form.h" #include <QApplication> #in ...

  3. webstorm keys

    {"licenseId":"ThisCrackLicenseId","licenseeName":"xuza",&quo ...

  4. 数据结构算法之冒泡排序——Java语言实现

    今天来谈下冒泡排序算法,这次实现由两种形式如下所示: 1.对于长度为N的数据序列,没有加标签限制,针对一开始就是有序的数据序列,仍然需要排序N-1趟来完成排序. 2.对于长度为N的数据序列,加标了签限 ...

  5. 管理商品demo

    1.写一个管理商品的程序# 1.商品存在文件里面# 2.添加商品的时候,商品存在的就不能添加了,数量只能是大于0的整数,价格可以是小数.整数,但是只能是大于0的# 商品名称# 商品价格# 商品数量# ...

  6. React项目新手指南

    对于程序员而言:驼峰和下划线之间是一场宗派战争:大括号是否换行会成为一种党派:逗号写在行尾还是行首的人来自不同星球…… 然而,无规矩不成方圆,任何一个团队,要想有高质量的产出,第一步必须要对一些基本的 ...

  7. go web framework gin 路由表的设计

    在上一篇go web framework gin 启动流程分析这一篇文章中,我分析了go gin启动的过程,在这一篇文章中我将继续上面的分析,讨论gin 中路由表是如何设计的? 首先查看engine. ...

  8. Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建

    软件版本说明:我选的Linux系统是Ubuntu16.04,CUDA用的8.0,Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7只支持TensorFlow1.3.0以下的版 ...

  9. touchend偶尔不触发(待解决)

    新闻流,实现tab横向切换效果,出现偶尔切到一半,手指移开后,没有跳转到上一个或下一个tab,而是持续在当前切了一半的位置. 找到原因: 没有切换的时候,touchend都没有触发. 网上找到的解决办 ...

  10. linux之基础操作