Java语言的运算符详细解析之一


Java语言的运算符详细解析之二

Java语言的运算符详细解析之一

运算符

算术运算符

  1. + 表示加法运算符

  2. - 表示减法运算符

  3. * 表示乘法运算符

  4. • / 表示除法运算符

    注意事项

    1. 当两个整数相除时结果只保留整数部分 丢弃小数部分

      保留小数方式

      1. (不推荐)使用强制类型转换将其中一个操作数转换为double类型再运算即可
      2. 让其中一个操作数乘以1.0即可(推荐)
    2. 0不能作除数

  5. % 表示取模/取余运算符

  6. 代码演示

    /*
        编程实现算术运算符的使用
     */
    public class ArithmeticTest {
    	
    	public static void main(String[] args) {
    		
    		// 1.声明两个int类型的变量并初始化
    		//int ia = 6, ib = 2;       // 表示声明两个int类型的变量ia和ib,不推荐使用
    		int ia = 6;                 // 推荐该方式,提高了代码的可读性
    		int ib = 2;
    		System.out.println("ia = " + ia); // ia = 6
    		System.out.println("ib = " + ib); // ib = 2
    		
    		System.out.println("----------------------------------------");
    		// 2.使用上述变量实现算术运算符的使用   +  -  *  /  %
    		// 表示声明变量ic来记录ia与ib的和
    		int ic = ia + ib;
    		System.out.println("ic = " + ic); // ic = 8
    		// 其中ia+ib这个整体叫做表达式  ia、ib叫做操作数   +叫做操作符/运算符
    		System.out.println(ia + ib);  // 8
    		System.out.println(ia - ib);  // 4
    		System.out.println(ia * ib);  // 12
    		System.out.println(ia / ib);  // 3
    		System.out.println(ia % ib);  // 0
    		
    		System.out.println("----------------------------------------");
    		// 3.注意事项
    		// 3.1 当两个整数相除时结果只保留整数部分,丢弃小数部分
    		System.out.println(5 / 2); // 2
    		
    		System.out.println("----------------------------------------");
    		// 3.2 若希望保留小数部分该如何处理?
    		// 处理方式一:使用强制类型转换将其中一个操作数转换为double类型再运算即可
    		System.out.println((double)5 / 2);   // 2.5
    		System.out.println(5 / (double)2);   // 2.5
    		System.out.println((double)5 / (double)2); // 2.5
    		System.out.println((double)(5 / 2)); // 2.0
    		// 处理方式二:让其中一个操作数乘以1.0即可(推荐)
    		System.out.println(5*1.0 / 2); // 2.5
    		System.out.println(5.0 / 2);   // 2.5   ia.0 错误的表示
    		
    		System.out.println("----------------------------------------");
    		// 3.3 0不能作除数
    		//System.out.println(5 / 0); // 编译ok,运行发生java.lang.ArithmeticException(算术异常 记住): / by zero
    		System.out.println(5 / 0.0); // Infinity 无穷
     		System.out.println(0 / 0.0); // NaN Not a Number 
    	}
    }
    

字符串连接运算符

  1. + 可以实现字符串的连接。同时可以实现字符串与其他数据类型“相连” 。

  2. 注意事项

    1. + 既可以作为字符串连接符 又可以做加法运算符

      判断依据 + 两边的操作数有一个是字符串类型,则被当做字符串连接符处理 否则当加法运算符来处理

  3. 代码演示

    /*
    	编程使用字符串连接符 
    */
    public class ArithmeticCharTest{
    	public static void main(String[] args){
    		int inputNumber = 3306;	// 0小时55分钟55秒
    		// 1.将正整数拆分的秒数分为时分秒 并使用变量记录
    		int hour = inputNumber / 3600; // 0
    		int min = inputNumber % 3600 / 60;  // 55
    		int sec = inputNumber % 3600 / 60 % 60;  // 55
    		// 2.打印拆分结果
    		System.out.println(hour + "小时" + min + "分钟" + sec+ "秒");
    		// 3. + 既可以作为字符串连接符 又可以做加法运算符
    		// 判断依据 + 两边的操作数有一个是字符串类型,则被当做字符串连接符处理 否则当加法运算符来处理
    		System.out.println(hour + min + sec); // 0 + 55 + 55 = 110
    		System.out.println("" + hour + min + sec); // 05555
    		System.out.println(hour + "" + min + sec);// 05555
    		System.out.println(hour + min + "" + sec); // 5555
    		System.out.println(hour + min + sec + ""); // 110 + ""
    	}
    }
    

关系/比较运算符

  1. > 表示是否大于运算符

  2. < 表示是否小于运算符

  3. >= 表示是否大于等于运算符

  4. <= 表示是否小于等于运算符

  5. == 表示是否等于运算符

  6. != 表示是否不等于运算符

  7. 注意事项

    所有以关系运算符作为最终运算的表达式结果一定是boolean类型。

  8. 代码演示

    /*
    	编程使用关系运算符
    */
    public class RelationTest{
    	public static void main(String[] args){
    		// 1.声明2个int类型的变量并初始化
    		int ia = 2;
    		int ib = 5;
    		
    		// 2.使用变量实现关系运算的使用 并打印结果
    		boolean b1 = ia > ib;
    		System.out.println("b1 = " + b1); // false
    		System.out.println("ia == b1 --> " + (ia == ib)); // false
    		System.out.println("ia >= b1 --> " + (ia >= ib)); // false
    		System.out.println("ia <= b1 --> " + (ia <= ib)); // false
    		System.out.println("ia > b1 --> " + (ia > ib)); // false
    		System.out.println("ia < b1 --> " + (ia < ib)); // true
    		System.out.println("ia != b1 --> " + (ia != ib)); // true
    		
    	}
    }
    

自增减运算符

  1. ++ 表示自增运算符,用于使得当前变量自身的数值加1的效果

  2. – 表示自减运算符,用于使得当前变量自身的数值减1的效果

  3. 注意事项

    1. 只能用于变量,常数不可以

    2. 前后位置不同时 得到的结果也可能不同

      变量在前 先进行操作 后进行运算

      变量灾后 先进行运算 后进行操作

  4. 代码演示

    /*
        编程实现自增减运算符的使用
     */
    public class SelfTest {
    	
    	public static void main(String[] args) {
    		
    		// 1.声明一个int类型的变量并初始化
    		int ia = 10;
    		// 2.打印变量的数值
    		System.out.println("ia = " + ia); // ia = 10
    		
    		System.out.println("---------------------------------------------");
    		// 3.实现自增减运算符的使用
    		// 表示让变量ia自身的数值加1,并覆盖该变量原来的数值   
    		ia++;   // ia = ia + 1;
    		System.out.println("ia = " + ia); // ia = 11
    		
    		// 表示让变量ia自身的数值加1,并覆盖该变量原来的数值  
    		++ia;
    		System.out.println("ia = " + ia); // ia = 12
    		
    		// 表示让变量ia自身的数值减1,并覆盖该变量原来的数值
    		--ia;
    		System.out.println("ia = " + ia); // ia = 11
    		
    		ia--;
    		System.out.println("ia = " + ia); // ia = 10
    		
    		System.out.println("---------------------------------------------");
    		// 4.前后位置不同时 得到的结果也可能不同
    		// 其中ia++这个整体叫做表达式   其中ia叫做操作数/变量       也就是ia++和ia表示不同的含义,因此所占的内存空间应该不同
    		// 下面的代码是在打印表达式的结果
    		// 后++表示先让变量ia的数值作为整个表达式的最终结果,然后再让ia变量自身的数值加1
    		System.out.println(ia++);         // 10
    		System.out.println("ia = " + ia); // 11
    		// 前++表示先让变量自身的数值加1,然后再让变量的数值作为整个表达式的结果
    		System.out.println(++ia);         // 12
    		System.out.println("ia = " + ia); // 12
    		
    		System.out.println("---------------------------------------------");
    		// 5.笔试考点
    		int ib = ia++;
    		System.out.println("ib = " + ib); // 12
    		System.out.println("ia = " + ia); // 13
    		int ic = ++ia;
    		System.out.println("ic = " + ic); // 14
    		System.out.println("ia = " + ia); // 14
    		
    		//                  14  + 16
    		System.out.println(ia++ + ++ia);  // 30
    		System.out.println("ia = " + ia); // 16
    		
    	}
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白迷上java

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

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

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

打赏作者

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

抵扣说明:

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

余额充值