运算符与键盘录入



文章目录

  • 运算符与键盘录入
  • 运算符
  • 一、运算符分类
  • 1、算数运算符
  • 2、赋值运算符
  • 3、比较运算符
  • 4、逻辑运算符
  • 5、位移运算符
  • 6、三元运算符
  • 7、自增自减运算符
  • 二、键盘录入
  • 1.概述
  • 总结



运算符

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);
	}
}

总结

这里对文章进行总结:
以上就是今天要讲的内容,本文简单介绍了运算符的分类,以及每类的使用,难理解的点也就是自增自减还有逻辑与逻辑或等地方,多理解,多敲几遍。还说了键盘录入的步骤,记得要导包。