在码歌学习的第四天

运算符

1.1运算符的基本概念:

  • =和+都是运算符。
  • 1+1称之为表达式,最后要有一个运算结果。
  • int num=1+1;这一条语句要用";"作为一条语句的结束。
  • 运算符两边的数称之为操作数。将运算符左右的一个操作数称为单目/单元,两个操作数称为双目/双元。

1.2运算符的分类:

  • 算数运算符:+ - * / % ++ –
  • 关系运算符:> < == <= >= != instanceOf
  • 逻辑运算符:& | ! ^ && ||
  • 赋值运算符: =
  • 拓展运算符: += -= *= /= %= >>= <<= ^+ !=
  • 位运算符:& | ^ >> << <<< !
  • 条件运算符: ?:

i.赋值运算符

=号将运算符右侧的结果赋值给左边的变量进行存储。

运算时自右向左进行的

int num=10;

ii.算数运算符

+
public class Demo05 {
	public static void main(String[] args) {
		//正号
		int num=+5;
		System.out.println(num);
		//加法运算符
		num=2+3;
		System.out.println(num);
		//连接符
		System.out.println("1+1="+1+1);
	}
}

注意事项:
  • 正号:在数值前面编写
  • 加法运算:保证+号左右两边都是一个具体的值。
  • 连接符:+号左右两边有一个操作数为字符串类型时,+号就是连接符,它会把左右两边的操作数都当成字符串,进行拼接,所以+号为拼接符的时候最好用括号先计算运行结果。
-
public class Demo05 {
	public static void main(String[] args) {

		//减法运算符
		int num=3-2;
		System.out.println(num);
		//负号
		num=-5;
		System.out.println(num);
	}
}
* / %
public class Demo05 {
	public static void main(String[] args) {
			//乘法运算
			int num=1*1;
			System.out.println(num);
			//除法运算
			num=2/1;
			System.out.println(num);
			//取余
			num=3%2;
			System.out.println(num);
	}
}

++ –
  • ++ --都是单目运算符
  • ++ --的区别和联系
    • 联系
      • ++是在原来变量基础上+1。
      • –是在原来变量基础上-1。
      • 当++和–是单独一条语句时,++ --是单目运算符,不管放前面还是放后面都是自身加一,自身减1。
    • 区别
      • num++ => num++ 最后有一个结果 num本身存在一个结果;num++ 表达式的值和num是有关系 num++ 表达式的值= num的值
      • ++num不是单独一条语句是,前加,先自增 再运算。
      • num++不是单独一条语句时,后加,先运算 再自增
      • –num不是单独一条语句是,前减,先自减 再运算。
      • num–不是单独一条语句时,后加,先运算 再自减 。

iii.扩展运算符

其实就是算数运算符和位运算符加上赋值运算符的结合体

public class Demo05 {
	public static void main(String[] args) {
			//计算两个学生的分数之和
		int a=80;
		int b=70;
		int sum=0;
		sum=sum+a;
		sum=sum+b;
		System.out.println(sum);
		
		int sum1=0;
		sum1+=a;
		sum1+=b;
		System.out.println(sum1);
	}
}

扩展运算符的优缺点

  • 优点:
    • 提高了编译速度
    • 提高了编写效率
    • 自动强制类型转换(即是有点也是缺点)
  • 缺点:
    • 不利于阅读

iv.关系运算符

< == <= >= != instanceOf
  • 注意事项:
  • 最后的结果是一个boolean类型的值 true和false
  • != == 既可以比较基本数据类型 也可以比较引用类型
    < > >= <= 只能比较基本数据类型 (布尔类型除外)

v.逻辑运算符

逻辑运算符中包括了(& | ! ^ && ||),逻辑运算符左右变量的操作数有且只能是boolean类型的值。当

&、|、左右两边的操作数不是boolean类型,是数值型时要注意,此时&、|、不是逻辑运算符而是

位运算符。

  • 逻辑运算符最后的结果:
  • &和&&是两边都为true才为true。

  • |和||是两边只要有一个true就为true。

  • ^是两边相同为false,两边不同为true。

  • !为取反。

  • &&和&的联系和区别以及|和||的联系和区别。

    • 联系
      • &&和&都是两边都为true才为true。
      • ||和|都是两边有true就为true。
    • 区别
      • &&是当第一个操作数为false,将不会看第二个操作数,直接为false。
      • ||是当第一个操作数为true时,将不会看第二个操作数,直接为true。

vi.条件运算符

?:
  • 是java中的唯一一个三目运算符。
    • <表达式1>?<表达式2>:<表达式三>
    • 在运算中,首先对第一个表达式进行检验,如果为真则返回表达式二的值,如果为假,则返回表达式三的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值