算数运算符

1、算数运算符

运算符:进行特定操作的符号。例如:+

表达式:用运算符连起来的式子叫做表达式。例如: 20+5。又例如: a + b

四则运算

取模(余数)自增自减
+-*/%++、--

对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍然是整数。只看商,不看余数。 

public static void main(String[] args){
		//两个常量之间可以进行数学运算
		System.out.println(20+30);
		
		int a = 20;
		int b = 30;
		System.out.println(a-b); // -10
		//两个变量之间也可以进行数学运算
		
		System.out.println(a* 10); // 200
		//变量和常量之间可以混合使用
		
		int x = 10;
		int y = 3;
		int result1 = x / y;
		System.out.println(result1); // 3
		
		int result2 = x % y;
		System.out.println(result2);//余数,模,1
		
		// int + double --> double + double --> double
		double result3 = x +2.5;
		System.out.println(result3); //12.5
		
	}

四则运算当中的加号“+”有常见的三种用法:

1.对于数值来说,那就是加法。

2.对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。

char类型字符,和int类型数字,之间的对照关系表:ASCII、Unicode

3.对于字符串string(首字母大写,并不是关键字)来说,加号代表字符串连接操作。 

public static void main(String[] args){
		//字符串类型的变量基本使用
		//数据类型变量名称=数据值;
		String str1 = "Hello";
		System.out.println(str1); // Hello
		
		System.out.println("Hello" + "world"); // Helloworld
		
		String str2 = "Java";
		// String + int --> string
		System.out.println(str2 +20); //Java20
		
		//优先级问题
		//String+int+int
		//String+   +int
		//String
		System.out.println(str2 +20+30);//Java2030
		
		System.out.println(str2 +(20+30));//Java50
	}
++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。
独立运算:
  • 变量在独立运算时, 前++ 和 后++ 没有区别 。
  • 变量 前++ :例如 ++i 。
  • 变量 后++ :例如 i++ 。
混合运算:
  • 和其他变量放在一起, 前++ 和 后++ 就产生了不同。
  • 前++ :a自己加1,再将加1后的结果赋值给b,也就是说a和b的结果都是一样的。
  • 后++:先赋值给b,a自己再加1。

使用区别:

1.在单独使用的时候,前++和后+没有任何区别。也就是:++num;和num++;是完全一样的。

2.在混合的时候,有【重大区别】

A.如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用。【先加后用】

B.如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】。【先用后加】

public static void main(String[] args){
		 int num1=10;
		 System.out.println(num1);//10
		 ++num1;//单独使用,前++
		 System.out.println(num1);//11
		 num1++;//单独使用,后++
		 System.out.println(num1);//12
		 System.out.println("===============");
		 
		 //与打印操作混合的时候
		 int num2=20;
		 //混合使用,先++,变量立刻马上变成21,然后打印结果21
		 System.out.println(++num2);//21
		 System.out.println(num2);//21
		 System.out.println("===============");
		 
		 int num3=30;
		 //混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31
		 System.out.println(num3++);//30
		 System.out.println(num3);//31
		 System.out.println("===============");
		 
		 int num4=40;
		 //和赋值操作混合
		 int result1=--num4;//混合使用,前--,变量立刻马上-变成39交给result1
		 System.out.println(result1);//39
		 System.out.println(num4);//39
		 System.out.println("===============");
		 
		 int num5=50;
		 //混合使用,后--,首先把本来的数字交给result2,然后我自己再-1变成49
		 int result2=num5--;
		 System.out.println(result2);//50
		 System.out.println(num5);//49
		 System.out.println("===============");
		 
		 
		 int x=10;
		 int y=20;
		 //11+20=31
		 int result3=++x + y--;
		 System.out.println(result3);//31
		 System.out.println(x);//11
		 System.out.println(y);//19
		
	 }

2、逻辑运算符

符号&&
||
逻辑符逻辑与逻辑或逻辑非
相当于并且或者取反

 逻辑运算符的使用

public static void main(String[] args){
		 boolean b1 = true;
		 boolean b2 = false;//声明两个boolean变量
		 boolean b3 = b1 && b2;
		 System.out.println("b3 = " + b3);//b3 = false
		 System.out.println(b1 && b2);//false
		 System.out.println(b1 || b2);//true
		 System.out.println(!b1);//false
		 System.out.println(!b2);//true
		 
	 }

逻辑运算符的短路特性

public static void main(String[] args){
		 int ia = 3;
	     int ib = 5;
	     boolean b4 = (++ia == 3) && (++ib == 5);
		 //++ia=4不等于3,为假,直接跳过第二个表达式,不执行
	     System.out.println("b4 =" + b4);//false
	     System.out.println("ia =" + ia);//4
	     System.out.println("ib =" + ib);//5
		 System.out.println("------------------------" );
		 
		 
	     boolean b5 = (++ia == 5) || (++ib == 5);
		 //++ia=5等于5,为真,直接跳过第二个表达式,不执行
	     System.out.println("b5 =" + b5);//true
	     System.out.println("ia =" + ia);//5
	     System.out.println("ib =" + ib);//5
	 }	

赋值运算

ia == 2表示判断变量ia的数值是否等于2
2 == ia表示判断2是否等于变量ia的数值,从结果上来说等价,但更推荐该方式
ia = 2表示将2赋值给变量ia,覆盖变量ia原来的数值
2 = ia编译报错   错误:意外的类型

 

 

 

 

位移运算符
 


    <<   左移运算符,用于将数据的二进制位向左移动,右边使用O补充
    >>   右移运算符,用于将数据的二进制位向右移动,左边使用符号位补充
    >>>  表示逻辑右移运算符,用于将数据的二进制位向右移动,左边使用0补充。 

位运算符

    &  表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0.
    |  表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0.
    ~  表示按位取反运算符,按照二进制位进行取反,1为0,0为1.
    ^ 表示按位异或运算符,按照二进制位进行异或运算,同为0,个问月l .*/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值