运算符与键盘录入
运算符
1.运算符:用于运算和操作数据的符号
2.分类
- (1)算数运算符
- (2)赋值运算符
- (3)比较运算符
- (4)逻辑运算符
- (5)位移运算符
- (6)三元运算符
- (7)自增自减运算符
一、运算符分类
1、算数运算符
1.用于做算数运算的符号
2.+ - * / %
3.+:加法运算符
(1)表示正数
(2)表示算数的加法
(3)表示字符串的拼接
4./:除法运算符
(1)如果两个整数相除,结果还是一个整数。
(2)如果任意一个操作是小数,那么结果就是小数。
5.%:取模运算、取余运算符:获取两个数相除的余数。
(1)注意事项:取余的结果符号只和%前面的操作的符号有关。
(2)作用:获取余数、判断奇偶、判断是否整除。
代码示例:
class day4_1{
public static void main(String[] args){
// +
System.out.println(10 + 10); //20
// -
System.out.println(10 - 5); //5
// *
System.out.println(10 * 2); //20
// /
System.out.println(10 / 3); //3
// %
System.out.println(10 % 2); //0
}
}
2、赋值运算符
1.用于给变量进行赋值的运算符
2.分类
(1)基本的赋值运算符:=
(2)扩展的赋值运算符:+= -= *= /= %=
3.基本的赋值运算符
将赋值运算符右边的数量,赋值给左边的变量
4.扩展赋值运算符
将符号左右两边的数量,进行算数运算,将结果赋值给符号左边的变量。
代码示例:
class day4_2{
public static void main(String[] args){
byte b = 1;
short s = 100;
int i = 2000;
int j = i;
System.out.println(j); //把i的值赋值给j,输出j
// +=
int a = 5;
a += 3; //a=a+3
System.out.println(a); //8
// -=
int b = 4;
b -= 2; //b=b-2
System.out.println(b); //2
// *=
a *= 5; // a = a*5
System.out.println(a); //25
// /=
a /= 2; //a = a / 2
System.out.println(a); //2
// %=
a %= 2;
System.out.println(a); //1
}
}
3、比较运算符
1.用于比较两个数据是否相等,比较两个数据的大小关系的运算符
2.分类
(1)== ,!=:可以比较任意数据类型。
(2)> >= < <=:可以比较数值类型(整数类型、小数类型、字符类型)
3.运算结果
Boolean类型,要么是true,要么是false。
代码示例:
class day4_3{
public static void main(String[] args){
// ==
System.out.println(10 == 10); //true
// !=
System.out.println(10 != 10); //false
// >=
System.out.println(10 >= 2); //true
// <=
System.out.println(10 <= 3); //false
// >
System.out.println(10 > 2); //true
// <
System.out.println(10 < 2); //false
}
}
4、逻辑运算符
1.用于处理逻辑值的运算符,就是逻辑运算符
2.处理的数据:逻辑值;处理的结果:逻辑值
3.分类
(1)普通的逻辑运算符:& | ^ !
(2)短路的逻辑运算符:&& ||
4.&:逻辑与。全真为真,否则为假
(1)true & true true
(2)true & false false
(3)false & true false
(4)false & false false
5.|:逻辑或。全假为假,否则为真
(1)True | true true
(2)True | false true
(3)False | true true
(4)False | false false
6.^:逻辑异或 相同为假,不同为真
(1)True ^ true false
(2)True ^ false true
(3)False ^ true true
(4)False ^ false false
7.!:逻辑非 遇真为假,遇假为真。【常用】
(1)!true false
(2)!false true
8.短路逻辑运算符【常用】:逻辑运算符前后的两个表达式中,第一个表达式计算完成之后,一定可以确定整个逻辑表达式的值,那么就不在计算第二个表达式的值。
(1)&&逻辑短路与,如果第一个表达式计算结果为false,那么第二个表达式就不在计算,直接给出false的结果
||逻辑短路或,如果第一个表达式的计算结果为true,那么第二个表达式就不在计算,直接给出true的结果。
class day4_4{
public static void main(String[] args){
// &
boolean tt = true;
boolean t = true;
boolean m = tt & t
System.out.println(m); //true
// |
boolean n = tt | t
System.out.println(n); //true
// ^
boolean s = tt ^ t
System.out.println(s); //false
//短路与或
// &
int a = 3;
boolean mm = (a > 100 & a < 150);
System.out.println(mm); //false
// &&
boolean cc = (a < 100 && a > 15);
System.out.println(cc); //false
// |
boolean ww= (a < 100 || a > 1);
System.out.println(ww); //true
// ||
boolean cc = (a > 100 || a > 15);
System.out.println(cc); //false
}
}
5、位移运算符
1.对于数据在内存中的表示,进行按照位来移动,一次达到对数据进行运算的目的。
2.说明:
(1)只能操作证书类型的数据,运算结果还是整数
3.<< ,>>,>>>
(1)<<:左移运算符,每次移动一位,会将原来的数字扩大2倍。
(2)>>:右移运算符,每次移动一位,会将原来的数字缩小为原来的二分之一。
(3)>>>:无符号右移,每次移动一位,会将原来的数字缩小为原来的二分之一,这个运算符只能针对于正整数。效率高于右移运算符。
代码示例:
class day4_5 {
//位移运算符:运算比乘以二或者除以二,效率更高
public static void main(String[] args){
//左移运算符 移动一位,扩大两倍
int i = 10;
System.out.println(i << 1);
//右移运算符 移动一位缩小为原来的1/2,第一次为10,第二次就是10/2 = 5
int j = 20;
System.out.println(j >> 2);
//无符号右移 只能操作正数
int m = 20;
System.out.println(m >>> 1);
}
}
6、三元运算符
1.元:可以操作的数据或者表达式
2.三元运算符:同时可以操作三个数据或者表达式的运算符
3.格式
表达式1 ? 表达式2 : 表达式3
4.说明
(1)表达式1必须是boolean类型的表达式,计算的结果只能是true或者false
(2)表达式2和表达式3可以是任意类型的表达式
5.运算流程
(1)计算表达式1的值,要么是true要么是false
(2)如果表达式1结果为true,就选择表达式2作为整个三元表达式的结果
(3)如果表达式1结果为false,就选择表达式3作为整个三元表达式的结果
class day4_6 {
public static void main(String[] args){
//如果成绩大于等于60输出及格 小于60不及格
int score = 80;
System.out.println(score > 60 ? "及格":"不及格");
//判断a、b的值,输出最大值
int a = 60;
int b = -16;
System.out.println(a > b ? a :b);
//四组数值,获取最大值
int c = -56;
int d = 12;
int e = 78;
int f = -14;
int Max1;
int Max2;
//c和d,输出最大的一个值
Max1 = c > d ? c : d;
//把ef进行判断输出最大的一个值
Max2 = e > f ? e :f ;
//cd与ef的最大值进行比较,最终的到最大值
System.out.println(Max1 > Max2 ? Max1 : Max2);
}
}
7、自增自减运算符
1.++、–
2.++:自增运算符
3.作用:在某个变量的基础上,自增1
4.注意事项
(1)自增运算符既可以写在变量的前面,也可以写在变量的后面
(2)当i++和++i作为一个语句存在时,没有任何区别,都是表示一个自增的动作,都可以把i自增1
(3)当i++和++i作为一个表达式存在时,有区别的,表示的数量的值是由区别的:
i++是现获取i的值,然后在自增
++i先自增,然后在获取i的值
代码示例:
class day4_7 {
public static void main(String[] args){
//后++,先把值拿过来用,在进行+1,所以m++的值为5,运行结束之后再加1,
//这个时候m的值就变成了6
int m = 5;
System.out.println(m++);//5
System.out.println(m);//6
//前++,先进行+1,然后再进行运行,
//这个时候m的值就变成了7
int w = 6;
System.out.println(++m);//7
System.out.println(m);//7
//减减是相同的道理,--在后
int n = 12;
System.out.println(n--);//12
System.out.println(n);//11
//--在前
int b = 12;
System.out.println(--n);//10
System.out.println(n);//10
//--在前,负数的时候(运算的结果是正数)
int v = -12;
System.out.println(--n);//-10
System.out.println(n);//-10
//混合++
int c = 12;
int x = 15;
int sum;
//sum = 12 + 14 + 15 + 17 + 18=76 c最终为14,x的值最终为18
sum = (c++)+(++c)+(x++)+(++x)+(++x);
System.out.println(sum);
System.out.println(c);
System.out.println(x);
}
}
二、键盘录入
1.概述
1.键盘录入:在程序运行过程中,可以让用户录入一些数据,存储在内存的变量中,在后续的程序运行过程中,可以使用这些数据。
2.步骤
(1)第一步:导包,在类声明的上面,import java.util.Scanner
(2)第二步:创建键盘录入对象。
①Scanner sc = new Scanner(System.in);
(3)第三步:调用sc对象中的nextInt()方法,获取键盘录入的数据。
①int i = sc.nextInt();
(4)第四步:使用i进行后续操作。
import java.util.Scanner;
//导入键盘录入的包
class Day3_键盘录入 {
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//编写提示信息
System.out.println("请输入一个整数:");
//调用sc对象中的nextInt方法,获取键盘录入的值
int i = sc.nextInt();
System.out.println(i);
}
}
总结
这里对文章进行总结:
以上就是今天要讲的内容,本文简单介绍了运算符的分类,以及每类的使用,难理解的点也就是自增自减还有逻辑与逻辑或等地方,多理解,多敲几遍。还说了键盘录入的步骤,记得要导包。