操作符学习案例

面试题:

1.Java操作符有哪些?

2.当一个整型和字符串运算后返回什么类型的结果?

3.求余操作后,其结果的正负符号由那个操作数决定?

4.整型和浮点型分别对0求余,会有什么样的结果产生?

5.浮点型与浮点型以及浮点型和整型之间是否可以做求余操作?

6.前加加/减减与后加加/减减的区别?

 

演示代码:

public class OperatorTest {
	/**
	 * DESC--操作符案例
	 */
	public static void main(String[] args) {
		//定义多组不同类型的数据
		int a =9;
		int b=4;
		int c = -4;
		int d = -17;
		String str1 = "计算结果为:";
		String str2 = "这次是正确的";
		double g =12.8;
		double h = 6.1;
	    /**
	     * 1.测试字符串与整数相加(str1+a+b)
	     * (1.1)当字符串在第一位,整型在第二位,若按从左至右的运算顺序则依次都是做字符串拼接运算
	   * (1.2)当前两位整型第三位是字符串时,若按从左至右的运算顺序则先把两整型值相加然后再和字符串拼接
	   * (1.3)括号优先级最高,所有首先处理括号内运算,然后在处理其他运算操作(字符串拼接)
	    * 总结:以上运算(int+String)的结果类型都为String类型
	   */
		System.out.println("(1.1)"+str1+a+b);
		System.out.println("(1.2)"+a+b+str1);
		System.out.println("(1.3)"+str1+str2+(a+b));
		System.out.println("(1.3)"+str1+g+h);
                  /**
	     * 2.测试取模运算符
	     * (2.1)正整型%正整型求余返回正符号的余数
	     * (2.2)负整型%正整型求余返回负符号的余数
	     * (2.3)浮点型%正整型求余返回负符号的余数
	     * (2.4)浮点型%0求余返回的结果永远为NaN
	       * (2.5)整型%0求余会报java.lang.ArithmeticException异常
	     * 总结:求余返回的结果正负取决于左边的操作数
	     *      浮点型&浮点型,浮点型&整型同样可以参与取模运算
	     *      浮点型与0求余得到的结果永远为NaN
	        *      整型与0求余会报异常
	     */
		System.out.println("(2.1)"+a%b);
		System.out.println("(2.2)"+c%a);
		System.out.println("(2.3)"+g%b);
		System.out.println("(2.4)"+g%0);
		try{
			System.out.println(a%0);
		}catch(Exception e){
			System.out.println("(2.5)"+"整型与0求余会报java.lang.ArithmeticException异常");
		}
		 /**
	     * 3.测试加加、减减运算符及与整型的混合运算
	     * (3.1)后加加/减减
	     * (3.2)前加加/减减
	     * 说明:a=9 b=4(初始值)
	       * 总结:后加加/减减是先取原来数在和其他数运算最后加1/减1(先运算再改其值)
	       *         前加加/减减是先取数并加/减1后在和其他数运算(先改其值再运算)
	      */
		System.out.println("--(3.1)提示:后加加/减减是先取数在和其他数运算最后加1/减1");
		System.out.print("   a++ +b是先取a原来的值9在加b4,因此结果为:");
		System.out.println(a++ +b);
		System.out.print("   当后加加后a的值有9变成:");
		System.out.println(a);
		System.out.println("--(3.2)提示:前加加/减减是先取数加/减1后在和其他数运算");
		System.out.print("   b-- +a是先取b原来的值4并先减1,因此结果为:");
		System.out.println(b-- +a);
		System.out.print("   当前减减后b的值由4变成:");
		System.out.print(b);
		System.out.print("(注意此时的a是后加加后的值9-->10)");
	}
}

 运行结果:

(1.1)计算结果为:94
(1.2)94计算结果为:
(1.3)计算结果为:这次是正确的13
(1.3)计算结果为:12.86.1
(2.1)1
(2.2)-4
(2.3)0.8000000000000007
(2.4)NaN
(2.5)整型与0求余会报java.lang.ArithmeticException异常
--(3.1)提示:后加加/减减是先取数在和其他数运算最后加1/减1
   a++ +b是先取a原来的值9在加b4,因此结果为:13
   当后加加后a的值有9变成:10
--(3.2)提示:前加加/减减是先取数加/减1后在和其他数运算
   b-- +a是先取b原来的值4并先减1,因此结果为:14
   当前减减后b的值由4变成:3(注意此时的a是后加加后的值9-->10)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值