Java教程

JAVA运算符

本文主要是介绍JAVA运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

算数运算符

+ 表示加法运算符
- 表示减法运算符
* 表示乘法运算符
/ 表示除法运算符
 % 表示取模/取余运算符 

 codepublic class MathTest {

   
   public static void main(String[] args) {
      
      // 1.声明两个int类型的变量并初始化
      int ia = 6;                 // 推荐该方式,提高了代码的可读性
      int ib = 2;
      System.out.println("ia = " + ia); // ia = 6
      System.out.println("ib = " + ib); // ib = 2
      // 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
}}
注意事项:
    1、注意:当两个整数相除时结果只保留整数部分,丢弃小数部分,如:System.out.println(5 / 2); 运行结果为:2
    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   
   3、不能做除数:
    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
练习:提示用户输入正整数类型的秒数,拆分秒数后输出x小时x分x秒。
public static void main(String[] args) {
   boolean flag=true;
   while (flag) {
      Scanner sc = new Scanner(System.in);
      System.out.println("please input a int value");
      int s = sc.nextInt();
      if (s==-1){
         flag=false;
      }
      int h = s / 3600;
      int m = (s % 3600) / 60;
      int ss = s % 60;
      System.out.println("当前时间是:" + h + "小时" + m + "分钟" + ss + "秒");
      System.out.println("____________________________________");
   }
}
字符串连接符
+ 可以实现字符串的连接。同时可以实现字符串与其他数据类型“相连”,如 System.out.println("a="+a);
关系/比较运算符

• > 表示是否大于运算符     >=表示是否大于等于运算符
• < 表示是否小于运算符     <=表示是否小于等于运算符
• == 表示是否等于运算符    !=表示是否不等于运算符
• 所有以关系运算符作为最终运算的表达式结果一定是boolean类型。

code:

  int ia = 5;
 int ib = 2;

boolean b1 = ia > ib;
System.out.println("b1 = " + b1); // b1 = true
System.out.println(ia > ib);   // 是否大于       true
System.out.println(ia >= ib);  // 是否大于等于   大于或者等于  true
System.out.println(ia < ib);   // 是否小于       false
System.out.println(ia <= ib);  // 是否小于等于   false
System.out.println(ia == ib);  // 是否等于       false
System.out.println(ia != ib);  // 是否不等于     true

自增减运算符

 ++ 表示自增运算符,用于使得当前变量自身的数值加1的效果   ++a 表示现将a自身+1,再让变量的数值作为整个表达式的结果,a++表示现将整个表达式的值+1,然后将变量a+1

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

注意:只能用于变量,常数不可以

逻辑运算符

&& 表示逻辑与运算符,相当于"并且",同真为真,一假为假。

|| 表示逻辑或运算符,相当于"或者",一真为真,同假为假。
 ! 表示逻辑非运算符,相当于"取反",真为假,假为真。
逻辑运算符的操作数均为boolean表达式。               

boolean b1 = true;
boolean b2 = false;
// 使用上述变量实现逻辑运算符的使用
boolean b3 = b1 && b2;
System.out.println("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      取反
注意:
1.对于逻辑与运算符来说,若第一个条件为假则整个表达式为假,此时跳过第二个表达式不执行;
int ia = 3;
int ib = 5;
boolean b4 = (++ia == 3) && (++ib == 5);
System.out.println("b4 = " + b4); // false
System.out.println("ia = " + ia); // 运行结果:4
System.out.println("ib = " + ib); // 运行结果:5,没有执行++ib
2.对于逻辑或运算符来说,若第一个条件为真则整个表达式为真,此时跳过第二个表达式不执行;
int ia = 4;
int ib = 5;
boolean b5 = (++ia == 5) || (++ib == 5);
System.out.println("b5 = " + b5); // true
System.out.println("ia = " + ia); // 5
System.out.println("ib = " + ib); // 5

赋值运算符

 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量,覆盖变量 原来的数值。

赋值表达式本身也有值,其本身之值即为所赋之值。 

复合赋值运算符:+=、 -=、 *=、 /=、 ...

移位运算符

• << 左移运算符,用于将数据的二进制位向左移动,右边使用0补充

• >> 右移运算符,用于将数据的二进制位向右移动,左边使用符号位补充

• >>> 表示逻辑右移运算符,用于将数据的二进制位向右移动,左边使用0 补充。注意:对于非负数来说,逻辑右移和右移的效果一致

位运算符

• & 表示按位与运算符,按照二进制位进行与运算,同1为1,一0为0.
• | 表示按位或运算符,按照二进制位进行或运算,一1为1,同0为0.
• ~ 表示按位取反运算符,按照二进制位进行取反,1为0,0为1.
• ^ 表示按位异或运算符,按照二进制位进行异或运算,同为0,不同为1

运算符的优先级

 • ()的优先级极高。

• =的优先级极低。
• 若无法确认优先级,则使用()来确保即可。

 


			
		





 
 

 


 

 

这篇关于JAVA运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!