Java学习笔记09---语法结构之if语句

Java学习笔记09---语法结构之if语句

知识回顾 Java运算符 按照操作数的数目 单目 双目 三目 按照运算符的功能
算术运算
+ - * / % ++ –
赋值运算
= += -= *= /= %=
关系运算
> >= < <= != ==
逻辑运算
& | ^ ! && ||
位运算
& | ^ ~ << >> >>>

运算符号的优先级别

==============================================

笔试题

0.考察++ - - += ==类似的这种符号

  1. &和&&的区别
    &可以视为逻辑运算 可以视为位运算 &&只能当作逻辑运算来用
    如果两个符号都当作逻辑运算符来使用时候 如下区别
    & 前后两个条件都是true 最终结果就是true
    && 短路与 正常情况下&执行结果是一致
    当前面条件为false的时候 发生短路 最终结果false
    2.最有效率的方式计算2*8的结果
    00000010 2<<3 相当于2乘以2的3次幂
    ×00001000 00000010
    --------------------- 0001000016
    00000000 乘数刚好是2的次幂
    00000000 5<<1
    00000000
    00000010
    00000010000
    16
    3.两个变量int a = 1; int b = 2;如何将两个变量的值进行呼唤
    int a = 1;
    int b = 2;
    方式一 采用一个中间变量空间
    int c = a;
    a = b;
    b = c;
    好处是比较容易理解 值也不会出问题 不好在于产生一个新的内存空间
    方式二
    a = a+b;//a空间存储的是两个元素之和 a3 b没有变化 b2
    b = a-b;//利用两个元素的和减原来的b剩下是原来的a 赋值给b b1 a3
    a = a-b;//利用a空间两个元素的和 减 原来的a 剩下是原来的b 赋值给a a2 b1
    好处是省略了一个新的空间 不好在于 第一个 相对来讲不是很容易理解 第二个 可能会在+产生值越界
    方式三
    a = a^b;// 1^2==>001
    010
    0113^2
    010
    001
    >1
    122==>1 一个数字异或同一个数字两次 值不会改变
    a异或中间值 b2
    b = a^b; a异或中间值 b1
    a = a^b; a2 b1
    ==================================================================
    运算符号 变量常量 空间转换 数据类型
    可以跟计算机简单的对话

Java语法结构(流程控制)
顺序结构
分支结构
单分支if 多分支switch
循环结构
for while do…while

需求?
设计一个小程序   帮我学习英文(星期七个单词)
用户输入的1-->   monday
lib提供好的类库   Scanner引用   开发者给我们提供好的一个类文件 Scanner.java
	   int        x  = 1;
	想要利用Scanner需要如下三步
	1.在类上面的第一行 import   java.util.Scanner;
	2.需要输入之前Scanner  y  = new  Scanner(System.in);//对象
	3.通过y.让他来做事   int = nextInt();  String = nextLine(); 都可以读取输入的信息

if(值--boolean)
        {单行语句;}/{多行语句}

if(值){
	执行 单行 多行
}

if(条件){
	代码1
}else{
	代码2
}


如果明天下雨  在学校   否则就出去玩            嵌套
if(明天下雨){
    在学校
}else if(坐过山车){
                游乐场
            }else if(看电影){
                万达影城
            }else{

            }

1.可读性
	起名字 规范
	代码缩进
	多添加注释
2.健壮性
	程序严谨

小任务
	1.利用if语句实现一个 判断给定月份对应的季节
		month==5     345春天 678夏天 9 10 11秋天 12 1 2冬天
	2.利用if语句实现一个 判断学生成绩对应的区间
		不及格  60-70及格  70-80中  80-90良 90-100优秀 100满分 数据有误
	3.扩展
	   利用if实现一个随机摇骰子的小游戏
	   随机摇一个骰子点数  1-6  123  456
	   玩家利用Scanner输入 猜大小 
	   利用if比较   猜对啦  猜错啦      Math.random();
发布了70 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CSDNWuZhiChun/article/details/104705029