20155325 2016-2017-2 《Java程序设计》第十周学习总结
教材学习内容总结
Java视频笔记
- 强制转换
- 运算符
获取特定位数的值
- 循环
- switch(不能判断布尔型)
int x = 3, y = 3, z = 3;
int n = 0;
switch (x)//一般都这么干
{
case 1:
System.out.println("x=1");
break;
case 2:
System.out.println("x=2");
break;
case 5:
System.out.println("x=5");
break;
default:
System.out.println("default,x没找到");
break;//此处可写可不写
}
System.out.println();
switch (z) {
default://第一次时先不过它,先看case,如果满足case中的条件接着往下执行,看是否遇见break或右大括号
System.out.println("default,z没找到");
case 1:
System.out.println("z=1");
case 3:
System.out.println("z=2");
case 4:
System.out.println("z=3");
break;//此处是否有break;结果都一样
}
System.out.println();
switch (y) {
default://第一次时先不过它,先看case,如果不满足case中的条件则运行default然后不看条件运行case里的语句,直到遇见break或右大括号
System.out.println("default,y没找到");
n++;
System.out.println( " f1 ="+n);
d++;
case 1:
System.out.println("y=1");
n++;
System.out.println(" c1 ="+n);
case 2:
System.out.println("y=2");
n++;
System.out.println(" c2 ="+n);
break;
case 5:
System.out.println("y=5");
}
System.out.println();
}
结果:
default,x没找到
z=2
z=3
default,y没找到
f1 =1
y=1
c1 =2
y=2
c2 =3
后期的jdk对switch进行增强,字符串和枚举类型也能判定。
- if-else
简写格式: 变量 = (条件表达式)?表达式1:表达式2
注:
1.表达式1,2必须要有结果,例如打印语句没有代码。
2.条件表达式不一定是一个短式,还可以以类似以下状态进行。
int a=0,b=1,c=2;
int d;
d = (c<a|b>a)?123:0;
System.out.println(d);
int a=0,b=1,c=2;
int d;
d = (c<a||b>a)?123:0;
System.out.println(d);
- 方法
小技巧
/*boolean型方法返回简写形式*/
public static boolean buer(int a,int b){
//当不返回true 或false用下面这种形式
//return (a==b)?true:false;
//返回返回true 或false用下面这种简写形式即可
return a==b;
}
/*void型方法的返回探究*/
public static void o(int a){
System.out.println(a);
return;//这一句可写可不写
}
重载只和参数列表有关
- 数组
局部变量:定义在方法、方法中的参数、for循环定义的变量
堆中数据均有默认初始化值
类型 | 默认初始化值 |
---|---|
int | 0 |
double | 0.0 |
float | 0.0f |
boolean | false |
堆栈 垃圾回收机制
报错
1.
2.
直接打印数组
学至:视频day04-10
教材学习中的问题和解决过程
- 问题1 :getInstance()
- 问题1解决方案:
在java中,可以使用这种方式使用单例模式创建类的实例,所谓单例模式就是一个类有且只有一个实例,不像object ob=new object();的这种方式去实例化后去使用。
private static Control ControlAdapter = null;
public static Control getInstance(){
if(ControlAdapter == null)
ControlAdapter = new ControlAdapter();
return ControlAdapter;
}
参考: java中getInstance()的用法;百度百科
打开
Java使用RSA加密解密签名及校验可见一个完整程序
代码调试中的问题和解决过程
为了保证笔记的整体性,在看视频学习的过程中遇到的问题解决方案均放入了笔记。
- 问题1:对switch的default的实验
- 问题1解决方案:见笔记-Java视频笔记-语法-switch
- 问题2:if-else简化结构中条件表达式是否只能写一个短式,可否有其他结果?
- 问题2解决方案:见笔记-Java视频笔记-语法-if-else-注
- 问题3:课上代码-如何将字符串转化为整数
- 问题3解决方案:
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);
我用的这一种
sum = sum + Integer.parseInt(args[i]);
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
我的理解是若radix是几则返回几进制数
。
然后我就实验了一下
但是我不明白为何“0x10”会有问题
2). int i = Integer.valueOf(my_str).intValue();
注: 字串转成 Double, Float, Long 的方法大同小异.
如何将整数 int 转换成字串 String ?
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
注: Double, Float, Long 转成字串的方法大同小异.
参考: [Java]如何将字串 String 转换成整数 int
;JavaScript parseInt()函数
代码托管
上周考试错题总结
- 数据库实验测试答案:Intellj IDEA 简易教程 - 数据库数据库
结对及互评
大佬帮我解决了部分连接数据库时的问题。
评分标准
-
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
-
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
-
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
-
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
-
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
点评模板:
-
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
其他(感悟、思考等,可选)
速度比想象中的慢呢,但是有所获得的感觉还是很好的,继续加油吧~
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 16篇 | 400小时 | |
第一周 | 9/9 | 1/1 | 19/19 | 熟练下载安装技能,锻炼解决问题能力 |
第二周 | 185/194 | 1/2 | 16/35 | 下载并熟悉IDEA,练习使用码云、git的技能。 |
第三周 | 488/535 | 1/3 | 18/53 | 花了更少时间磨合软件,学习更顺利 |
第四周 | 366/901 | 2/5 | 18/71 | 继承、多态、行为 |
第五周 | 611/1512 | 1/6 | 14/67 | 异常处理、Collection与Map |
第六周 | 337/1849 | 1/7 | 16/73 | 输入与输出、线程与并行API |
第七周 | 459/2308 | 2/9 | 15/88 | Lambda、时间与日期 |
第八周 | 554/2862 | 1/10 | 16/104 | NIO与NIO2&通用API |
第九周 | 484/3346 | 2/12 | 32/135 | 从头开始 |
第十周 | 261/3607 | 1/13 | 20/155 | 语法 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 | ||||
耗时估计的公式 | ||||
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。 |
-
计划学习时间:25小时
-
实际学习时间20小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)