java基础语法(三)--运算符、控制语句

运算符
(1)、算术运算符
注:一个表达式当中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。没有必要去专门记忆运算符的优先级。
++(自加1)单目运算符
++出现在变量后 规则:先做赋值运算,再对变量中保存的值进行自加1
int a = 100;
int b = a ++;
Systen.out.println(a);//101
System.out.println(b);//100

++出现在变量前 规则:先进行自加1运算,然后再进行赋值操作
int m = 20;
int n = ++ m;
Systen.out.println(m);//21
System.out.println(n);//21

int e = 100;
System.out.println( e ++); //100
Sysyem.out.println(e); //101

int s = 100;
System.out.println( s ++); //101
Sysyem.out.println(s); //101

(2)、 关系运算符:
运算结果一定是布尔类型:true/false
运算原理:
int a = 10;
int b = 10;
a>b 比较的时候,比较的是a中保存的值和b中保存的10这个值之间的大小比较

(3)、 逻辑运算符
& 逻辑与 两边的算子都是true,结果才是true
| 逻辑或 两边的算子只要有一个是true,结果就是true
! 逻辑非 取反,!false就是true,!true就是false,这是一个单目运算符
^ 逻辑异或 两边的算子只要不一样,结果就是true

&& 短路与
|| 短路或
3.1、逻辑运算符要求两边的算子都是布尔运算符,并且逻辑运算符最终的运算结果也是一个布尔类型
3.2、短路与和逻辑与最终的运算结果是相同的,只不过短路与存在短路现象
3.3、短路或和逻辑或最终的运算结果是相同的,只不过短路或存在短路现象
3.4、什么情况发生短路现象?
3.5、什么时候选择使用逻辑与运算符,什么时候选择使用短路与运算符?
//逻辑与
int x = 10;
int y = 8;
System.out.println( x < y & ++x );
System.out.println(x);//11

//短路与
//x<y结果是false,整个表达式结果已经确定是false,所以后面的表达式没有再执行,这种现象被称为短路现象。
//短路与才会有短路现象,逻辑与是不会存在短路现象的。
int x = 10;
int y = 8;
System.out.println( x < y && ++x );
System.out.println(x);//10
从某个角度来看,短路与更智能。由于后面的表达式可能不执行,所以执行效率较高。这种方式在实际的开发中使用较多。
短路与使用更多,等常用。但是,在某些特殊的业务逻辑当中,要求运算符两边的算子必须全部执行,此时必须使用逻辑与。
什么情况下发生短路或? *第一个表达式执行结果是true,会发生短路或。
什么情况下发生短路与? *第一个表达式执行结果是false,会发生短路与。

(4)、 赋值类运算符
赋值运算符包括两种:
*基本的赋值运算符 =
*扩展的赋值运算符 +=(“追加/累加”) -+ *= /= %=
赋值类的运算符优先级:限制性等号右边的表达式,将执行结果赋值给左边的变量
byte x = 10;
x += 5;//等同于:x = (byte)(x + 5 ),其实并不等同于 x = x + 5
扩展类的赋值运算符不改变运算结果类型。

(5)、 字符串连接运算符
关于java中的“+”运算符:
5.1、+运算符在java语言中有两个作用:
*加法运算,求和
*字符串的连接运算
5.2、当“+”运算符两边的数据都是数字的话,一定是进行加法运算
5.3、当“+”运算符两边的数据只要有一个数据是字符串,一定会进行字符串连接运算。并且,连接运算之后的结果还是一个字符串类型。
5.4、在一个表达式当中可以出现多个“+”,在没有添加小括号的前提下,遵循自左向右的顺序依次运算

(6)、三元运算符(三目运算符/条件运算符)
6.1、语法规则:布尔表达式 ? 表达式1 : 表达式2
6.2、执行原理:当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果
当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果

控制语句

  • 选择结构
    - if,if…else
    - switch
    关于java语言当中的if语句,属于选择结果,if语句又被称为分支语句/条件控制语句。
    对于java中的if语句,只要有一个分支执行,整个if语句全部结束
    if (布尔表达式){
    java语句;
    java语句;

    }else if(布尔表达式) {
    java语句;
    java语句;

    }else if(布尔表达式) {
    java语句;
    java语句;

    }…

    if (布尔表达式){
    java语句;
    java语句;

    }else if(布尔表达式) {
    java语句;
    java语句;

    }else if(布尔表达式) {
    java语句;
    java语句;

    }else (布尔表达式) {
    java语句;
    java语句;

    }

    接收用户键盘输入
    java.util.Scanner s=new java.util.Scanner(System.in);
    System.out.println(“请输入:”);
    int a = s.nextInt();
    System.out.println(“a的值是:”+a);

    关于switch语句:
    语法结构:
    switch(int或String类型的字面值或变量){
    case int或String类型的字面值或变量 :
    java语句;
    java语句;
    java语句;

    break;
    case int或String类型的字面值或变量 :
    java语句;
    java语句;
    java语句;

    break;
    case int或String类型的字面值或变量 :
    java语句;
    java语句;
    java语句;

    break;

    default:
    java语句;

    }

    • 循环结构

      • for
      • while
      • do…while()
    • 控制循环的语句

      • break
      • continue
发布了6 篇原创文章 · 获赞 0 · 访问量 62

猜你喜欢

转载自blog.csdn.net/Apikaqiu/article/details/104209058
今日推荐