一、Scanner类
用于扫描输入文本的实用程序。
1.导入Scanner类
import java.util.Scanner;
2.创建Scanner对象
Scanner sc=new Scanner(System.in);
3.获取用户输入的数据
String next() | 获得一个字符串 |
String nextLine() | 获取一个字符串 |
int nextInt() | 获得一个整数 |
double nextDouble() | 获得一个双精度浮点数 |
boolean hasNext() | 判断是否有输入数据,如果有,则返回true,否则返回false |
next()方法:
- 一定要读取到有效字符才可以结束输入
- 对输入有效字符中间的空白字符,next()会自动将其取出
- 只有输入有效字符时,才将其后面输入的空白字符作为分隔符或结束符
- next()无法获取带有空格的字符
nextLine()方法:
- 以回车键为结束符,会返回回车键之前的所有字符
- 可以获取包括空白字符的输入,不会忽略空白字符
------用next()接收
import java.util.Scanner;
public class Section02{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入:");
String str=sc.next();
System.out.println("你的输入用next接收为:"+str);
sc.close();
}
}
--------用nextLine()接收
import java.util.Scanner;
public class Section03{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入:");
String str=sc.nextLine();
System.out.println("你的输入用nextLine接收为:"+str);
sc.close();
}
}
4.示例
完成“实现成绩管理”任务:从键盘输入学生姓名、数学成绩、语文成绩,然后输出学生的成绩信息。实现步骤如下:
①导入Scanner类
②定义变量存储学生姓名、数学、语文成绩
③定义Scanner变量
④使用Scanner输入数据,将数据保存到变量中
⑤输出成绩信息
import java.util.Scanner;
public class ScoreManage{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name=input.next();
System.out.println("请输入数学成绩:");
int math=input.nextInt();
System.out.println("请输入语文成绩:");
int chinese=input.nextInt();
input.close();
System.out.println("学生姓名是:"+name);
System.out.println("数学成绩是:"+math);
System.out.println("语文成绩是:"+chinese);
}
}
二、赋值运算符
基本的赋值运算符其实就是=号,意思就是把右边的数据赋值给左边的变量。
int a = 10; // 将数据10赋值给左边的变量a
除了基本的运算符外还有,+=、-=、*=、/=、%=。
+= | 加后赋值 | a+=b(a=a+b) | a = (a的类型)(a + b); |
-= | 减后赋值 | a-=b(a=a-b) | a = (a的类型)(a - b); |
*= | 乘后赋值 | a*=b(a=a*b) | a = (a的类型)(a * b); |
/= | 除后赋值 | a/=b(a=a/b) | a = (a的类型)(a / b); |
%= | 取余后赋值 | a%=b(a=a%b) | a = (a的类型)(a % b); |
int a = 10;
a += 5; // a = a + 5;
System.out.println(a); // 15
三、算术运算符
算术运算符有+、-、*、/、%、++、--。
+ | 加法运算符 | 2+3 | 5 |
- | 减法运算符 | 2-3 | -1 |
* | 乘法运算符 | 2*3 | 6 |
/ | 除法运算符 | 2/3 | 0 |
% | 取模运算符 | 2%3 | 2 |
++ | 自增运算符 | i=2;j=i++; | i=3;j=2; |
-- | 自减运算符 | i=2;j=i--; | i=1;j=2; |
/*
从键盘输入一个四位整数,求个位数之和。
①使用/和%分别求得各位数是几
②将求出的各位数相加算出结果
*/
import java.util.Scanner;
public class Arithmetic{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入四位数字:");
int number=in.nextInt();
int thousand=number/1000;
int hundred=number/100%10;
int ten=number/10%10;
int one=number%10;
int sum=thousand+hundred+ten+one;
System.out.println("千位数:"+thousand+",百位数:"+hundred+",十位数:"+ten+",个位数:"+one);
System.out.println("千位、百位、十位、个位之和为:"+sum);
}
}
四、关系运算符
也称为比较运算符,用于比较两个变量或常量的大小,并返回布尔值true或false来表示比较结果。共有六个常用的关系运算符,分别是"=="、"!="、">"、"<"、">="、"<="。
== | 等于 | 2==3 | false |
!= | 不等于 | 2!=3 | true |
> | 大于 | 2>3 | false |
< | 小于 | 2<3 | true |
>= | 大于等于 | 2>=3 | false |
<= | 小于等于 | 2<=3 | true |
- "="是赋值运算符,"=="是等于运算符
- ">" "<" ">=" "<="只支持数值类型比较
- "=="和"!="支持所有数据类型的计较,包括数值型、布尔型、引用类型
- 关系表达式的运算结果是布尔型
- ">" "<" ">=" "<="运算符的优先级高于 "=="和 "!="
五、逻辑运算符
逻辑运算符是用来将多个条件放在一起运算,最终结果是true或false。
& | 逻辑与 | 两个操作数都是true,结果才是true,两个操作数有一个是false,结果为false;无论左边取值是true还是false,右边表达式都会进行计算 |
| | 逻辑或 | 两个操作数都是false,结果才是false。两个操作数有一个是true,结果为true;无论左边取值是true还是false,右边表达式都会进行计算。 |
^ | 逻辑异或 | 两个操作数相同,结果为false;两个操作数不同,结果为true。 |
! | 逻辑非 | 操作数为true,结果为false;操作数为false,结果为true |
&& | 短路与 | 运行规则同“&”,不同在于如果左边为false,右边表达式不会计算,相当于短路了。 |
|| | 短路或 | 运行规则同“|”,不同在于如果左边为true,右边表达式不会计算,相当于短路了。 |