java基础-运算符--day03

1. 算数运算符

/ 处以
% 取余

public class TestOper01{
	public static void main(String[] args){
	    
		System.out.println(13/5);// 结果为2
		System.out.println(13%5); //结果为3
		System.out.println(13.0/5.0);//2.6
		System.out.println(13.0%5.0);//2.0
		
	}
}

练习:
输入一个4位数 输出 千百十个 具体的值

import java.util.Scanner;

public class TestOper02{
	public static void main(String[] args){
	    
		Scanner sc = new Scanner(System.in);
		System.out.println("请输出一个4位数:");
		int num = sc.nextInt();
		System.out.println("输入的4位数是:"+num);
		
		// 个位
		int num1;
		num1 = num % 10;
		System.out.println("个位:"+num1);
		
		// 十
		int num2;
		num2 = num / 10 % 10;  // 5473
		System.out.println("十位:"+num2);
		
		// 百
		int num3;
		num3 = num / 100 % 10 ;
		System.out.println("百位:"+num3);
		
		// 千
		int num4;
		num4 = num / 1000;
		System.out.println("千位:"+num4);
		
	}
}

2.+号

正数
相加
拼接

public class TestOper03{
	public static void main(String[] args){
		// 正数
		System.out.println(+6);
		
		// 相加
		System.out.println(+6+'6'); //字符5 ASCII的值是54 --> 60
		
		// 拼接
		// 规则 + 的两边只要有一边是字符串 整体的输出就是字符串
		
		System.out.println(5+6+"7");// 117
		System.out.println(5+'6'+"7");// 597
		System.out.println("5"+6+"7");// 567
		System.out.println("5"+'6'+"7");// 567
		System.out.println("5"+'6'+'7');// 567
		
	}
}

3. ++

单独使用
参与运算

public class TestOper04{
	public static void main(String[] args){
		int a = 5;
		a++;// a=a+1
		System.out.println(a);
		
	    a = 5;
		++a;// a=a+1
		System.out.println(a);
		
		a = 5;
		int m = a++ +6; // 先运算 后+1
		System.out.println(m); // --> 11
		System.out.println(a); // 6
		
		a = 5;
		int n = ++a +6;  // 先+1 后运算
		System.out.println(n); // 12
		System.out.println(a); // 6
	}
}

4. = 赋值操作

int a = 12;
int b = 60;
如何将两个变量交换

public class TestOper04{
	public static void main(String[] args){
		int a=12;
		int b=60;
		
		System.out.println("交换前a:"+a);
		System.out.println("交换前b:"+b);
		
		int tmp;
		tmp=a;
		a=b;
		b=tmp;
		System.out.println("交换后a:"+a);
		System.out.println("交换后b:"+b);
	}
}

练习:求三个数的和

public class TestOper05{
	public static void main(String[] args){
		int a = 10;
		int b = 20;
		int c = 30;
		
		int s = a+b+c;
		System.out.println("sum:"+s);
		
		int sum1 = 0;
		
		sum1 += a;
		sum1 += b;
		sum1 += c;
		System.out.println("sum:"+sum1);

	}
}

5. 关系运算

	public static void main(String[] args){
		System.out.println(4<5);
		System.out.println(4>5);
		System.out.println(4==5);
		System.out.println(4!=5);	
	}
}

6. 逻辑运算

& | --> AND OR
&& || --> 不同之处 短路运算 效率更高

  • a&&b&&c&&d ... 只要遇到不为true的就能直接返回false
  • a||b||c||d||e ... 只要遇到不为false的就能直接返回true
    !非 --> 取反面
    ^ 异或 --> 不同则返回true

7. 三元运算

a?b:c

public class TestOper06{
	public static void main(String[] args){
	   String a = (1<2)?"你好":"我好";
	   System.out.println(a);
	   
	   String b = (1>2)?"你好":"我好";
	   System.out.println(b);
	}
}

8 位运算

<<< 左移
3<<<2

-->12

面试题:5乘以8的最快方式 5<<<3不用任何的+-操作

有符号的右移>>

6>>2 -->1

-6>>2 --> -2

无符号的右移>>>
确实部分全部补零
&|^~

posted @ 2023-08-28 21:57  jack-chen666  阅读(4)  评论(0编辑  收藏  举报