Java基础——常用运算符、scanner类介绍

本文介绍了Java中的Scanner类,包括使用方法、next()与nextLine()的区别。同时,详细讲解了Java的常用运算符,如赋值、算术、关系、逻辑、位和条件运算符,以及运算符的优先级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、.scanner类介绍

1.使用方法

2.next()方法与nextLine()方法

二、常用运算符

1.赋值运算符

2.算术运算符

3.关系运算符

4.逻辑运算符

5.位运算符

6.条件运算符

7.运算符的优先级


一、.scanner类介绍

Scanner 类是一个用于

Scanner 指的是java.util包下的Scanner类,可以接收控制台输入的数据。位置:Java.util.Scanner;

1.使用方法
  • 第一步 导包java.util.Scanner;

import java.util.Scanner;
  • 第二步:新建scanner扫描器 :

Scanner input = new Scanner(Sysyem.in);
  • 第三步:定义变量接收控制台输入内容:

int i = input.nextInt();

可以接收的类型有:.nextByte(),nextshort(); nextLong(); nextFloat(); nextBoolean();nextInt()等

不可以接收char 错误写法:nextChar();

接收插入类型: char c = scanner.next().charAt(0); //接收字符串然后截取第一个字符。

String s = scanner.next(); 可以接收字符串 但是遇到空格后自动截断,不在接收。

nextLine();可以接收整行,但会接收上一行的回车键,不要再nextLine之前使用其他方式接收数据或者可以单独新建一个 Scanner。

2.next()方法与nextLine()方法

next()方法:

(1)一定要读取到有效字符后才可以结束输入。

(2)对输入有效字符之间遇到的空白字符,next()方法会自动将其去除。

(3)只有在输入有效字符后,才将其后面输入的空白字符作为分隔符或结束符

(4)next()方法无法获取带有空格的字符,会忽略空格。

nextLine()方法:

(1)以回车键 (Enter)为结束符,即nextLine()方法会返回输入回车键之前的所有字符。

(2)nextLine()方法可以获取包含空白字符的输入,不会忽略空白字符

二、常用运算符

1.赋值运算符

赋值运算符“=”用于给变量赋值。可以和算术运算符结合,组成复合赋值运算符,复合运算符主要包括 “+=”、 “-=”、“*=”、“/=”、“%=”。

int i = 3;
​
int j = 5;
​
i=i+j; // 可用i +=j;代替
2.算术运算符

算术运算符包括 ”+“ 、”-” 、“*” 、“/” 、“%”、“++”、“- -''。

  • 取模(取余数):%,注意只有对于整数的除法来说,取模运算符才有余数的意义。

  • 除法,对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍然是整数。只看商,不看余数。

  • 单独使用自增/自减:自身+1,并无区别

  • 分别使用有很大区别:

    ”num++“是先运算再自增/自减【先使用再进行+1】

    "++num"是先自增/自减再进行运算【先+1再使用】

3.关系运算符

关系运算符 ”>=“ 、”<=“、"=="、"!="、">” 、“<”、用于表示两个值的关系

返回值只有boolean类型即true、false两种情况,在面向对象的时候会有其他情况出现。

  • “-”是赋值运算符,“=-”是等于运算符。61

  • ”>=“ 、“<=”、">” 、“<” 只支持数值类型比较。

  • “==”和“!=”支持所有数据类型的比较,包括数值型、布尔型、引用类型。

  • 关系表达式的运算结果是布尔值。

  • ”>=“ 、“<=”、">” 、“<” 运算符的优先级高于“==”和“!=”。

4.逻辑运算符
  • & : 逻辑与 , 两个操作数都是true 返回 true 否则返回false.

  • | : 逻辑或 , 两个操作数,其中一个是true, 返回true 否则返回false.

  • ^ : 逻辑异或 , 两个操作数相同,结果为false ,不同则为true.

  • !: 逻辑非, 操作数为true返回false ,操作数false 返回true

  • && : 短路与 , 运行规则和&一样,不同在于左边为false,右边表达式不会计算,相当于短路了

  • ||:短路或,如果左边为true,右边表达式不会计算,相当于短路。

  • 例如:

    &&:且
    System.out.println(3>5 && 3<4); FALSE 左边只要是错误直接跳出
    System.out.println(3>5 & 3<4); FALSE 两边都会参与运算
    || :或
    System.out.println(3>5 || 3<4); TRUE 左边不正确才,会进行右边运算
    System.out.println(3>5 | 3<4); TRUE 两边都会参与运算
5.位运算符
  • & : 按位与 , 两个操作数都是1 返回 1 否则返回0.

  • | : 按位或 , 两个操作数都是1 返回 1 否则返回0

  • ~ : 操作数位1返回0 ,操作数0 返回1

  • ^ : 按位异或 , 两个操作数相同,结果为0 ,不同则为1

  • << :左移,右侧补0

  • <<:右移,左侧空位补最高位,既符号位

  • (>>>):无符号右移,左侧空位补0

  • 左移公式:m<<n=m*(2^n)

  • 右移公式: m>>n=m/(2^n)

  • 正数的与运算

    image-20230801205041940

  • 正数的或运算

    image-20230801205139490

  • 正数的异或运算

    image-20230801205515736

  • 非运算

    image-20230801221858276

  • 左移

    image-20230801205726703

  • 右移

    image-20230801205749086

6.条件运算符

Java中唯一3个操作数的运算符,所以又称作三目运算符或三元运算符

格式:条件 ? 表达式 :表达式 2

  • 首先对条件进行判断,其结果为布尔值true 和 false

  • 如果条件为true,则返回表达式1的值

  • 如果条件为false,则返回表达式2的值

    例如

    public class Main{
        public static void main(String[] args){
            int min = 2 < 3 ? 2 : 3;
            System.out.println("min="+min);//min = 2    
        }
    }
7.运算符的优先级

单目运算符>算术运算符>位移运算符>关系运算符>逻辑运算符>三目运算符>赋值运算符

  • (),[] 从左向右

  • !,~,++,-- 从右往左

  • *,/,% 从左向右

  • +,- 从左向右

  • ( >>,<<,>>>) 从左向右

  • (<,>,<=,>=) instanceof 从左向右

  • ==,!= 从左向右

  • & 从左向右

  • ^ 从左向右

  • | 从左向右

  • && 从左向右

  • || 从左向右

  • ?: 从右向左

  • =,+=,-=,=,/=,%=,&=,|=,^=,~=,<<=,>>=,>>>= 从右向左

    • 赋值运算符具有极低的优先级,其次是条件运算符

    • 单目运算符,包括!,~,++和--,具有最高的优先级

    • 使用括号()可以控制表达式的运算顺序,括号具有坐高的优先级

    • 总体而言,运算符的优先级顺序是算术运算符>关系运算符>逻辑运算符

    • 结合性从右向左的运算符包括赋值运算符,三目运算符,单目运算符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值