20145129 《Java程序设计》第3周学习总结
20145129 《Java程序设计》第3周学习总结
教材学习内容总结
- 类与对象
- 定义类
- 一个原始码中可以有多个类定义,但只有一个是公开类(public),并且文档中的主文档名必须和公开类名称相同。
- 使用new创建对象时,可以直接传入数据成员值(书中例子为直接传入字符串与字符,执行结果不变)。
- 使用标准类
- java.util.Scanner——会帮你完成标准输入。Scanner对每个基本类型,都会有对应的nextxxx()方法,如nextByte()。直接取得上一个字符串用next();取得用户输入的整行文字用nextLine()。
- java.math.BigDecimal——会以默认精度进行计算(可以得到更好的精确度,避免浮点数运算出现误差。BigDecimal可以进行加减乘除等运算分别为plus()、substract()、multiply()、divide(),这些方法都会返回代表运算结果的BigDecimal。
- 对象指定与相等性
- '=='用在对象类型是比较两个名称是否参考同一对象。
- 使用'equals()'比较二者索引对象的内含值是否相同。
- 定义类
- 基本类型打包器
- 打包基本类型
- Long、Integer、double、float、boolean等类为打包器,主要是将基本类型打包在对象中。P91代码执行结果可理解可以将基本类型当做对象操作。
- 自动装箱、拆箱
- 通过书P91最下方的两行代码 'Integer data1=10;、Integer data1=10;',data1与data2在运行时会参考Integer实例,可以直接进行对象操作,这样程序就简洁许多。
- 通过书P92代码'int i=10; Integer wrapper=i;'、'Number number=3.14f'在运算时3.14f会被自动装箱为Float,然后指定给number。
- 自动拆箱:自动取出打包器中的基本形态信息。
- 自动装箱拆箱的内幕
- 注意传入的int是否在默认值之间,若不在可在启动JVM时使用系统属性java.lang.IntegerCache.high来指定。(执行时期默认值无法更改)。
- 打包基本类型
- 数组对象
- 数组基础
- 数组:基本上是用来收集数据的,是具有索引的数据结构。
- 数组声明一般将[]放在类型关键词之后。
- 数组的length属性可以取得数组长度。
- 声明二维数组中,有两个维度,必须先通过cords.length得知列数,对于每一列再利用 cords[x].length得知每列有几个元素。
- 操作数组对象
- 在用'new'建立数组后每个索引元素会有默认值(数组就是对象)。
- 使用'java.util.Arrays'的'fill()'方法来设定新建数组的元素值。
- 'Integer[] scorse = new Integer[3];',此处建立的数组,每个索引都是参考至Null,所以建立了0个Inteder对象。
- 数组复制
- 使用'System.arraycopy()'或者'Arrays.copyOf()'方法进行数组复制,书P104中前两行代码并不是数组复制,而是给予参考对象,叫复制参考。
- 数组基础
- 字符串对象
- 字符串基础
- 由字符组成的文字符号称为字符串。在Java中是对象。用""包括一串字符来建立字符串。
- 同样可使用length()取得字符串长度;用charAt()可以指定取得字符串中某个字符(索引从0开始);用toUpperCase()将原本小写的字符串内容转为大写的字符串内容。
- 在Java中可以使用+运算来连接字符串,例如:'String name = "justin"'、'System.out.println("你的名字是:"+name);'。
- 字符串特性
- 基于节省内存考虑,以""包括的字符串,只要内容相同(序列、大小写相同),无论在程序代码中出现几次,JVM都只会建立一个String实例,并在字符串池中维护。书中P110最下面的代码片段中name3与name4为用new建立了新对象,所以它们分别参考至新建的String实例。
- 使用'equals()'比较字符串实际内容是否相同。例如:'name1.equals(name2)'为书P111上一行代码中的片段,表示name1与name2相比较字符串实际内容是否相同。
- +连接数据虽然方便但是在循环只用会频繁产生新对象会造成效能上的负担,可以改用StringBuilder进行改善。
- 字符串编码
- 简体中文Windows,使用Windows默认的纯文本编辑器,则是GB 2312(Eclipse与其相同);NetBeans为UTF-8。
- '>java -encoding UTF-8 Main.java'——使用java指令指定-encoding选项(没指定时会使用操作系统默认编码),即让编译程序使用UTF-8来读取内容。
- 查询Java API文件:可了解更多的类与方法。
- 字符串基础
- 何谓封装:(是指隐藏对象的属性和实现细节,仅对外提供 公共访问方式)
- 使用Java的构造函数语法,实现对象初始化流程的封装。
- 在类中定义方法,如果不用返回值方法名称前可以声明void。(封装流程可方便用户使用并且避免不必要的失误)
- 如果数据为类私有,可以使用private关键字定义。此时用户必须通过定义好的方法对数值修改。(封装类私有数据,让用户无法直接存取)
- 类语法细节
- 权限修饰
- Java中有三个权限修饰:private、public、protected。
- 如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象必须是公开成员,要使用public加以声明。
- 关于构造函数
- 如果定义类时,没有撰写任何构造函数,编译程序会自动加入一个无参数内容为空的构造函数,因此可以这样以无自变量方式构造函数。
- 构造函数与方法重载
- 定义多个参数类型或个数不同的构造函数,称为重载构造函数。
- 定义方法时也可以进行重载,可为类似功能的方法提供统一名称,但根据参数类型或个数的不同调用对应的方法。根据传递的自变量类型不同,会调用对应的方法。
- 使用this
- 在构造函数参数与对象数据成员同名时用this加以区别。
- 'this()'代表了调用另一个构造函数,调用哪个函数则视调用this()时给的自变量类型与个数而定。
- 'static'类成员
- 被声明为static成员属于类,不会被个别对象拥有。且将类名称作为名称空间。
- 由于static成员属于类,而非个别对象,所以在static方法或区块中不能出现this关键字。在static方法中不能用非static数据成员或方法。
- 不定长度自变量
- 声明参数列时要在类型关键字后加上'...'。
- 使用不定长度自变量时,方法上声明的不定长度参数必须是参数列最后一个。
- 内部类:在类中再定义类)
- 可定义在类区块中。
- 可以使用private、public、protected声明。
- 内部类本身可以存取外部类成员。
- 可以被声明为static。此内部类通常是将外部类当作名称空间,是个独立类,可以存取外部类static成员,不能存取外部非static成员。
- 方法中也可使用,做辅助用,方法外无法使用。
- 传值调用
- Java中只有传值调用。
教材学习中的问题和解决过程
在仔细阅览课本以及实际操作后,第五章传值调用具体传值方法理解模糊。需要在进行后两章学习后再深入理解。
代码调试中的问题和解决过程
在IDEA上进行代码编辑并执行没有出现太大的问题,中途尝试用+连接字符串失败了,经过筛查发现'M'写成"M",修改后执行成功。
其他(感悟、思考等,可选)
经过4、5章学习,发现只有前面几章基础打好后才能更好的理解后面部分,并且只有将新知识与旧知识相结合才能更好的掌握这门课程,当然实际操作很必要并且在实际操作中除了抄书上的代码外,自己改写或者创新也对学习很有用。然后,老师给的教学视频和课件结合教材学习也是很有效果,视频是将好几章的内容相结合来讲解的并且会讲到一些书上没有提到的小知识点。
学习进度条
| | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长| | -------- | :----------------:|:----------------:|:---------------: |:-----:| | 目标 | 3000行 | 15篇 | 300小时 | | | 第一周 | 50/50 | 2/2 | 14/14 | | 第二周 | 100/150 | 1/3 | 10/24 | | 第三周 | 300/450 | 1/4 | 15/39 |
20145129 《Java程序设计》第3周学习总结的更多相关文章
- 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程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- ORA-00031: session marked for kill 处理Oracle中杀不掉的锁
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不 ...
- linux 下wifi 功能的实现
一.嵌入式linux四件套配置 1.网卡选型的依据: a.网卡不能乱选,否则没戏.网卡的依据是,kernel的menuconfig -> device drivers -> network ...
- 二十四、Struts2中的UI标签
二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...
- 从手机获取图片让WebView支持本地上传图片
一,从本地获取相册中的图片,并获取图片的URI 从本地选择图片上传到服务器时,首先要打开本地图片或文件管理器选择要上传的文件,代码如下 Intent intent =newIntent(Intent. ...
- ADO.NET(很精彩全面)
记录一下地址方便以后看http://www.cnblogs.com/liuhaorain/archive/2012/02/06/2340409.html
- TFS build dotCover StyleCop
FS2010 – Customizing the Build Details View – Summary View http://blogs.msdn.com/b/jpricket/archive/ ...
- 怎样用foreach去修改数组之中的数据
$table_exchange=array(1,2,3,4,5,6,7,8); foreach ($table_exchange as $b=>$c){ $table_exchange[$b]= ...
- 修改 WordPress 文件上传目录
WordPress 默认的上传目录位于 wp-content/uploads ,并且根据设置还可以按照年月归档.但是如果要上传一个头像,或者幻灯片的话,也跟附件混在一起总是不太好吧?幸好 WordPr ...
- Apache 多端口多站点配置实例
分享下Apache多端口多站点的配置方法,配置apache服务器的朋友参考下. 配置httpd.conf 监听多个端口 复制代码代码如下: # Listen: Allows you to bind A ...
- 第七章 管理类型(In .net4.5) 之 使用类型
1. 概述 本章介绍 值类型的装箱拆箱.类型转换 以及 C#4.0新推出的 dynamic 关键字. 2. 主要内容 2.1 装箱和拆箱 2.2 类型转换 有四种方式可以实现类型转换: ① 隐式转换: ...