A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第3讲 运算
一 单与和双与的区别(单与一定要参与两边运算): 短路与 前假结果真返假。 短路或 前真结果真返真。  即具有短路性质 (&&  ||)
二 关于位运算:
        1与运算(和与不同,与运算是位运算不是逻辑运算) 与运算即逻辑乘运算。 或运算逻辑加运算   与运算可以用于截取一段数。
  2异或运算 (同假异真)6^3=5 5^3=6 两次异或同一个数还是原数(可以穷举四个可能性得到证明1^0^0 1^1^1  0^0^0 0^1^1)
   应用:密钥
  3反码: 正数原反补三码相同 ,负数补码符号位不变其他取反  反码是补码加1  原码+补码=0 (负数是以补码存在)
  4取反 相反数-1 (无论正负数都是这个) ~6
        5向左运算 右移运算(补位和原数最高位一致) <<n  >>n 其实就是乘以或除以2的n次方 无符号右移>>>n 同右移只是最高位总补0
  6 关于两个变量值互换。 int a=3,b=5;  
            (1) int temp;     temp=a;      a=b;    b=temp;  (开发用)
            (2)不需要第三方变量: m=m^n  n=m^n  m=m^n(即m=n^m的变形)  (阅读性差,开发不用,面试用)
                        a=a+b;  b=a-b; a=a-b ;  =>  b=(a+b)-b   a=(a+b)-a   (这种方式有可能造成超出int范围造成强制转化)

三 三元运算 (x>y)?x:y;  是if...else...有结果下的简化形式


第4讲 结构

一 if  [多用于布尔型]
  if 三格式 没花括号默认只在下一行有效   
if (a) 
执行语句; 

if (条件表达式)
else {  规范(左大括号不换行写而写在右边目的是为了一行显示更多代码行,代码少可以左大括号单独一行)
b
};
if(a); else if(b); else{c};

局部代码块 /普通代码块 {}内的代码

二  switch [多用于数值型]
switch (表达式){  //表达式是int,short,byte,char,String,
              default:
                   语句;
                  
            case a:
                    语句;
                     break;
            case b:
                   语句;
                    break;
         
   }
switch先读case 再读defalut 一旦匹配到一个把switch内所有接下来的(包括不匹配的case)语句读完直到break语句或大括号,如上如果表达式是c 就是依次执行c ,a

三 循环
 1 while(){   //语句不一定执行

           }
    2   do {            //至少执行一次

          }while()
 3  for(初始化表达式1;循环条件式;循环后操作表达式2;) {
                                        //执行顺序 初始化表达式,然后反复按“条件-循环体-循环操作表达式”表达
                                        //一个表达式中有多少表达式可以用逗号隔开,循环条件式必须是boolean型
        }
    4 for和while的区别:for用于明确循环次数的,并且for结束释放内存省内存 ,而while的变量还可继续使用

    5循环三要素:初始,循环次数,循环条件;
    6死循环 while(true){ };      for(;;){ } ;
    7外循环控制行数,内循环控制列数   上尖条件变,下尖初始变
    8break 只有在循环和switch中 
        continue跳过本次循环并继续下次循环   
        return 跳出方法或跳出并返回值  (三个关键词下方不能出现一定执行不到的语句)
    9for循环多的情况,前面用变量名加分号q: for(){}来命名,方面break跳出指定层的循环

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马