20155324 2016-2017-2 《Java程序设计》第3周学习总结
20155324 2016-2017-2 《Java程序设计》第3周学习总结
教材学习内容总结
定义类
要产生对象必须先定义类,类是对象的设计图,对象是类的实例。类定义时使用class关键词,建立实例要使用new关键词。以类名称声明的变量,称为参考名称、参考变量或变量。
代码如下:
class Clothes
{
String color;
char size;
}
public class Field
{
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);
}
}
对象指定与相等性
当=用与基本类型时,是将值复制给变量,当==用于基本类型时,是比较两个变量储存的值是否相同,
package cc.openhome;
import java.math.BigDecimal;
public class Compare {
public static void main(String[] args) {
BigDecimal a=new BigDecimal("0.1");
BigDecimal b=new BigDecimal("0.1");
BigDecimal c=a;
System.out.println(a==b);
System.out.println(a==c);
System.out.println(a.equals(b));
}
}
因为a与b储存的值都是10,而a与c储存的值也都是10。=是用在将某个名牌绑到某个对象,而==是用在比较两个名牌是否绑到同一对象。
int a = 10;
int b = 10;
int c = a;
System.out.println(a == b);
System.out.println(a == c);
基本类型打包
Java中有两个类型系统,即基本类型与类类型,使用基本类型目的在于效率,然而更多时候,会使用类建立实例,因为对象本身可以携带更多信息。如果要让基本类型像对象一样操作,可以使用Long、Integer、Double、Float、Boolean、Byte等类来打爆基本类型。
package cc.openhome;
public class IntegerDemo {
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));
}
}
- 基本类型打包其都是归类于java.lang包中,如果要使用Integer打包int类型数据,方法之一是用new创建Integer实例时,传入int类型数据。
字符串特性
以“”包括的字符串,只要内容相同(序列、大小写相同),无论在程序代码中出现几次,JVM都只会建立一个String实例,并在字符串池中维护。如果想比较字符串实际字符内容是否相同,不要使用==,要使用equals()。
数组
数组打印:数组就像是一个有很多小隔间的容器,每个小隔间可以放入一个元素,例如在数组中存入六个数字,并打印出来
//不规则二维数组
package cc.openhome;
public class IrregularArray {
public static void main(String[] args) {
int[][] arr=new int[2][];//声明arr参考的对象会有两个索引
arr[0]=new int[]{1,2,3,4,5};//arr[0]是长度为5 的一维数组,想在new数组中一并指定初始值,不必指定数组长度。
arr[1]=new int[]{1,2,3};//arr[1]是长度为3的一维数组。
for(int[] row:arr){
for(int value:row){
System.out.printf("%2d",value);
}
System.out.println();
}
}
}
封装对象初始流程
封装的目的主要就是隐藏对象细节,将对象当作黑箱进行操作。
如果没有指定初始值,则会使用默认值初始化。
如果定义类时,没有撰写任何构造函数,编译程序会自动加入一个无参数、内容为空的构造函数,称为默认构造函数。
教材学习中的问题和解决过程
在编译程序在处理重载方法是什么?
还没装箱动作前可符合自变量个数与类型的方法。
装箱动作后可符合自变量个数与类型的方法。
尝试有不定长度自变量并可符合自变量类型的方法。
找不到合适的方法,编译错误。
代码调试中的问题和解决过程
- xx1问题
- xx1解决方案
- xx2问题
- xx2解决方案
- ...
代码托管
代码提交过程截图:

代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图
上周考试错题总结
- ~0b1011的十进制数值()
八位二进制:00001011
每位取反得:11110100
取反后补码:10001011+1=10001100
十进制表示:-12 - Java中,非零数字等价于true.(X)
在c语言中是这样但是不等于java中也是这样,这是我概念上出现了模糊混淆。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第三周 | 150/150 | 1/1 | 10/10 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:XX小时
实际学习时间:XX小时
改进情况:
参考资料
20155324 2016-2017-2 《Java程序设计》第3周学习总结的更多相关文章
- # 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程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 【linux】Linux系统SELinux简介
安全加强型Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. 是linux安全加强的另一种实现方式. ...
- CF527E Data Center Drama(构造+欧拉回路)
题目链接 大意: 给你一个无向图. 要求加最少的边,然后给这些无向图的边定向,使得每一个点的出入度都是偶数. 输出定向后的边数和边集. n<=10^5 m<=2*10^5 很巧妙的构造题- ...
- [学习笔记]FWT——快速沃尔什变换
解决涉及子集配凑的卷积问题 一.介绍 1.基本用法 FWT快速沃尔什变换学习笔记 就是解决一类问题: $f[k]=\sum_{i\oplus j=k}a[i]*b[j]$ 基本思想和FFT类似. 首先 ...
- (转)visual stdio 书签功能介绍
http://www.mycode.net.cn/tools/1615.html 使用 Visual Studio 开发过程中,你很容易遇到一种情况就是多个文件来回的切换,在每一块实现不同的业务,打开 ...
- tp5的include 标签 不能用了么
直接调用页头页尾 直接原样显示了 正解: 要注意 file后不能加空格, 不然放在 页头会报错, 放在其他地方则不会被解析. 以上是我的经历,供参考. {include file ='public/h ...
- Python三十个常见的脚本汇总
1.冒泡排序 2.计算x的n次方的方法 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发.爬虫.数据分析.数据可视化.机器学习等.送给正在 ...
- percona-5.7二进制多实例安装
percona-mysql-5.7二进制多实例安装 规划:端口号 配置文件 备注3306 /data/mysql/mysql_3306/my_3306.cnf 3307 /data/m ...
- 《玩转Django2.0》读书笔记-Django建站基础
<玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...
- Hadoop生态圈-构建企业级平台安全方案
Hadoop生态圈-构建企业级平台安全方案 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文章的小伙伴,估计你对大数据集群的部署对于你来说应该是手到擒来了吧.我之前分享过 ...
- 运维监控-Open-Falcon介绍
运维监控-Open-Falcon介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Open-Falcon 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事 ...
