黑马程序员——java基础:运算符

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

 

1:运算符(掌握)
 (1)算数运算符
  +,-,*,/,%,++,--
  +:
    1、数学上的加法(减法,乘法相同)
    2、指定正数(减法相同)
    3、连接字符串
  /:
    两个整数相除,取整数
  %:
    两个数相除,取余数
    符号与被除数相同
  ++,--:
    单独使用时:直接自增,自减
    混合使用时(++,--规则相同):
   ++在前:先加1,再使用
   ++在后:先使用,后加1
 (2)赋值运算符
  =,+=,-=,*=,/=,%=
  对于类似+=这样的赋值,是将等号左边的数与等号右边的数计算,再赋值给等号左边

  还包含一个隐形的强制转换即:
  byte b = 10;
  b += 10;//不会,相当于b = (byte)(b+10)
  除等:除数不能为0
     
 (3)关系运算符
  ==,!=,>,>=,<,<=

  特点:关系运算符的结果都是boolean类型。
        请千万注意:== 不要写成 =
 (4)逻辑运算符
  &,|,!,^,&&,||
  
  &:有false则false
  |:有true则true
  !:true变false,false变true
  ^:相同false,不同true

  &&:有false则false
  ||:有true则true

  &&和&的区别是:如果左边有false了,右边将不再执行。
  ||和|的区别是:如果左边有true了,右边将不再执行。

  开发中常用:
   &&,||,!
 (3)位运算符(了解)
  ^ : 一个数据对同一个数据^两次,结果还是数据本身。
  举例:a ^ b ^ b = a
 (4)三元运算符
  格式:
   条件表达式?表达式1:表达式2

   执行流程:
    根据条件表达式返回的是true还是false,决定结果是什么。
    如果是true,就把表达式1作为结果。
    如果是false,就把表达式2作为结果。
  举例:
   int a = 100;
   int b = a > 50 ? 200 : 100;

   请问b的值?200

2:面试题(理解)
 (1)请用最有效率的代码写出2乘以8
  2<<3
 (2)请交换两个变量。
  int a = 10;
  int b = 20;

  开发:临时变量
   int temp = a;
   a = b;
   b = temp;

  面试:位^运算符
   a = a ^ b;
   b = a ^ b;
   a = a ^ b;

3:if语句(掌握)
 (1)用于做判断使用的。
    常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。
 (2)格式:
  A:第一种格式
   if(条件表达式)
   {
    语句体;
   
   }
   

   执行流程:
    如果条件表达式为true,就执行语句体;
    否则,什么都不执行。

  B:第二种格式
   if(条件表达式)
   {
    语句体1;
   }
   else
   {
    语句体2;
   }


   执行流程:
    如果条件表达式为true,就执行语句体1;
    否则,就执行语句体2;

   特殊:
    可以和条件表达式(三元运算符)在某些情况下进行替换。
    一般是在赋值的情况下可以。

   举例:
    获取两个数中的最大值。
  
  C:第三种格式
   if(条件表达式1)
   {
    语句体1;
   }
   else if(条件表达式2)
   {
    语句体2;
   }
   ...
   else
   {
    语句体n;
   } 

   执行流程:
    如果条件表达式1为true,就执行语句体1;
    如果条件表达式2为true,就执行语句体2;
    ...
    否则,就执行语句体n;
  
  D:注意事项
   a:什么时候时候哪一种if语句。
    第一种格式在判断条件为一种情况下使用。
    第二种格式在判断条件为两种情况下使用。
    第三种格式在判断条件为多种情况下使用。
   b:每一种if语句其实都是一个整体,如果有地方执行了,
     其他的就不执行了。
   c:如果if或者else里面控制的语句体是一条语句,是可以省略大括号的,
     但是,如果是控制多条语句,就必须写上大括号。
     建议:永远写上大括号。
   d:大括号和分号一般不同时出现。
  
  E:作用域
   所有变量的定义只在它所属的大括号内有效。
  暂留
 (3)案例:
  A:根据键盘录入的成绩,判断等级。
  B:根据键盘录入的月份,输出该月份所对应的季节。

4:switch语句(掌握)
 (1)用于做选择使用的。一般用于几个常量的判断。
  switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。
  所以,针对几个常量的判断,一般选择switch语句。
 (2)switch语句的格式:
  switch(表达式)//byte,short,int,char,String
  {
   case 值1:
    语句体1;
    break;
   case 值2:
    语句体2;
    break;
   case 值3:
    语句体3;
    break;
   ...
   default:
    语句体n;
    break; 
  }

  A:针对格式的解释
   switch:表示这里使用的是switch语句,后面跟的是选项。
    表达式:byte,short,int,char
            JDK5以后可以是枚举(就业班讲)
     JDK7以后可以是字符串(后面讲)
   case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。
        case后面的值是不能够重复的。
   break:
    switch语句执行到这里,就结束了。
   default:
    当所有的case和表达式都不匹配的时候,就走default的内容。
    它相当于if语句的else。一般不建议省略。
  B:执行流程
   进入switch语句后,就会根据表达式的值去找对应的case值。
   如果最终没有找到,那么,就执行default的内容。
  
  C:注意事项:
   a:default整体可以省略吗?
    可以,但是不建议。
   b:default的位置可以放到前面吗?
    可以,但是不建议。
   c:break可以省略吗?
    可以,但是不建议。
    default在最后,break是可以省略的。
    case后面的break可以省略,但是结果可能有问题。
   d:switch语句什么时候结束呢?
    就是遇到break或者执行到程序的末尾。
 (3)案例:
  A:根据键盘录入的日期(1-7),输出对应的星期日期。
  B:根据键盘录入的月份,输出该月份所对应的季节。(选做)
5:Scanner的使用(掌握)
 (1)Scanner是JDK5以后设计的用来接收键盘录入数据使用的。
 (2)目前我们要通过键盘录入int类型数据,必须按照如下步骤:
  A:导包
   import java.util.Scanner;
  B:创建对象,封装键盘录入
   Scanner $$$$ = new Scanner(System.in);
  C:调用方法,获取数据
   int number = $$$$.nextInt();
6:
 for(变量初始化;循环判断条件;循环变量变化){
  执行循环体
 }
 for(1;2;4){
     3
 }
 1可以省略,需要放在循环前
 2不可以省略,省略会出现死循环
 3省略没有意义,不可以省略
 4可以省略,放在循环体最后

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值