02-变量和运算符-下

Java数据类型和运算符day02(下卷)

1运算符

1.1.概述

1:运算
对常量和变量进行操作的过程称为运算。
2:运算符
对常量和变量进行操作的符号称为运算符
3:操作数
参与运算的数据称为操作数
4:用运算符把常量或者变量连接起来符号java语法的式子就可以称为表达式。
不同运算符连接的式子体现的是不同类型的表达式。

1.2.运算符分类
 算术运算符
 赋值运算符
 比较运算符
 逻辑运算符
 位运算符
 三目运算符

1.3.算术运算符

1.3.1.算符运算符常见运算符演示
public static void main(String[] args) {
int x = 10;
int y = 4;

  System.out.println(x+y);  // 14
  System.out.println(x-y); // 6
  System.out.println(x*y); //40
  System.out.println(x/y); //2
  
  System.out.println(x*1.0/y); // 2.5

}

1.3.2.% 取余 (取模)

public static void main(String[] args) {
int x = 3;
int y = 4;

 // System.out.println(x+y);  // 14
 // System.out.println(x-y); // 6
 // System.out.println(x*y); //40
  //System.out.println(x/y); //2
  
 // System.out.println(x*1.0/y); // 2.5
  
  
  System.out.println(x%y);  

}

1.3.3.+符号的常见用法
加法
正数
字符串连接符

1.3.4.自增和自减运算符使用(初级)
1)概述

代码实战1:
public static void main(String[] args) {
int x = 2;
int y = 2;
System.out.println(“x:”+x);

System.out.println("y:"+y);

System.out.println("==============");

System.out.println("x:"+x+",y:"+y);

}

代码实战2:
public static void main(String[] args) {
int x = 2;
int y = 2;
System.out.println(“x:”+x);

System.out.println("y:"+y);

System.out.println("==============");

System.out.println("x:"+x+",y:"+y);


x++;

System.out.println("x:"+x);

y--;

System.out.println("y:"+y);

}

自增(++)和自减(–)运算符的作用:

让变量的值进行自增1或者自减1

2)使用

  • 单独使用

public static void main(String[] args) {
int x = 2;
int y = 2;
System.out.println(“x:”+x);

System.out.println("y:"+y);

System.out.println("==============");

System.out.println("x:"+x+",y:"+y);


//x++;

++x;

System.out.println("x:"+x);

//y--;

--y;
System.out.println("y:"+y);

}

单独使用:符号放在前面或者后面效果都一样

1.3.5.自增和自减运算符使用(提高)
13.5.1.代码实战

实战1:
public static void main(String[] args) {
// 参与运算
int a = 3;
int b = 4;

 int c = a++;
 int d = b--;
 
 System.out.println("a:"+a); // 4
 System.out.println("b:"+b); //3
 System.out.println("c:"+c); //3
 System.out.println("d:"+d); //4

}

实战2:

public class Demo2 {
public static void main(String[] args) {
int a = 3;
int b = 4;

	int c = ++a;
	int d = --b;

	System.out.println("a:" + a); // 4
	System.out.println("b:" + b); // 3
	System.out.println("c:" + c); // 4
	System.out.println("d:" + d); // 3

}

}

【开发结论】:

如果单独使用,放在操作数的前面或者后面,效果都一样

参与运算

  1. 如果是放在操作数的前面,先进行自增或自减,然后再去参与运算

  2. 如果是放在操作数的后面,先参与运算,然后再去进行自增或者自减少

13.5.2.练习题
1:基本小题目
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c–;
请分别计算出a,b,c的值
public class Demo4 {
public static void main(String[] args) {
int a = 10;
int b = 10;
int c = 10;
a = b++; //a = 10 b = 11 c =10
c = --a; // a=9 b=11 c=9
b = ++a; //a=10 b=10 c=9
a = c–;// a=9 b=10 c=8

	System.out.println("a:"+a);
	System.out.println("b:"+b);
	System.out.println("c:"+c);

}

2:比较复杂的题目

int a = 4;

int b = (a++)+(++a)+(a*10);

引出运算符的优先级

1.4.赋值运算符
符号:

= , +=, -=, *=, /=, %=

=为基本的赋值运算符,其他的为扩展的赋值运算符

public static void main(String[] args) {
int a = 10; // 将右边的10赋值给左边的int类型变量a

 int b = 20;
 
 System.out.println(a);
 System.out.println(b);
 
 
 System.out.println("==============================");
 
 int x = 10;
 
 int y;
 
 int z;
 
 z=y=x;
 
 System.out.println("x:"+x);
 System.out.println("y:"+y);
 System.out.println("z:"+z);

}

扩展的赋值运算符
public static void main(String[] args) {
int x = 10;
x+=20; // 将变量x在原有的基础上 + 20 再赋值给x
// x = x+20;
System.out.println(x);
}

1.5. 关系运算符(比较运算符)

【开发结论】:

1)比较运算符的结果都是boolean型,也就是要么是true,要么是false。
2)比较运算符“==”不能误写成“=” 。

public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println(ab);
System.out.println((a+b)
(a+c));
}

1.6.逻辑运算符
1.6.1.概述

 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
 “&”和“&&”的区别:
• 单&时,左边无论真假,右边都进行运算;
• 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
 异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

1.6.2.逻辑运算符实战
实战1(&逻辑与)

public static void main(String[] args) {
int a = 2;

int b = 3;

int c = 4;

System.out.println((a>b)&(a>c));
System.out.println((a>b)&(a<c));
System.out.println((a<b)&(a>c));
System.out.println((a<b)&(a<c));
}
观察打印结果:

结论: & 逻辑与:有false则false

实战2(逻辑或 |)
public class Demo {
public static void main(String[] args) {
int a = 2;

int b = 3;

int c = 4;

System.out.println((a>b)|(a>c));
System.out.println((a>b)|(a<c));

System.out.println((a<b)|(a>c));
System.out.println((a<b)|(a<c));

}

观察打印结果:

结论: | 逻辑或:有true则true

实战3:(逻辑异或)
public static void main(String[] args) {

 int a =2;
 int b = 3;
 int c = 4;


 System.out.println((a>b)^(a>c));
 System.out.println((a>b)^(a<c));
 
 System.out.println((a<b)^(a>c));
 System.out.println((a<b)^(a<c));

}

观察打印结果:

结论: ^ 逻辑异或:相同为false,不同为true

实战4(逻辑 非 !)
取反

实战5(双与 &&)
public class Demo4 {
public static void main(String[] args) {
int a = 2;
int b = 3;
int c = 4;

 System.out.println((a>b)&(a>c));
 System.out.println((a>b)&(a<c));
 System.out.println((a<b)&(a>c));
 System.out.println((a<b)&(a<c));
 
 System.out.println("========================");
 
 System.out.println((a>b)&&(a>c));
 System.out.println((a>b)&&(a<c));
 System.out.println((a<b)&&(a>c));
 System.out.println((a<b)&&(a<c));
 
 System.out.println("*****************************");
 
 
 
 int x = 3;
 
 int y = 4;
 
 boolean b1 =  (x++==3 & y++==4);
 
 System.out.println("x:"+x);
 System.out.println("y:"+y);
 System.out.println("b1:"+b1);
 
 boolean b2 = (x++==3 && y++ ==4);
 
 System.out.println("x:"+x);
 System.out.println("y:"+y);
 System.out.println("b2:"+b2);
 
 boolean b3 = (++x ==3 && y++ == 4);
 System.out.println("x:"+x);
 System.out.println("y:"+y);
 System.out.println("b3:"+b3);
 
 
 
}

}

双与:左边只要是false,右边就不执行

实战6(双或 ||)
1.7.三目运算符(三元运算符)

三目运算符(三元运算符)

  • 三目运算符格式:
  • 条件表达式?表达1:表达式2
  • 条件表达式:条件表达式无论多么复杂,结果一定是布尔类型 (true、false)
  • 三目运算符的执行流程:
  • 先判断条件表达式的结果 true 还是false
  • 如果条件表达式的结果是 true ,那么 返回表达式1的值
  • 如果条件表达式的结果是false,那么返回表达式2的值

代码:
public class Demo1 {
public static void main(String[] args) {
int x = 2;
int y = 3;
int z;

z = (x>y)?x:y;

System.out.println("z的值:"+z);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_669646

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值