运算符重难点
1.运算符
1.1算术运算符
1. 小括号里面的内容对于小括号外部而言是一个小整体,是一个【常量】。
2. 变量有定义且只能是被赋值之后才可以修改内容,未赋值不能修改。
3. 取余操作针对整数,小数没有取余操作。
1.2偷懒专用运算符
+= -= /= *= %=
num1 = num1 + num2; ==> num1 += num2;
变量1 += 变量2; ==> 变量1 = 变量1 + 变量2;
1.3【自增自减运算符考点】
1. 自增自减运算符,有且只能操作【变量】,不可以操作常量。
2. 开发中尽量减少或者【标准化】(就是只进行的那个的操作如 num++,++num)使用自增自减运算符。
int num = 10;
【++num; num++;】 无区别,没有歧义
3. ++ 自增运算符 操作的变量自增1 等价于 += 1
-- 自减运算符 操作的变量自减1 等价于 -= 1
*【常见面试题1】(场外援助)
int num1 = 5;
int ret = num++ * ++num;
ret = ?
num = ?
【解题思路】
1. 请问num值经历了几次自增操作? 【两次】 num最后结果为7
2. ret的结果从何而来
【num++】
++在后,提供的数据是5,num++在运算表达式中【提供的数据是5】
这里的运算操作是一个乘以的操作,num++需要执行完毕 【num++ ==> 6】
【*】
乘以
【++num】
++在前,提供的数据是【6 + 1 ==> 7】
最终的表达式结果:
5 * 7 = 35 ==> ret;
【总结】
1. 判断 num++自增自减了几次,最终的num数值是多少。
2. 依次从左到右确认每个自增自减变量【提供的数据】和【执行完毕之后的值】
3. 再根据其自增自减出现的位置来确定,使用哪个数值并做什么样的计算。
1.4逻辑运算符
1. && 优先级高于 ||
2. 逻辑运算符运算的结果都是bloolean类型数据。
通常用于条件判断,数据过滤
【总结】
&&
【重点】同真为真,有假【即】假
逻辑【与】中发现【假】停止执行
||
【重点】有真【即】真,同假为假
逻辑【或】中发现【真】停止执行
只要有错后面的就不看了,是为了效率吗
计算机的节约性能问题!!! √
1.5运算符练习题
1. 在使用字符常量时,请使用字符本身,不要使用数字。
2. 大小写字母之间是不连续的。
【闰年问题】
/*
闰年问题:
世纪年份指的是能被100整除的年份
1.【世纪年份】能被400整除
2.【非世纪年份】能被4整除,但是不能被100整除
*/
int year;
// 能被4整除
year % 4 == 0;
// 不能被100整除
year % 100 != 0;
year % 100 == 0;
// 能被400整除
year % 400 == 0;
// 以上三个条件如何组合?
(year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
//加上小括号是一个整体,增强阅读性
【总结】
闰年问题:(抓住这两个元素)
世纪年份指的是能被100整除的年份
1.【世纪年份】能被400整除
2.【非世纪年份】能被4整除,但是不能被100整除
2.心得
1. 上课的效率有点低,主要在于理解力方面和手速低的问题,多加注意,【以理解为主,笔记为辅】。
2. 需要合理的安排时间,集中注意力,高效快速的完成任务。体现在上课听讲的注意力,作业时间和娱乐,杂事时间的清晰 的划分与严格的执行。
3. 和老师的交流太少,上课对于问题的反应速度慢,不反馈,课下对于模糊的问题的处理,要多问老师,找到明确答案。
4. 打字速度太慢需要勤练习。
5. 今天的三次代码没有敲完,明天补齐。