(JavaSE)三、运算符

运算符:

        一、算数运算符

                                        

                + :在操作数值、字符、字符串时,其结果是不同的,当两个字符串相加,得到的Ascll码值;当两个字符串相加的时候,表示字符串的拼接操作,从而组成新的字符串。

                /   :整数在做除操作时,得到的结果仍为整数(小数部分忽略),当整数除以 0 时,会报算术异常。

               %  :取余,余数的符号忽略不计,结果正负取决于被余数。

        (++ 和 -- )详解:都只能操作变量,不能操作常量

               ++:表示当前操作的变量累加 1

                -- :表示当前操作的变量自减 1

              自增: ++ ,递增操作符,是变量值增加 1 ,有前后置之分,只能操作变量。

              自减: - - ,递增操作符,是变量值减少 1 ,有前后置之分,只能操作变量。

              前置(++result):表示对result加 1 之结果进行计算

              后置(result++):表示对result加 1 之的值(原始值)进行计算

package Test;
/**
 * 
 * @author FYDragon
 *
 */
public class TestDemo {
	public static void main(String[] args) {
		int num1 = 1;
		System.out.println(num1++);
		int num2 = 1;
		System.out.println(++num2);
		
	}
}

结果:

下面我们开分析一道面试题:

package Test;
/**
 * 
 * @author FYDragon
 *
 */
public class TestDemo {
	public static void main(String[] args) {
		int i = 5;
		i++;
		System.out.println("i = "+i);            //6
		++i;
		System.out.println("i = "+i);            //7
		System.out.println("--------");
		int a = ++i;
		System.out.println("a = "+a);            //8
		System.out.println("i = "+i);            //8
		int b = i++;
		System.out.println("b = "+b);            //8
		System.out.println("i = "+i);            //9
		
	}
}
结果

你们做对了吗?其实很简单,只要注意好加 1 的先后顺序就好。

        二、三目运算符

                语法格式:X ? Y : Z 

                   其中,X为 boolean表达式,先计算X的值,如果为true,整个三目运算表达式结果是Y,如果为                  false,整个三目运算表达式结果是 Z。

举个例子:

package Test;
/**
 * 
 * @author FYDragon
 *
 */
public class TestDemo {
	public static void main(String[] args) {
		double num = 3.51;
		int num1 = (int)num;
		double num2 = num - num1;
		int result = num2 >=0.5 ? num1+1 : num1 ;
                System.out.println(result); 
        }
}

因为num是double型,强制转换为int型 即 num1 = 3 ;num2 = 0.51;所以num2 >=0.5 成立,结果为true。所以result的结果为num1+1,为 4。


再写一个小案例,给出一个总共有51条数据,要求每页最多10条数据,求出总共有多少页

package Test;
/**
 * 
 * @author FYDragon
 *
 */
public class TestDemo {
	public static void main(String[] args) {
		int totalCount = 51;
		int pageSize = 10; //每页最多10条数据
		
		//总页数
		int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount/pageSize +1;
		System.out.println(totalPage);
	}
}

结果:


和上一个题思路一样啦,这里就不多解释了。

        三、逻辑运算符

                                

         &  :表示并且,当操作数A和数B都为true时,结果才为true。否则结果为false。

        &&:和&结果相同,有短路的效果,如果操作数A为false,则结果就为false,不继续执行操作数B。

           |  :表示或者,A和B都为false时,结果为false,只要双方有一个为true,结果就是true。

        | |   :和 | 结果相同,具有短路效果,左边操作数A为true,结果就为true,不继续执行操作数B。

        ^ (异或):判断A 和 B是否不同,不同为 true,相同则为false。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值