目录
一、.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)
-
正数的与运算
-
正数的或运算
-
正数的异或运算
-
非运算
-
左移
-
右移
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 从左向右
-
==,!= 从左向右
-
& 从左向右
-
^ 从左向右
-
| 从左向右
-
&& 从左向右
-
|| 从左向右
-
?: 从右向左
-
=,+=,-=,=,/=,%=,&=,|=,^=,~=,<<=,>>=,>>>= 从右向左
-
赋值运算符具有极低的优先级,其次是条件运算符
-
单目运算符,包括!,~,++和--,具有最高的优先级
-
使用括号()可以控制表达式的运算顺序,括号具有坐高的优先级
-
总体而言,运算符的优先级顺序是算术运算符>关系运算符>逻辑运算符
-
结合性从右向左的运算符包括赋值运算符,三目运算符,单目运算符
-