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作为整个表达式的执行结果

(7)、控制语句

  • 选择结构
    - 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值