20155208徐子涵 2016-2017-2 《Java程序设计》第2周学习总结

教材学习内容总结

第三章 基础语法

3.1 类型、变量与运算符

• 关键字:在定义java文件名的时候要避免这些关键字的出现,因为他们在java程序语言中有特定的意义。

用于定义访问权限修饰符的关键字:private、protected 、public

用于定义类,函数,变量修饰符的关键字:abstract、 final、 static、 synchronized

用于定义类与类之间关系的关键字:extends、 implements

用于定义建立实例及引用实例,判断实例的关键字:new、 this、 super、 instanceof

用于异常处理的关键字:try 、catch、 finally、 throw 、throws

用于包的关键字:package、 import

其他修饰符关键字:native 、strictfp 、transient、 volatile、 assert

• 标示符:需注意数字不可以开头、不可以使用关键字。(在起文件名的时候最好采用正规格式:首字母大写其余小写,便于辨认) •类类型

•变量 :数据暂存位置在程序语言中称为变量,变量在命名时不可使用数字作为开头,也不能使用一些特殊字符,而变量名称不可与Java关键词同名,也不可与Java保留字同名。

•运算符

•算术运算 :+、-、*、/、%

• 关系运算:>、>=、<、<=、==、!=(注意不要对浮点数进行相等性运算)

• 条件运算符: 条件表达式 ? 成立时返回值:失败时返回值

• 逻辑运算:与(&&)、或(||)、非(!)(运算结果是boolean值:true或false)

• 位运算 :运算结果为位串(位向量),常用于掩码(Mask)运算

• 与(&):全1为1,有0则0

• 或(|):全0为0,有1则1

• 非(~):书上说是补码,按我们的习惯应该是反码

• 异或(^):相同为0,不同为1

• 左移(<<):最右补0

• 算术右移(>>):右移后,正数最高位补0,负数最高位补1

• 逻辑右移(>>>):右移后,最高位总是补0 • 递增、递减:i++、i--、++i、--i

• 赋值:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=

注意:x=y是指将y的值赋给x,而x==y是比较x与y是否相等。

• 类型转换

• 短->长(widening)是安全的,长->短(narrowing)必须强制转换

• 类型转换 •短->长(widening)是安全的,长->短(narrowing)必须强制转换

3.2流程控制

•if...else条件式:如果条件式不成立并不想做任何事,则else可以省略 •if...else if •switch条件式:每个case语句后面都要加上“brak;”,最后面可加“default”,但若没有默认要处理的动作,可以省略"default" 若case中没有任何描述,也没有使用break,就继续往下面的语句执行,直到遇到break离开switch为止 •foe循环:for(初始式;执行结果必须是boolean的重复式;重复式) 在一个描述区块中若想写两个以上的描述句,则使用逗号“,”作分隔 •while循环:循环进行前就进行条件判断 •do...while循环:先执行动作,再判断是否需要重复

•顺序

•分支:if、if...else、if...else if、switch...case(如果判断的具体数值不多,且符合byte、short、int、char这四种类型,建议使用switch语句;如果是区间判断,或对结果为布尔类型判断,则应使用if语句)

•循环:for、while、do...while

教材学习中的问题和解决过程

问题:书上p63位运算中示例程序:

byte number = 0;

System.out.println(~number);

显示结果为-1

解决过程:

~表示补码运算,补码运算是将所有位0变1,1变0,byte占内存1字节,number储存 的0在内存中是位00000000,经补码运算就变成11111111,这个数在计算机中用整数表示则为-1。

代码调试中的问题和解决过程

由于开始不太熟悉java程序的编写,代码都是按照书上的代码进行练习的,没有出现大的问题,在编译运行的时候只出现了一些细节性的小问题,类似于名称打错、括号只打了一个、一些标点用的是中文表标点的小错误,以后练习的时候一定多注意这些细节。

其他(感悟、思考等,可选)

这周的学习我已经开始接触if、switch等语句,开始试着按照书上的程序编写程序了,感觉又接触了一些新的东西,感觉收获颇丰。相信我以后还会继续努力的。

学习进度条

 代码行数(新增/积累)博客量(新增/积累学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 16/16 1/1 8/8
第二周 120/120 2/2 12/12

代码托管截图

参考资料