黑马程序员JAVA教程--运算符

运算符

  • 算数运算符
    • 运算符和表达式
    • 算术运算符
    • 字符的“+”操作
    • 字符串的“+”操作
  • 赋值运算符
  • 自增自减运算符
  • 关系运算符
  • 逻辑运算符
    • 逻辑运算符
    • 短路逻辑运算符
  • 三元运算符

算数运算符

运算符和表达式

  • 运算符:对常量或者变量进行操作的符号
  • 表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式
    int a=10; int b=20; int c=a+b;
    +:是运算符,并且是算术运算符
    a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

算术运算符

黑马程序员JAVA教程--运算符_第1张图片

字符的“+”操作

  • 拿字符在计算机底层对应的数值来进行计算的
    在这里插入图片描述

  • 算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升
    提升规则:
    在这里插入图片描述

字符串的“+”操作

  • 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算

  • 在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。


	System.out.println("it"+"heima");  // itheima
		System.out.println("itheima"+666); // itheima666
		System.out.println(666+"itheima"); //666itheima
		System.out.println("黑马"+6+66); //黑马666
		System.out.println(1+99+"年黑马"); //100年黑马

赋值运算符

  • 黑马程序员JAVA教程--运算符_第2张图片
  • 注意:扩展的赋值运算符隐含了强制类型转换
int i=10;
i+=20;  //30

short s=10;
//s=s+20 出错,因为s+20自动转换为int类型,而s对应的是short类型
s=(short)(s+20); //30
s+=20; //30

自增自减运算符

  • List item
int i=10;
  • 单独使用时
    i++;
    ++i;
    最终结果是一样的,都是+1

  • 参与操作使用
    int j=i++;
    i=10,j=10;

    int j=++i;
    i=11,j=11

  • 注意事项
    黑马程序员JAVA教程--运算符_第3张图片

  • 最常见的用法:单独使用

关系运算符

黑马程序员JAVA教程--运算符_第4张图片

  • 注意事项
    关系运算符的结果都是boolean类型,要么是true,要么是false,千万不要把“==”误写成“=”,否则就变成了赋值运算。

逻辑运算符

逻辑运算符

黑马程序员JAVA教程--运算符_第5张图片

短路逻辑运算符

  • 注意事项
    –逻辑与&,,无论左边真假,右边都要执行
    –短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行
    –逻辑或|,无论左边真假,右边都要执行
    –短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
    –最常用的逻辑运算符是:&&,||,!

三元运算符

  • 格式:
    关系表达式?表达式1:表达式2;

     范例:
     	a > b ? a : b;
     
     执行流程:
     	首先计算关系表达式的值
     	如果值为true,表达式1的值就是运算结果
     	如果值为false,表达式2的值就是运算结果
    
  • 案例:两只老虎
    黑马程序员JAVA教程--运算符_第6张图片

  • 案例:三个和尚

public class OperatorTest02 { 
	public static void main(String[] args) { 
	//1:定义三个变量用于保存和尚的身高,单位为cm,这里仅仅体现数值即可。 
	 int height1 = 150;
	 int height2 = 210;
	 int height3 = 165; 
	 //2:用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。 
	 int tempHeight = height1 > height2 ? height1 : height2; 
	 //3:用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
	 int maxHeight = tempHeight > height3 ? tempHeight : height3; 
	 //4:输出结果 
	 System.out.println("maxHeight:" + maxHeight); } }

你可能感兴趣的:(java,开发语言,后端)