1运算符
- 1.1算术运算符 (±*/%+±- )
- 注意% :大数对小数取模(得余数 9%2–1 ),小鼠对大数取模(的零 2%9–0)
- 注意++/–:变量可在前可在后
- 单独使用前后无差别,都是自增自减1
- 被使用时,前后有差别(int a = 3;int c = a++;-------输出ac 得a为4 c为3;反之int a = 3;int c = ++a;------输出a ,c 都为4)
- 1.2 关系运算符(> < == >= <= !=)
- 关系运算得结果为boolean类型
- 1.3 逻辑运算符(&& || !)
- (短路与)&& 有假为假 (短路或)|| 有真为真 !相反数 --------->(短路与或只要有一个条件成立既不用判断下一个条件直接输出true或false)
- 逻辑运算是建立在关系运算上的,所以运算结果也只能是boolean类型
- 1.4 赋值运算
- 直接赋值运算
- 扩展赋值运算:即加减乘除放在等号前面(+= -= /= *= %=)
- 常见面试题来区分二者
- 1.5 三目运算(表达式1 ?表达式2:表达式3)
- 例如1>2?1:2(boolean? 数1:数2)
- 判断闰年的条件((year%4==0 && year%100!=0)||(year%400=0))
2 分支结构
- 任何程序得执行都可以分为三种形式:顺序结构,分支结构,循环结构
- 给变量赋值得三种方式:直接赋值,接受控制台输入得变量赋值(Scanner),随机赋值(Radom)
- 1.1 if结构:一条路
- 1.2 if-else结构:两条路
- 1.3 if-else if :多条路结构
- 1.4 switch结构:优点:结构清晰明确 缺点:只能判断相等,整数
- 每个case相对应的break(跳出switch)
- 一般还配有一个安全选项 default(case都没执行的情况下)
3 循环结构
- 3.1 循环(有选择得执行一个语句多次)三要素:1.循环变量初始化 2.循环条件 3.循环变量如何变化
- 3.2 break和if连用,在循环中用于跳出循环(而不是跳出if结构)
- continue:在循环中用于跳出本次循环(即循环中该语句后的所有的句子),执行下一次循环
- 3.3 Math.random()*个数
- 3.4 循环结构类型
- while:先判断后执行
- do-while:至少执行一次,先执行后判断 (1,3要素合并为1)
- while和do-while会存在while判断正确执行的语句在do-while中没有判断–>导致程序多执行或者错执行。
- for:(;;)——>必须要有;
- 3.5 三种结构最佳使用情况
- 不知道循环次数的情况——>while/do-while
- 当…是——>while 直到…时——>do while
- 知道循环次数的情况——>首选for
- 不知道循环次数的情况——>while/do-while
- 3.6 嵌套循环
- 超过三次说明设计有问题
- 适用于多层结构,一般第一层表示为行,第二层表示为列(9*9乘法表为例)