zoukankan      html  css  js  c++  java
  • Java运算符

    一.赋值运算符

    赋值运算符就是为变量赋值的符号

    运算符

    运算规则

    范例

    结果

    =

    赋值

    int a=2

    2

    +=

     

    加后赋值

    int a=2a+=2,(a=a+2

    4

    -=

    减后赋值

    int a=2a-=2

    (a=a-2)

    0

    *=

    乘后赋值

    int a=2a*=2

    a=a*2

    4

    /=

    整除后赋值

    int a=2a/=2

    1

    %=

    取模后赋值

    int a=2a%=2

    0

    class Demo06 
    {
    	public static void main(String[] args) 
    	{
    		//+=
    		int a=1;
    		a+=2;//a=a+2;
    		System.out.println(a);//3
    		//-=
    		a-=1;//a=a-1;
    		System.out.println(a);//2
    		a*=3;
    		System.out.println(a);//6
    		a/=4;//a=a/4=6/4=1;
    		System.out.println(a);//1
    		a%=2;
    		System.out.println(a);//1
    	}
    }
    

     注意:赋值运算符左边必须是变量

    二.比较运算符

    比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false

    运算符

    运算规则

    范例

    结果

    ==

    相等于

    4==3

    False

    !=

    不等于

    4!=3

    True

    <

    小于

    4<3

    False

    >

    大于

    4>3

    True

    <=

    小于等于

    4<=3

    False

    >=

    大于等于

    4>=3

    True

    这里需要注意一下:

     赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:

     赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;

    比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。

     

    int a = 3;
    int b = 4;
    System.out.println( a=b );
    System.out.println( a==b );
    

     

     上面代码输出的结果第一个值为4,第二个值为true

    三.逻辑运算符

    逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值truefalse

    运算符

    运算规则

    范例

    结果

    &

    false&true

    False

    |

    false|true

    True

    ^

    异或

    true^flase

    True

    !

    !true

    Flase

    &&

    短路与

    false&&true

    False

    ||

    短路或

    false||true

    True

     

    逻辑运算符的常规使用方式:

    l逻辑运算符通常连接两个其他表达式计算后的布尔值结果

    当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断

    例:

    boolean b = 100>10;
    boolean b2 = false;
    System.out.println(b&&b2); // 打印结果为 false
    System.out.println(b||b2); //打印结果为 true
    System.out.println(!b2); //打印结果为 true
    System.out.println(b && 100>10); //打印结果为 true,
    

    运算符的结果规律:

     短路与&&:参与运算的两边数据,有false,则运算结果为false;

     短路或||:参与运算的两边数据,有true,则运算结果为true;

    逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true

    四.三目运算符

    格式:

     

    (条件表达式)?表达式1:表达式2;
    

    三元运算符运算规则:

    先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2

    例:

    class Demo08 
    {
    	public static void main(String[] args) 
    	{
    		int a=2;
    		int b=3;
    		int c=1;
    		//求a,b最大值
    		//int max=(a>b)?a:b;
    		//System.out.println(max);
    		int max=(a>b?a:b)>c?(a>b?a:b):c;
    		System.out.println(max);
    		//判断男女 如果是0代表女,如果是1代表男
    		int ssex=0;
    		String mes=(ssex==1?"男":"女");
    		System.out.println(mes);
    	}
    }
    

    引用数据类型:类

    import java.util.Scanner;
    class Demo09 
    {
    	public static void main(String[] args) 
    	{
    		//在java中只有两种数据类型:基本数据类型,引用数据类型
    		//数据类型 变量名=new 数据类型()
    		Scanner sc=new Scanner(System.in);
    		//让用户输入一个整数
    		int num=sc.nextInt();//存在返回值,需要接一下,做个定义,一个变量只能接一个值,sc变量可以重复接收
    		System.out.println("你输入的整数为:"+num);
    		//让用户输入一个小数
    		double num2=sc.nextDouble();
    		System.out.println("你输入的小数为:"+num2);
    		//让用户输入一个字符串
    		String num3=sc.next();
    		System.out.println("你输入的字符串为:"+num3);
    	}
    }
    

     例:(类)

    import java.util.Scanner;
    class Demo10 
    {
    	public static void main(String[] args) 
    	{
    		Scanner sc=new Scanner(System.in);
    		//让用户输入三个数,求最小值
    		int num1=sc.nextInt();
    		int num2=sc.nextInt();
    		int num3=sc.nextInt();
    		int min=(num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;
    		System.out.println("最小值是"+min);
    		//用户输入四个数,求最大值最小值
    		int num1=sc.nextInt();
    		int num2=sc.nextInt();
    		int num3=sc.nextInt();
    		int num4=sc.nextInt();
    		int max=(num1>num2?num1:num2)>(num3>num4?num3:num4)?(num1>num2?num1:num2):(num3>num4?num3:num4);
    		int min=(num1<num2?num1:num2)<(num3<num4?num3:num4)?(num1<num2?num1:num2):(num3<num4?num3:num4);
    		System.out.println("最大值是"+max);
    		System.out.println("最小值是"+min);
    	}
    }
    

     

     

  • 相关阅读:
    poj 1789 每个字符串不同的字母数代表两个结点间的权值 (MST)
    poj 1251 poj 1258 hdu 1863 poj 1287 poj 2421 hdu 1233 最小生成树模板题
    poj 1631 最多能有多少条不交叉的线 最大非降子序列 (LIS)
    hdu 5256 最少修改多少个数 能使原数列严格递增 (LIS)
    hdu 1025 上面n个点与下面n个点对应连线 求最多能连有多少条不相交的线 (LIS)
    Gym 100512F Funny Game (博弈+数论)
    UVa 12714 Two Points Revisited (水题,计算几何)
    UVa 12717 Fiasco (BFS模拟)
    UVa 12718 Dromicpalin Substrings (暴力)
    UVa 12716 && UVaLive 6657 GCD XOR (数论)
  • 原文地址:https://www.cnblogs.com/xinzong/p/14267588.html
Copyright © 2011-2022 走看看