JavaSE运算符

算术运算符

运算符和表达式

  • 运算符:对常量或者变量进行操作的符号
  • 表达式:用运算符把常量或者变量连接起来符合Java语法的式子称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。

算术运算符

  1. 加(+)
  2. 减(-)
  3. 乘(×)
  4. 除(/)
  5. 取余(%)
int a = 6;
int b = 4;
System.out.println(a / b);       //结果输出1
System.out.println(6.0 / 4); 	 //结果输出1.5

注意事项:

  • /% 区别:两个数据做除法, / 取结果的商,% 取结果的余数。
  • 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

字符的 " + " 操作

拿字符在计算机底层对应的数值来进行计算的
‘A’ → 65 A~Z 是连续的
‘a’ → 97 a~z 是连续的
‘0’ → 48 0~9 是连续的
当算术表达式中包含多个基本数据类型的值得时候,整个算术表达式的类型自动进行提升
提升规则:

  • byte,short,char类型将被提升到int类型
  • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
    等级顺序:
    byte,short,char → int → long → float → double
int i = 10;
char c = 'A';                    //'A'的值是65
System.out.println(i + c); 	//输出75
char ch = i + c ;		//错误,c 是 char 类型,会被自动提升到 int 类型,整个表达式的类型会被自动提升为 int 类型
int j = i + c;
int k = 10 + 13.14; 		//错误
double d = 10 + 13.14;

字符串的 " + " 操作

  • 当 " + " 操作中出现字符串时,这个 " + " 是 字符串连接符,而不是算术运算符。
  • 在 " + " 操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行 " + " 操作时,从左到右 逐个执行。
System.out.println("cappuccino" + "FH");      //输出 cappuccinoFH
System.out.println(666 + "HF");		      //输出 666FH
System.out.println("HF" + 66 + 6); 	      //输出 HF666
System.out.println(1 + 99 + "bug");	      //输出 100bug

赋值运算符

赋值运算符

赋值运算符

注意事项:
扩展的赋值运算符底层 隐含 了强制类型转换

short s = 10;
s += 20;		//结果为 30 隐含了强制转换
s = s + 20;		//错误,short 类型自动提升为 int 类型
s = (short)(s + 20);

自增自减运算符

自增自减运算符

自增自减

  • 单独使用时,++ 和 - - 无论是放在变量前面还是后面,结果都一样。
  • 参与操作的时候,如果放在变量的后面,先拿变量参与操作,后拿变量做 ++ 或 - - 。
    参与操作的时候,如果放在变量的前面,先拿变量做 ++ 或 - - ,后拿变量参与操作。
int i =10;
int j = i++;
System.out.println("i:" + i);  //i:11
System.out.println("j:" + j);  //j:10
int i =10;
int j = ++i;
System.out.println("i:" + i);  //i:11
System.out.println("j:" + j);  //j:11

关系运算符

关系运算符

关系

注意事项:

  • 关系运算符的结果都是boolean类型,要么是true,要么是false.
  • 千万不要把 " == " 误写成 " = "。

逻辑运算符

逻辑运算符概述

逻辑运算符是用来 连接关系表达式 的运算符,也可以直接连接 布尔类型 的常量或变量。

逻辑运算符

逻辑运算符

短路逻辑运算符

短路逻辑运算符

注意事项:

  • 逻辑与 &,无论左边真假,右边都要执行。
    短路逻辑与 &&,若左边为真,右边要执行;若 左边为假,右边不执行
  • 逻辑或 |,无论左边真假,右边都要执行。
    短路逻辑或 ||,若左边为假,右边要执行;若 左边为真,右边不执行
    最常用的逻辑运算符:
    &&,||,!
int i = 10;
int j = 20;
System.out.println( (i++ > 100) && (j++ > 100) );// false && false
System.out.println("i:" + i);  // i:11
System.out.println("j:" + j);  // j:20

三元运算符

三元运算符

  • 格式:关系表达式 ? 表达式1 : 表达式2;
  • 范例:a >b ? a : b;
  • 计算规则:
    首先计算关系表达式的值
    如果值为 true表达式 1 的值就是运算结果
    如果值为 false表达式 2 的值就是运算结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值