8.Java语法基础-运算符

键盘输入

动态的获取用户的输入

//导包
import java.util.Sccanner;

public static void main(String[] args){
	Scanner input = new Scanner(System.in);
	// 输入一个整数数据
	int num =  input.nextInt();

	//输入一个 字符串数据
	String name = input.next();

	//输入一个double 数据
	double money = input.nextDouble();
}
import java.util.Scanner;
public class IpuptDemo{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number = input.nextInt();
        System.out.println("您输入的是"+ number);
    }
}

运算符

赋值运算符

赋值
=

一个非常基础却十分常用的运算符,它的作用就是把 等号 右边的数据 赋值给 左边的变量

public static void main(String[] args){
   int m = 10;
   int k = 20;
}

:赋值数据必须要和类型一致(不包括自动类型提升)

算术运算符

加法减法乘法除法取模运算
+-*/%
public static void main(String[] args){
   int m = 90;
   int k = 5;
   System.out.println( m+k );
   System.out.println( m-k );
   System.out.println( m*k );
   System.out.println( m/k );
   System.out.println( m%k );
}

:用于算术数学运算,遵循混合运算法则,%的作用是求余数。 乘号使用 *

复合赋值

加等减等乘等除等模等
+=-=*=/=%=
public static void main(String[] args){
   int m = 10;
   int k = 20;
   int n = 105;
   System.out.println( m+=10 );
   System.out.println( m-=20 );
   System.out.println( k*=2 );
   System.out.println( m/=5 );
   System.out.println( m%=5 );
}

自增自减运算符

在自己基础上 +1 或者 -1的 运算符号,分为前置++、后置++和前置–、后置–

class PlusDemo{
  
  public static void main(String[] args){
 
      int age = 30;
      age--;    
      --age;
      
      //无论 ++ -- 在前或者在后,对于变量本身的影响是确定 +1 或者 -1.
      System.out.println(age);// 30
      
      System.out.println("-------------------------------------");
      int money = 100;
      System.out.println(--money); // 99
      System.out.println(money--); // 99
      System.out.println(money); // 98
      // 对于++ -- 表达式来讲,++ --的位置是有影响的, 在前具有立即计算性 在后有延时计算性。
    }
}

:前置++(前置–)先自身计算,再给值;后置++(后置–)先给值,再自身计算

关系运算符

大于小于小于等于大于等于相等不等
><<=>===!=
public static void main(String[] args){
   int m = 10;
   int k = 20;
   System.out.println( m>k );
   System.out.println( m<k );
   System.out.println( m>=k );
   System.out.println( m<=k );
   System.out.println( m==k );
   System.out.println( m!=k );
}

:用于对数据做大小关系的比较,运算结果是布尔值;注意关系运算符和赋值运算符的区别

逻辑运算

且(短路)或(短路)且(不断路)或(不短路)
&&||!&|
public static void main(String[] args){
   int m = 10;
   int k = 20;
   System.out.println( m>0 && k>0 );
}

:用于多条件逻辑判断,运算结果是 布尔值;注意短路情况

三目运算符

三目
? :
public static void main(String[] args){
   int m = 10;
   int k = 20;
   int t = 1>0?m:k;
}

:可用于逻辑判断,根据判断结果为变量赋值

位运算符

按位与按位或按位异或按位取反左移右移无符号右移
&|^~<<>>>>>
同1则1有1则1不同为1相同为00、1互换向左移动向右移动向右移动不保留负数符号
public static void main(String[] args){
   int m = 10;
   int k = 20;
   System.out.println( m&k ); 
}

位运算的应用

  1. 两个数交换(要考虑是否能用)
public static void main(String[] args){
   int m = 10;
   int k = 20;
   
   m ^= k;
   k ^= m;
   m ^= k;
}
  1. 查看两个IP地址是否在同一网段

运算符的优先级和结合性在这里插入图片描述

  1. 什么是运算符的优先级?
    在完成运算时处理运算符的先后顺序
  2. 什么是结合性?
    运算符处理操作数的顺序,分成左结合性和右结合性
  3. 一个表达式中可能出现多个同优先级的运算符,这个时候就要通过结合性判断先算那个运算符

:先考虑优先级,再考虑结合性
例子:ab+a++?
+的优先级最低,左结合性,先运算a
b,再a++,最后在计算+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值