JAVA基础之操作符

/*

  • 运算符:就是用于对常量和变量进行操作的符号

  • 表达式:用运算符连接起来的符合java语法的式子。不同的运算符连接的表达式是不同类型的表达式。

  • 运算符的分类:算术用运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符
    1)算术运算符:+,-,*,/的基本使用
    %:用于获取两个数相除时候的余数
    /:用于获取两个数相除时候的商
    +:做加法运算 (字符参与加法运算,其实就是拿字符在计算机中存储的数据值来参与运算的 ‘A’=65,‘a’=97,‘0’=48)
    (字符串参与加法运算,不是加法运算,而是字符串的拼接)(但是当数值计算在字符串前面时,应先进行其自身的运算)
    2)自增自减运算:
    ++:用于对变量加一,既可以用在变量的后面,也可以用在变量的前面
    单独使用的时候,++或者–放在变量的前面或者后面,结果一样。
    参与其他操作的时候:++在前面,先拿变量做操作,然后变量再++
    ++在后面,先变量++,然后再拿变量做操作
    –:用于对变量减一
    3)赋值运算符:
    基本的赋值运算符:=
    扩展的赋值运算符:+=,-=,/=,…
    4)关系运算符:==,!=,>,>=,<,<=
    关系运算符的结果是Boolean类型

       注意事项:千万不要把==写成=
    

    5)逻辑运算符:&,|,^,! &&,||
    &: 有false则false
    |: 有true则true
    ^: 相同为flase,不同为true
    !: ture则false,false则true
    &&:同&,但是和&的区别是,&&有短路效果,左边为false,右边不执行。而&无论什么情况下两边都要执行
    ||:同|,与|的区别同上
    6)三元运算符: 关系表达式?表达式1:表达式2;
    执行流程:计算关系表达式的值,看是true还是false -> 如果是true,结果为表达式1;如果是false,结果为表达式2
    */

package com.HeMai;
public class OperatorDemo {
	public static void main(String[] args) {
		//定义变量
		int a = 10;
		int b = 6;
		
		System.out.println(a + b);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);
		System.out.println(a % b);
		
		//整数相除只能得到整数。要想得到小数,就必须有浮点数参与运算。
		System.out.println(3.0 / 4);
		System.out.println(3 / 4.0);
	
		//字符参与加法运算
		System.out.println("1) 字符参与加法运算  ");
		char c = 'A';
		System.out.println(a + c);
	
		
		//字符串参与加法运算
		System.out.println("2) 字符串参与加法运算  ");
		System.out.println("hello" + a);
		System.out.println("hello" + a + b);
		System.out.println(a + b + "hello"); //先做加法运算,再做拼接运算
		
		//++的演示
		System.out.println("3) ++的演示   ");
		a++;
		++a;
		System.out.println("a:" + a);
		
		//++参与其他的操作
		System.out.println("4) ++参与其他的操作  ");
		//int x = a;
		int x = a++;
		int y = ++a;
		System.out.println("a:" + a);
		System.out.println("x:" + x);
		System.out.println("y:" + y);
		
		//赋值运算符
		System.out.println(" 5) 赋值运算符   ");
		int z = 10;//把10赋值给int类型的变量z		
		//+=的操作:拿+=的左边和右边的数据做加法,然后把结果赋值给左边
		z += 20;
		System.out.println("z:"+z);
		//注意:扩展的赋值运算符,隐含了强制类型转换
		//有一个变量a,a+=10;相当于 a = (a的数据类型)(a + 10);
		short s = 1;
		s +=1;
		System.out.println(s);
		
		//关系运算符
		System.out.println("6) 关系运算符   ");
		int a6 = 10;
		int b6 = 20;
		int c6 = 10;
		//==
		System.out.println("==");
		System.out.println(a6 == b6);
		System.out.println(a6 == c6);
		//!=
		System.out.println("!=");
		System.out.println(a6 != b6);
		System.out.println(a6 != c6);
		//>
		System.out.println(">");
		System.out.println(a6 > b6);
		System.out.println(a6 > c6);
		//>=
		System.out.println(">=");
		System.out.println(a6 >= b6);
		System.out.println(a6 >= c6);
		//注意事项:
		System.out.println("注意事项");
		System.out.println(a6 == b6);
		System.out.println(a6 = b6);//把b的值赋值给a,然后把a的值输出
		
		//逻辑运算符
		System.out.println("7) 逻辑运算符   ");
		int a7 = 3;
		int b7 = 4;
		int c7 = 5;
		//&
		System.out.println("&");
		System.out.println((a7>b7) & (a7>c7)); //f & f
		System.out.println((a7<b7) & (a7>c7)); //t & f
		System.out.println((a7>b7) & (a7<c7)); //f & t
		System.out.println((a7<b7) & (a7<c7)); //t & t
		//|
		System.out.println("|");
		System.out.println((a7>b7) | (a7>c7)); //f | f
		System.out.println((a7<b7) | (a7>c7)); //t | f
		System.out.println((a7>b7) | (a7<c7)); //f | t
		System.out.println((a7<b7) | (a7<c7)); //t | t
		//^
		System.out.println("^");
		System.out.println((a7>b7) ^ (a7>c7)); //f ^ f
		System.out.println((a7<b7) ^ (a7>c7)); //t ^ f
		System.out.println((a7>b7) ^ (a7<c7)); //f ^ t
		System.out.println((a7<b7) ^ (a7<c7)); //t ^ t
		//!
		System.out.println("!");
		System.out.println((a7>b7)); 
		System.out.println(!(a7>b7)); 
		System.out.println(!!(a7>b7)); 
		//&&
		System.out.println("&&");
		System.out.println((a7>b7) && (a7>c7)); //f && f
		System.out.println((a7<b7) && (a7>c7)); //t && f
		System.out.println((a7>b7) && (a7<c7)); //f && t
		System.out.println((a7<b7) && (a7<c7)); //t && t
		//|
		System.out.println("||");
		System.out.println((a7>b7) || (a7>c7)); //f || f
		System.out.println((a7<b7) || (a7>c7)); //t || f
		System.out.println((a7>b7) || (a7<c7)); //f || t
		System.out.println((a7<b7) || (a7<c7)); //t || t
		//区别
		System.out.println("&&和&的区别");
		int x7 = 10;
		int y7 = 20;
		//System.out.println((x7++ > 10) & (y7++ > 20));//f & f
		System.out.println((x7++ > 10) && (y7++ > 20));//f && f
		System.out.println("x7:"+x7);
		System.out.println("y7:"+y7);
		
		//三元运算符
		System.out.println("8) 三元运算符");
		int a8 = 10;
		int b8 = 20;
		int c8 = (a8>b8)?a8:b8;
		System.out.println("c8:"+c8);
		//test:比较两个数是否相同?
		System.out.println("testr--1");
		boolean flag = (a8 == b8)?true:false;
		//boolean flag = (a8 == b8);
		System.out.println("flag:"+flag);
		//test:获取三个整数的最大值:先获取两个数的最大值,然后再与第三个比较
		System.out.println("testr--2");
		int d8 = 30;
		int temp = (a8 > b8)?a8:b8;
		int max = (temp > d8)?temp:d8;
		System.out.println("max:"+max);
		
	}
}

猜你喜欢

转载自blog.csdn.net/qq_42268638/article/details/82862448