20145239杜文超 《Java程序设计》第3周学习总结
20145239 《Java程序设计》第3周学习总结
教材学习内容总结
一、第四章:
(1)对象和类:
使用Java撰写程序几乎都在使用对象,要产生对象必须先定义类,类是对象的设计图,对象是类的实例。定义类时用关键词class,利用类建立对象实例用new关键词。
class Clothes{ String color; char size; } public class ClassObject { public static void main(String[] args){ Clothes sun=new Clothes(); Clothes spring=new Clothes();sun.color="red"; sun.size='S'; spring.color="green"; spring.size='M'; System.out.printf("sun(%s,%c)%n", sun.color,sun.size); System.out.printf("spring(%s,%c)%n", spring.color,spring.size);} }
(2)使用标准类:
java.util.Scanner会帮你扫描标准输入。
java.math.BigDecimal会以默认精度进行计算,防止浮点数运算错误的情况。
import java.util.Scanner;public class Guess {public static void main (String[] args){Scanner scanner = new Scanner(System.in);int number = (int) (Math.random() * 10);int guess;do{System.out.print("猜数字(0~9):");guess = scanner.nextInt();}while (guess != number);System .out.println("bingo!!");} }
(3)基本类型打包器:
Long、Integer、Double、Float、Boolean等,就是所谓的打包器。其主要目的是提供对象实例作为“壳”,将基本类型打包在对象之中,就可以将基本类型当作对象操作。
public class Integer {public static void main (String[] args){int data1 = 10;int data2 = 20;Integer wrapper1 = new Integer(data1);Integer wrapper2 = new Integer(data2);System.out.println(data1/3);System.out.println(wrapper1.doubleValue()/3);System.out.println(wrapper1.compareTo(wrapper2));}}
(4)数组对象:
数组在Java中就是一个对象。声明一维数组用int[],二维用int[][]。
public class Score {public static void main (String[] args){int[] scores ={88,81,74,78,76,77,85,95,93};for(int i = 0;i < scores.length;i++){System.out.printf("学生分数:%d %n",scores[i]);}} }
(5)字符串对象:
字符串本质是打包字符数组的对象。
import java.util.Scanner;public class Sum {public static void main(String[] args){Scanner scanner = new Scanner(System.in);long sum = 0;long number = 0;do {System.out.print("输入数字:");number = Long.parseLong(scanner.nextLine());sum += number;}while(number != 0);System.out.println("sum:"+sum);} }
二、第五章:
- 构造函数实现对象初始化流程的封装。封装的主要目的就是隐藏对象细节,将对象当做黑箱进行操作。
- 创建对象时,数据成员会初始化,如果没有指定初始值,则会使用默认值初始化。
- 定义类时如果没有构造任何函数,编译程序会自动加入一个无参数、内容为空的构造函数,成为默认构造函数。
- 被声明为static 的成员,不会让各别对象拥有,而是属于类。
- 如果局部变量声明了final,表示设值后就不能再变动。
教材学习中的问题和解决过程
本周的学习在阅读教材的过程中遇到了大量问题,很多关键词都不熟悉含义。看了教学视频以后部分有了一定认识,但还遗留了许多问题。
比如深层复制和浅层复制的区别,为此我查了百度,得知:
- Java对象的深层复制是指Java对象A本身被clone成新对象B,同时A的属性也是被clone成新对象,赋值到A的各个属性上去,A与B的相同属性都引用到不同的对象;
- Java对象的浅层复制是指Java对象A本身被clone成新对象B,但A的属性没有被clone处理,只是把A的各个属性所指的对象赋值到B对应的属性上,A与B的相同属性都引用到同一个对象。
- 我们一般使用到对象复制是对象浅层复制,也就是没有复制属性成新的属性。
具体例子可以看这篇博客:http://xiemingmei.iteye.com/blog/1076159
代码调试中的问题和解决过程
按照要求附图代码托管的情况如下:
在运行数组部分的代码时出行了如下错误:
错误原因:课本上的printf写成了println,可为什么会这样呢?
解决方法:可以参考卢肖明同学的文章:http://group.cnblogs.com/topic/73988.html
其他(感悟、思考等,可选)
Java是面向对象的一种语言,和C语言有很大不同。但我始终搞不清楚到底什么是面向对象,看了毕向东老师的教学视频后他举得一个例子让我开始有点概念。他说如果你要去买电脑但是你不懂CPU、显卡等电脑的配置,但是毕老师懂,你去拜托他帮你买,这时候毕老师就成了你的对象,不用懂电脑配置的细节,你只需要指示毕老师去买就行了,因为具体的操作毕老师懂。本周Java的学习内容很繁重,难度一下子提升了一个档次,所以很多时候要把这些抽象的问题具体化,想象成生活中的一些实例,这样才能方便理解。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 100/100 | 1/2 | 15/15 | |
第二周 | 200/300 | 1/2 | 12/15 | |
第三周 | 300/300 | 1/2 | 20/20 | 认识了面对对象的含义 |
参考资料
- Java学习笔记(第8版)
- 《Java学习笔记(第8版)》学习指导
转载于:https://www.cnblogs.com/dwc929210354/p/5299696.html
20145239杜文超 《Java程序设计》第3周学习总结相关推荐
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
- 20145239杜文超《网络对抗》- Web安全基础实践
20145239杜文超<网络对抗>- Web安全基础实践 基础问题回答 (1)SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查 ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155313 2016-2017-2 《Java程序设计》第二周学习总结
20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...
- 20155226 2016-2017-2 《Java程序设计》第一周学习总结
20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...
- 20172325 2018-2019-1 《Java程序设计》第二周学习总结
20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...
- 20155229 2016-2007-2 《Java程序设计》第一周学习总结
20155229 2016-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 1~18章的提问: 第一章:怎样撰写Java才不会沦于死背API文件.使用"复制. ...
- 20155303 2016-2017-2 《Java程序设计》第一周学习总结
20155303 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 Chapter1 Java平台概论:MyProgr ...
- 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结
20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...
- 20175317 《Java程序设计》第一周学习总结
20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...
最新文章
- 在linux终端远程登陆linux服务器
- window.onload和3的小游戏
- 类属性的特征java_java定义类、属性、方法
- 首次!海豚间像人类一样的交谈被水下麦克风记录
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
- 前端学习(2184):tabber--封装成独立的组件
- 关于c语言的数据类型常量的理解
- 测试动态视力软件叫什么影响吗,动态视力
- Hibernate注释大全
- 【Dairy】2016.10.30 BirthdayParty
- untiy对过相机参数计算视场角
- webserver接口调用(一)
- 光伏风电系统PSCAD仿真成功
- 手把手教你用Python操作Word自动编写离职报告!
- cpci无法检索_CPCI检索是什么意思
- 二维码名片的格式 - vcard
- 如何使用方位X210来查看海康威视IP摄像头
- 常见的SQL面试题(学生表_课程表_成绩表_教师表)
- 一、fopen与fclose
- jsoup爬取驾考题库
热门文章
- C#程序员开发WinForm必须知道的 Window 消息大全(转)
- quick-cocos2d-x GameCenter 排行榜
- 如何借助OpenStack命令行工具管理虚拟机?
- [Android] Android开机启动Activity或者Service方法
- 使用Eclipse插件DB viewer进行MySQL(SQL Server)等 数据库操作
- maven 多环境打包发布的两种方式
- loadrunner录制脚本为空的情况
- Spring 最常用的 7 大类注解,女媛史上最强整理!
- AI人才供不应求:应届生年薪可达50万 没出校门已被抢光
- Google 又有新动作了