20145325张梓靖 《Java程序设计》第2周学习总结
20145325张梓靖 《Java程序设计》第2周学习总结
教材学习内容总结
- 整数
short
2字节,int
4字节,long
8字节 - 字节
byte
1字节 - 浮点数
float
4字节,double
8字节 - 字符
char
2字节(包括字母、汉字) - 布尔
boolean
不用在意它的存储空间(只有true/false) - 注释
//
单行注释,/* */
多行注释,/** */
javadoc文档注释 - 变量命名 不以数字、一些特殊字符开头,不与关键词、保留字同名,可定义为
xxxYyyZzz
- 常量定义
final
加在定义类型之前,表示定义的该变量将不能改变其值,如final int a=10;
- 局部变量 在方法中声明的变量,使用前一定要初始化
- 常用格式控制符号 用在
System.out.printf("",)
引号内,%d
十进制整型,%f
十进制浮点型,%c
字符型,%s
字符串型,%b
布尔型,%n
换行 - 常用忽略符号 使用
\
,如“\”表示“\”,“\n”表示换行,“\r”表示光标移至行首 - 不同进制常量表示 10进制表示
int number=12
,16进制(0x)表示int number=0xC
,8进制(0)表示int number=014
,2进制(0b)表示int number=0b1100
。(都是有符号的整数) - 默认类型 出现小数时,默认类型为
double
,要定义float
型,需在小数后加上“F”,如float a=0.3F
;出现整数时,默认时使用不超过int类型长度,如果要用到long型的,则需要在整数后加“L”,如long a=20000000000L
- 类型转换 进行运算时,如果表达式中包括不同类型数值,则以长度最长的类型为主;当操作数都是不大于int的整数,则自动全部提升为int型进行运算,如果非要换钟类型进行计算,则进行强制转换
- 算术运算符 +、-、*、/、%
- 比较、条件运算符 >、>=、<、<=、==、!=,C? A:B (C为条件,成立则为A,不成立则为B)
- 逻辑运算 &&,||,!
- 位运算符 &,|,^,~,<<,>>,>>>
- 递增、递减 i++,i--,++i,--i
- 赋值 =,+=, -=, *=, /=, %=,&=, |=, ^=, <<=, >>= (如“a+=b”,即“a=a+b”)
- 分支 if;if...else;if...else if;switch...case
- 循环 for;while;do...while
- break 可以离开当前switch,for;while;do...while的区块,并执行区块后下一个描述句
- continue 使用于循环,只会略过之后描述句,回到循环区块开头进行下一次循环,并不是离开循环
- 标签 当break back时,返回至back标签处;continue back同样有类似的用法,只不过标签只能设定在for之前
教材学习中的问题和解决过程
- 问题 P69,
count=0b01111111_11111111_11111111_11111111
,为什么count+1
后,结果为count=0b11111111_11111111_11111111_11111111
? - 解决过程 用IDEA编码运行
运行结果
结果确实是count=0b11111111_11111111_11111111_11111111
,可是怎么理解、怎么算呢?
代码调试中的问题和解决过程
- 问题 在求char的Unicode范围的时候,为什么结果并没有显示?
- 解决过程 将由
println
求char的Unicode范围,换成了由print
求
又可以了,但为什么用println
时显示不出结果?是因为对于char的Unicode范围来说,必须使用%h
?
- 问题 对于
int
来说,可以用十进制、十六进制、进制来表示,那么,如果是int number=0xC
,输出为println
时,perintln(number);
,结果是输出的十六进制形式,还是十进制的形式?因为如果在printf
中可以直接规定输出的形式,那么println
呢? - 解决过程 用IDEA编码运行
结果
结果显示为十进制,那么可不可以用println
输出十六进制、八进制呢?
其他(感悟、思考等,可选)
- <<与>> 如
4<<3
,即结果为4*(2的3次方);如4>>3
,即结果为4/(2的3次方) (结果为整数) - >>与>>> ">>",右移后,补充的位同原最高为一致;">>>",右移后,补充的位都补“0”
- ^ 755=5,即ABB=A
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 3500行 | 28篇 | 300小时 | |
第一周 | 150/150 | 1/1 | 20/20 | |
第二周 | 100/250 | 1/2 | 22/42 | |
第三周 | ||||
第四周 |