20155325 2016-2017-2 《Java程序设计》第十周学习总结

时间:2024-10-05 15:34:08

教材学习内容总结

Java视频笔记

  • 强制转换

20155325 2016-2017-2 《Java程序设计》第十周学习总结

  • 运算符

    20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

获取特定位数的值

  • 循环

    20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

  • switch(不能判断布尔型)

    20155325 2016-2017-2 《Java程序设计》第十周学习总结
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);

20155325 2016-2017-2 《Java程序设计》第十周学习总结

  • 方法

    20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

小技巧

/*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;//这一句可写可不写
}

20155325 2016-2017-2 《Java程序设计》第十周学习总结

重载只和参数列表有关

20155325 2016-2017-2 《Java程序设计》第十周学习总结

  • 数组

    20155325 2016-2017-2 《Java程序设计》第十周学习总结

局部变量:定义在方法、方法中的参数、for循环定义的变量

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

堆中数据均有默认初始化值

类型 默认初始化值
int 0
double 0.0
float 0.0f
boolean false

堆栈 垃圾回收机制

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

报错

1.20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

2.20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

直接打印数组

20155325 2016-2017-2 《Java程序设计》第十周学习总结

学至:视频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是几则返回几进制数

然后我就实验了一下

20155325 2016-2017-2 《Java程序设计》第十周学习总结

但是我不明白为何“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()函数

代码托管

20155325 2016-2017-2 《Java程序设计》第十周学习总结

上周考试错题总结

结对及互评

5328

20155325 2016-2017-2 《Java程序设计》第十周学习总结

20155325 2016-2017-2 《Java程序设计》第十周学习总结

大佬帮我解决了部分连接数据库时的问题。

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)

    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)

    • 一周提交次数少于20次的不加分
  6. 其他加分:

    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
  7. 扣分:

    • 有抄袭的扣至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小时

  • 改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表
)

参考资料