Skip to content

运算符

表达式

  • 表达式由运算符和操作数组成

    例如: sum = a + b

运算符

算术运算符

  1. 算术运算符主要用于基本的算术运算,如加、减、乘、除、取余、取整等。
算术运算符名称举例
+a + b
-a - b
*a * b
/a / b
%取余a % b
++自增a++
--自减a--
  • 自增自减运算符
表达式执行方式结果(num1=1)
num2=++num1;num1=num1+1;
num2=num1;
num1=2;
num2=2;
num2=num1++;num2=num1;
num1=num1+1;
num1=2;
num2=1;
num2=--num1;num1=num1-1;
num2=num1;
num1=0;
num2=0;
num2=num1--;num2=num1;
num1=num1-1;
num1=0;
num2=1;

赋值运算符

  1. 赋值运算符主要用于将一个值赋给一个变量。
  2. 赋值运算符是从右到左的运算符。

复合赋值运算符

运算符表达式计算结果(假设 x=15)
+=x+=5x=x+520
-=x-=5x=x-510
*=x*=5x=x*575
/=x/=5x=x/53
%=x%=5x=x%50

关系运算符

关系运算符主要用于比较两个值,并返回一个布尔值,如:等于、不等于、大于、小于、大于等于、小于等于。

运算符名称表达式结果
>大于5>3true
<小于5<3false
>=大于等于5>=3true
<=小于等于5<=3false
==等于5==3false
!=不等于5!=3true

逻辑运算符

逻辑运算符主要用于判断两个条件是否同时成立或至少成立一个的条件。

运算符名称表达式结果
&&或&逻辑与5>3 && 5<10true
||或|逻辑或5<3 || 5<10true
!逻辑非!(5>3)false

逻辑与

逻辑与运算符 & 和 && 的区别:

  • &运算符
java
int n= 3;
boolean b = (n > 7)&((n++) < 2);
b= false,n= 4;
  • &&运算符

&&运算符又叫短路运算符,如果左边表达式的值为 false,则右边表达式的值不会被计算,所以&&运算符可以减少运算次数。

java
int n= 3;
boolean b = (n > 7)&&((n++) < 2);
b= false,n= 3;

逻辑或

逻辑或运算符 | 和 || 的区别:

  • |运算符
java
int n= 3;
boolean b = (n < 7)|((n++) < 2);
b= true,n= 4;
  • ||运算符

||运算符又叫短路运算符,如果左边表达式的值为 true,则右边表达式的值不会被计算,所以||运算符可以减少运算次数。

java
int n= 3;
boolean b = (n < 7)||((n++) < 2);
b= true,n= 3;

条件运算符

  1. 条件运算符主要用于判断一个条件是否成立,并返回一个值。
  2. 条件运算符的格式为:condition ? value1 : value2;
  3. condition 为条件表达式,value1 和 value2 为两个值。
  4. 如果 condition 为 true,则返回 value1,否则返回 value2。

Scanner

Scanner 单词:扫描

Scanner 是 JDK 提供的一个类 位于 java.util 包下 用来接收用户在控制台输入的信息

此类中提供了用于接收各种类型数据的方法

next() 接收用户输入的字符串

nextByte() 接收用户输入的 byte 类型的数据

nextShort() 接收用户输入的 short 类型的数据

nextInt() 接收用户输入的int类型的数据

nextLong() 接收 long 类型的数据

nextFloat() 接收 float 类型的数据

nextDouble() 接收double类型的数据

nextBoolean() 接收布尔类型的数据

注意:没有 nextChar()

因为 Scanner 类是位于 java.util 包中类 是 JDK 提供的 所以我们如需使用 必须导包

需求:使用 Scanner 类 接收用户输入的各种信息

如果输入类型不匹配的数据 将会出现 :InputMismatchException 输入不匹配异常

异常会中断我们的程序

java
import java.util.Scanner;

/**
 *  需求:使用Scanner类 接收用户输入的各种信息
 *  如果输入类型不匹配的数据 将会出现 :InputMismatchException 输入不匹配异常
 *  异常会中断我们的程序
 */
public class TestScanner {
    public static void main(String[] args) {
        // 创建Scanner类型的变量 取名为input
        Scanner input = new Scanner(System.in);

        // 提示用户输入数据
        System.out.println("请输入您的名字");

        // 表示接收用户输入的数据 并且赋值给name变量
        // 当程序执行到这一步 会停下来等待用户输入
        // 用户输入完毕 按下回车 程序再继续执行
        String name = input.next();

        // 将用户输入的信息打印
        System.out.println("您输入的名字是:" + name);

        System.out.println("请输入您的年龄");

        int age = input.nextInt();

        System.out.println("您输入的年龄为:" + age);

        System.out.println("请输入您的身高");

        double height = input.nextDouble();

        System.out.println("您输入的身高为:" + height);

        System.out.println("请输入您今天是否开心?");

        boolean isHappy = input.nextBoolean();

        System.out.println(isHappy == true ? "恭喜你很开心" : "没有什么大不了的");
        System.out.println(isHappy  ? "恭喜你很开心" : "没有什么大不了的");
    }
}

Keep Reading, Keep Writing, Keep Coding