编程基础III

运算符:

(1)算术运算符:

+,-,*,/,%,++,--

           +:加法,正数,字符串连接符。

(2)赋值运算符:

=,+=,-=,*=,/=...

A:把左右两边的结果赋值给左边,左边是一个变量。

s+=2;

B:隐藏了强制类型转换

short s = 1;

s =  s + 1;

 

short s = 1;

s += 1; //s = (short)(s+1)

(3)比较运算符:

==,!=,>,>=,<,<=

运算结果是boolean类型。

(4)逻辑运算符:

&,|,^,!,&&,||

 

& 逻辑与运算符: 有假则假

左边     右边       结果

true    true       true

true    false      false

false   true        false

false   false      false

 

| 逻辑或运算符:有真则真

左边    右边      结果

true    true       true

true    false       true

false    true       true

false    false       false

 

^ 逻辑异或运算符:相同则假,不同则真

左边    右边     结果

true    true       false

true     false      true

false    true      true

false    false     false

 

! 逻辑非运算符: 使用奇数次 结果变; 使用偶数次, 结果不变

!!(true)

!!!(true)

 

 

& 与 &&(短路与) 的区别:

&: 不管左边的结果是真还是假, 都判断右边

&&:如果左边为false,不执行右边, 结果为false

A && B && C

 

 

| 与 ||(短路或) 的区别:

|: 不管左边的结果是真还是假,都判断右边

||:如果左边为true, 不执行右边, 结果为true

     A || B || C

 

(5)位运算符(开发中基本不用)

 

(6)条件运算符  :(三目运算符)

         格式:(条件表达式)?表达式1:表达式2;

        如果条件为true,运算后的结果是表达式1;

       如果条件为false,运算后的结果是表达式2;

代码体现:

class operatorDemo {

public static void main(String[] args) {

//结果为:200

int num = (200>100)?200:100

                      System.out.println(num);

                   // 结果为:10

num = (200>100) ? ((100>50) ? 10 : 5) : 100;

System.out.println(num);

 

}

}

 

 

 运算符的优先级(从高到低)

优先级

描述

运算符

1

括号

()、[]

2

正负号

+、-

3

自增自减,非

++、--、!

4

乘除,取余

*、/、%

5

加减

+、-

6

移位运算

<<、>>、>>>

7

大小关系

>、>=、<、<=

8

相等关系

==、!=

9

按位与

&

10

按位异或

^

11

按位或

|

12

逻辑与

&&

13

逻辑或

||

14

条件运算

?:

15

赋值运算

=、+=、-=、*=、/=、%=

16

位赋值运算

&=、|=、<<=、>>=、>>>=

 

注意:如果在程序中,要改变运算顺序,可以使用()。

 

程序流程控制:

(1)判断结构:

 if结构:

a:第一种结构:

      if(条件表达式){

语句体;

        }

 

    执行流程:

如果条件表达式为true,执行语句体;否则,不执行。

b:第二种结构

     if(条件表达式){

语句体1;

     }else {

语句体2;

   }

 

执行流程:

      如果条件表达式为true,执行语句体1;

      否则,执行语句体2;

c:第三种结构:

      if(条件表达式1){

语句体1;

     }else if(条件表达式2){

语句体2;

   }else if(条件表达式3){

语句体3;

   }

...

  else {

语句n;

 }

 

执行流程:

从第一个条件表达式开始判断,遇到true,就执行对应的语句体。如果都没有,最终执行语句n。

注意事项:

A:任何if语句,本身代表的是一条语句。

B:if语句控制的语句体,可以不写{}。

    但是,如果if语句要控制多条语句,必须加{}。

 

C:条件表达式无论简单还是复杂,结果肯定是boolean类型。

D:注意,下面两个东西,一般不同时使用

;和{}

代码体现:

 

class IfDemo{

public static void main(String[] args) {

int age = 18;

 

if (age < 18) {

System.out.println("对不起,你未满18,不能报名");

} else if (age == 18) {

System.out.println("恭喜你,18岁了,可以报名啦");

} else {

System.out.println("哥们,你报名吧!");

}

 

 

}

}

 

switch结构:

格式:

switch(表达式) {

case 值1:

语句1;

break;

case 值2:

语句2;

break;

case 值3:

语句3;

break;

...

default:

语句n;

break;

}

 

执行流程:

首先计算表达式的值。

接着依次和case进行比较,遇到想等,就执行对应的语句,并结束。

如果没有匹配的,执行default。

 

注意事项:

 a:表达式的取值一般来说是这几个:byte,short,int,char

       JDK5以后可以是枚举  

       JDK7以后可以是字符串

b:case和default有没有顺序?

       有:执行顺序关系。

       没有:位置关系。

c:break是否可以不要

      最后一个匹配的break可以直接不要。

d:switch语句的结束:

    遇到break。

    执行到最后。

代码体现:

/*

一年12月,4个季度

3\4\5   春季

6\7\8   夏季

9\10\11 秋季

12\1\2  冬季

 

根据指定的月份,得到对应的季节

*/

class SwitchTest {

public static void main(String[] args) {

 

 

month = 9;

switch (month) {

case 1:

case 2:

case 12:

System.out.println("冬季");

break;

case 3:

case 4:

case 5:

System.out.println("春季");

break;

case 6:

case 7:

case 8:

System.out.println("夏季");

break;

case 9:

case 10:

case 11:

System.out.println("秋季");

break;

default:

System.out.println("不是有效月份");

 

}

 

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值