目标黑马,我的自学之路:第二章 运算符和程序流程控制

一、运算符

      1、算数运算符

       无非是我们学习的加减乘除,但在java中多了几个特有的算数运算符:自加 ++,自减  --,取模  %以及用来连接字符串的+;接下来用一段代码详细说明各种情况。

                int x=4270;
		x=x/1000*1000;
		System.out.println(x);//int为整数型,所以x/1000为4
		System.out.println('a'+1);//这是加法运算
		System.out.println("haha"+"hahah");//字符串数据与任何数据使用+相连接,最后都会变成字符串数据
		System.out.println("ha="+5+5);//输出结果为ha=55,理由同上
		System.out.println(5%5);//取余数
		System.out.println(-1%5);//取模正负看前面被取模值的正负
                int a=3,b,c;
                b=a++;//a++=a+1,自加后先把a值赋给b,在把a++值赋给a
                c=++a;//++a=a+1,自加前先把a+1的值赋给a,在把a值赋给c

      2、赋值和比较运算符

        赋值运算符除了我们平时用的“=”之外,java为我们提供了“+=”、“-=”,“/=”,“*=”,“%=”,在学习基本数据类型时,我们知道计算机默认的整数类型为int,如果我们定义一个其他类型的整数型,在对其进行运算赋值时,我们需要对其进行强转,而这些特殊的赋值运算符的出现简化了我们的书写,自动完成转换动作并赋值。

       比较运算符为“==”,“!=”,返回值是boolean型的。

       3、逻辑运算符
        逻辑运算符用于连接boolean型的表达式,分别有"&","|","^",“!”,"&&","||",“&”,"|",“!”的应用结果和我们学物理电路时是一样的,这里重点说的是“^”,"&&","||"。

       “^”和“|”相似,但当连接的boolean表达式的结果都是true是运算结果是false,而“&&”“||”一定程度上是对代码的优化,在用其连接的表达式中,当判断到false时,对于“&&”连接的表达式不会在继续判断,直接返回false,相对应的当判断到true时,用“||”连接的表达式也会停止继续判断,返回true。

      4、位运算符

       位运算符包括"<<",">>",“&”,“|”,“^”,">>>",“~”。

      "<<"的结果是乘以2的移动位数次幂,“>>”的结果是除以2的移动位数次幂,在右移之后最高二进制位是什么就补什么,而“>>>”是无符号位移,既不管最高位是什么都补0;“&”,“|”,“^”的运算则是转换成二进制进行取值,令“^”能完成对数据的加密。

5、三元运算符

      三元运算符的格式为:(条件表达式)?表达式1:表达式2;它其实是if else语句的简写,简写必有局限性,它的局限性在于必须要有返回结果。

二、程序流程控制

      1、判断结构

       通过if语句来实现,有三种格式分别为 :(1) if(条件表达式){执行语句;}(2)if(条件表达式){执行语句;}else(条件表达式){执行语句;}

                                                                (3)if(条件表达式){执行语句;}elst if(条件表达式){执行语句;}……else(条件表达式){执行语句;}   

        当需要对同一个变量进行多次判断时,用(1)和(3)都可以完成,但是当我们选择用(1)的时候即使判断到满足的条件,jvm还是会继续执行后面的判断,而(3)的方 法中判断到满足条件时就会停止判断,这是两种方法的区别。              

       2、选择结构

        结构形式为:switch(表达式){case:取值1     执行语句;    case:取值2    执行语句;   ……  default   执行语句;   break;}   

        注意:case与default之间没有顺序,当default没有写在最后而case中也没有break时,因为程序没有执行到break或者},会继续执行没有执行语句直到执行到break或者}为止。

    3、循环结构

    语句结构有三种:(1)while(条件表达式){执行语句;}(2)do{执行语句;}while(条件表达式)

                    (3)for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}

    (1)是先判断条件在执行语句,(2)是先执行一次循环体,在判断条件。

     无限循环的最简单表现形式: (1)for(;;;){}         (2) while(true){}

     无限循环存在的意义在于不知道具体循环多少次,在循环内定义条件控制循环。 

    4、语句的选择

   (1)if和switch:如果判断的数值不多且数值类型为byte,short,int,char中的一种,则选择switch,它的效率稍高 ,如果是判断区间,或者是对boolean类型的断断,  则使用if语句。

     (2)for和while:对于变量,初始化表达式中的变量只作为循环增量存在,控制循环次数,则选择for,控制内存 。

       5、其他流程控制语句

      break和continue都有应用范围,离开了应用范围没有意义,且在这两个语句下面不可以写语句,因为执行不到。break作用于选择结构和循环结构,用于结束语句,continue作用于循环结构,用于结束本次循环开始下一次循环。

                                                 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值