#20155319 2016-2017-2 《Java程序设计》第3周学习总结
20155319 2016-2017-2 《Java程序设计》第3周学习总结
教材学习内容总结
第三周的学习量还是很大的,需要学习的内容更难了而且 量也变多了,所以投入了更多的时间到Java的学习中去。
第四章主要讲了Java基本类型中的类类型,如何定义类、构造函数、使用标准类、基本类型打包器、数组复制、字符串等内容查询API文档。
第五章主要内容包括封装、封装对象、类语法细节、this、static类成员、不定长度自变量、内部类
定义类
产生对象必须先定义类,对象是类的实例,对象和实例在Java中几乎是等义的名词。
- new新建一个对象
- class定义类时使用的关键词
- String变量的字符串表示
- char类型声明变量
=
参考至新建对象
使用标准类
- 使用java.util.Scanner标准类来进行输入。对于不同的类有不同的写法
nextInt()
nextByte()
nextFloat()
等等 - 使用java.math.BigDecimal来获得更好的精确度。加减乘除用
plus()
substract()
multiply()
divide()
数组
- 数组打印:数组就像是一个有很多小隔间的容器,每个小隔间可以放入一个元素,用for语句进行输出。如果是顺序地从头到尾取出数组使用
for(int score:scores)
- 数组排序:数组的常见使用方法就是获取最值和排序,其实二者差别不是很大,都是对数组内每一个小隔间的元素进行判断及重排序。
- 操作数组对象:如果事先不知道数组中的元素值,只知道元素个数,则可以通过new关键词指定长度来建立数组(例如:int[] scores=new int[10];)。此时数组初始值均为0,若要改变初始值,则可使用java.util.Arrays的fill()方法来设定新建数组的元素值。
- 数组复制:数组复制的基本做法是另行建立新数组。但可以使用arrays.copyOf()方法。System.arraycopy()的五个参数分别是来源数组、来源起始索引、目的数组、目的起始索引、复制长度。
字符串对象
- 字符串是由字符组成的文字符号。在java中,字符串是java.lang.String实例,用来打包字符数组。例如:
String name="justin"
//建立String实例
System.out.println(name)
//显示justin
System.out.println(name.length())
//显示长度为6
System.out.println(name.charAt(0))
//显示第一个字符j
System.out.println(name.toUpperCase())
//显示JUSTIN
封装
- 封装可以理解为把方法封在类中,用打时候可以直接拿,就好比你要上学,类就是书包而方法就是书,要用方法打时候直接从书包中拿书就行。
类语法细节
- public权限修饰
public是个公开类,可以在其他包的类中使用。可以在构造函数上声明public,这表示其他包中的类可以直接调用这个构造函数。可以在方法上声明public,这表示其他包中的方法可以直接调用这个方法。 - 关于构造函数
函数名与类名相同,不用定义返回值类型,不可以写return语句。 - 重载
(1)重载的概念:在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
(2)重载的特点:与返回值类型无关,只看参数列表。
(3)重载的好处:方便于阅读,优化了程序设计。
使用this
- 除了被声明为static的地方外,this关键字可以出现在类中任何地方。在构建函数参数与对象数据成员同名时,可用this加以区别。
static类成员
- 被声明为static的成员,不会让个别对象拥有,而是属于类,是将类名称作为名称空间。
- 由于static成员是属于类,而非个别对象,所以在static成员中使用this,会是一种语意上的错误。
- 静态变量必须在初始化之前进行赋值,否则会报错。静态方法通常都是被经常使用的方法,不需要每次都重新实例化,提高工作效率。
内部类
- 可以在类中再定义类。
- 内部类也可以使用public、protected或private声明。例如:
class Some{
private class Other{
}
}
代码调试中的问题和解决过程
问题:在编写编写定义类的时候出现如下情况
解决方案:在定义类中少加了一个}
问题:在输出数组的时候出现了找不到变量i
解决方案:在for后多打了;
代码托管
代码提交过程截图:
- 运行 git log --pretty=format:"%h - %an, %cd : %s"
- 运行 git log --pretty=format:"%h - %an, %cd : %s"
代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l
上周考试错题总结
- ~0b1011的十进制(-12):先取反,负数变反加一。
- CH03 判断: 0.123 == 1.23e-2 (X)
- ...
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:30小时
实际学习时间:17小时
参考资料
#20155319 2016-2017-2 《Java程序设计》第3周学习总结的更多相关文章
- 20155319 2016-2017-2 《Java程序设计》第九周学习总结
20155319 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 整合数据库 ==16.1.1 JDBC简介== JDBC全名Java DataBase Co ...
- 20155319 2016-2017-2 《Java程序设计》第一周学习总结
20155319 2016-2007-2 <Java程序设计>第一周学习总结 考核方式 翻转课堂考核12次(5*12=60):每次考试20-30道题目,考试成绩规格化成5分(如总分20分就 ...
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
- 2016-2017-2 《Java程序设计》第二周学习总结
20155319 2016-2017-2 <Java程序设计>第二周学习总结 课堂学习内容 git:版本控制 java -d bin(当地文件夹) src/Hello.java把生成的.c ...
- # 20155337 2016-2017-2 《Java程序设计》第九周学习总结
20155337 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
随机推荐
- Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹
package cuiyuee; import java.io.File; import java.util.ArrayList; import java.util.List; public clas ...
- SQLAlchemy总结
SQL相关操作 创建一个test库 create database test; 授权一个用户 grant all privileges on *.* to 'yangjian'@'%' identif ...
- python一键对应多个值
背景:目前是想让一个取出来的数据,数据有2个或多个值,对应一个key,或者这样说:让一个键对应2个值或者3个值 实现方式,如下:目前我以读取xml文件为案例,读取xml中两个配置文件,存放到一个key ...
- thinkphp3.2.3代码审计
<?php namespace Home\Controller; use Think\Controller; class UserController extends Controller { ...
- .net增删该查DBAccess的应用
1.首先引用dll文件 2. //DBAccess.dll引用一個dll文件 private IDBAccess _access; private static readonly stri ...
- Ubuntu安装docker笔记
前言 根据参考文档简单记录Ubuntu系统安装docker的步骤 系统版本 panzi@ubuntu:~$ cat /etc/issue Ubuntu 16.04.5 LTS \n \l 移除旧版 ...
- phantomJS浏览器
无界面浏览器 下载解压缩 http://phantomjs.org/download.html selenium调用 from selenium import webdriver import tim ...
- Mysql数据库写入数据速度优化
Mysql数据库写入数据速度优化 1)innodb_flush_log_at_trx_commit 默认值为1:设置为0,可以提高写入速度. 值为0:提升写入速度,但是安全方面较差,mysql服务器 ...
- datatable的excel导入,其中有关于datatables的很多参数设置
datatable的excel导入,其中有关于datatables的很多参数设置 http://www.cnblogs.com/liyuhuan/p/5633095.html
- 关于javascript中call()和apply()方法的总结
前段时间在使用javascript的过程中遇到了继承的问题,自己顺便就对call()和apply()方法进行了了解. 两个方法的共同之处:这两个方法作用相同,都用来改变当前函数调用的对象,即改变thi ...