• Java运算符和引用数据类型(Scanner、Random)


    运算符

    算术运算符:

    运算符

    运算规则

    范例

    结果

    +

    正号

    +3

    3

    +

    2+3

    5

    +

    连接字符串

    “中”+“国”

    “中国”

    -

    负号

    int a=3;-a

    -3

    -

    3-1

    2

    *

    2*3

    6

    /

    5/2

    2

    %

    取模

    5%2

    1

    ++

    自增

    int a=1;a++/++a

    2

    --

    自减

    int b=3;a--/--a

    2

    加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。

    除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。

    “%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。

    整数做被除数,0不能做除数,否则报错。

     

    算术运算符++、--的使用

    ++运算符:会在原来的基础上自增1

    --运算符:会在原来的基础上自减1

    ++、-- 运算符后置时,先使用变量原有的值参与运算,运算操作完成后,变量x的值自增1或者自减1

    ++、--运算符前置时,先将变量x的值自增1或者自减1,然后使用更新后的新值参与运算操作

     

     

    赋值运算符

    运算符

    运算规则

    范例

    结果

    =

    赋值

    int a=2

    2

    +=

    加后赋值

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

    4

    -=

    减后赋值

    int a=2,a-=2

    (a=a-2)

    0

    *=

    乘后赋值

    int a=2,a*=2

    (a=a*2)

    4

    /=

    整除后赋值

    int a=2,a/=2

    1

    %=

    取模后赋值

    int a=2,a%=2

    0

     

     

    比较运算符

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

     

    运算符

    运算规则

    范例

    结果

    ==

    相等于

    4==3

    False

    !=

    不等于

    4!=3

    True

    小于

    4<3

    False

    大于

    4>3

    True

    <=

    小于等于

    4<=3

    False

    >=

    大于等于

    4>=3

    True

     

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

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

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

     

    逻辑运算符

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

     

    运算符

    运算规则

    范例

    结果

    &

    false&true

    False

    |

    false|true

    True

    ^

    异或

    true^flase

    True

    !

    !true

    Flase

    &&

    短路与

    false&&true

    False

    ||

    短路或

    false||true

    True

     

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

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

     

    运算符的结果规律:

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

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

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

    //&与的运行结果

    System.out.println(false&true);//false

    System.out.println(true&false);//false

    System.out.println(true&true);//true

    System.out.println(false&false);//false

    //&&短路与的运行结果

    System.out.println(false&&true);//false

    System.out.println(true&&false);//false

    System.out.println(true&&true);//true

    System.out.println(false&&false);//false

    //例子

    int a=1;

    int b=1;

    System.out.println(1==2&a++ ==1);//false

    System.out.println(1==2&&b++ ==1);//false

    System.out.println(a);//2

    System.out.println(b);//1

    注意:

    与&和短路与&&的区别

    &如果第一个值是false,还会判断第二个值

    &&如果第一个值是false,将不会判断第二个值

    //|或运行结果

    System.out.println(false|true);//true

             System.out.println(true|false);//true

             System.out.println(true|true);//true

             System.out.println(false|false);//false

             //||短路或运行结果

             System.out.println(false||true);//true

             System.out.println(true||false);//true

             System.out.println(true||true);//true

             System.out.println(false||false);//false

             //例子

             int c=1;

    int d=1;

             System.out.println(1==1|c++ ==1);//true

             System.out.println(1==1||d++ ==1);//true

             System.out.println(c);//2

             System.out.println(d);//1

     

    注意:

    // 或| 短路或||的区别

    |如果第一个值为true,还会判断第二个值

    ||如果第一个值为true,不会判断第二个值

     

     

     

    三元运算符

    格式:

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

    三元运算符的运算规则:

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

     

     

    例子:

     

    //随机出入三个数,然后输出最大值

    import java.util.Scanner;

    class Demo05 {

             public static void main(String[] args) {

                      

                       Scanner sc = new Scanner(System.in);

                      

                       System.out.println("请输入第一个数:");

                       int x=sc.nextInt();

                       System.out.println("请输入第二个数:");

                       int y=sc.nextInt();

                       System.out.println("请输入第三个数:");

                       int z=sc.nextInt();

                       int max = (x>y?x:y)>z?(x>y?x:y):z;

                       System.out.println("最大值为:"+max);

             }

    }

    Max= (x>y?x:y)>z?(x>y?x:y):z;

    先判断两边括号里面x,y的值,如果x值大然后在跟z值比大小,若y值大然后y跟z值在比较大小

    运算符优先级

    每种运算符的优先级,按照运算先后顺序排序(优先级相同的情况下,按照从左到右的顺序依次运算)

    优先级

    描述

    运算符

    1

    括号

    ()、[]

    2

    正负号

    +、-

    3

    自增自减,非

    ++、--、!

    4

    乘除,取余

    *、/、%

    5

    加减

    +、-

    6

    移位运算

    <<、>>、>>>

    7

    大小关系

    >、>=、<、<=

    8

    相等关系

    ==、!=

    9

    按位与

    &

    10

    按位异或

    ^

    11

    按位或

    |

    12

    逻辑与

    &&

    13

    逻辑或

    ||

    14

    条件运算

    ?:

    15

    赋值运算

    =、+=、-=、*=、/=、%=

    16

    位赋值运算

    &=、|=、<<=、>>=、>>>=

    引用数据类型

    Scanner类

    Scanner类

    Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。

    Scanner使用步骤:

             导包:import java.util.Scanner;

    创建对象实例:Scanner sc = new Scanner(System.in);

    调用方法:

                   int  i = sc.nextInt(); 用来接收控制台录入的数字
                                             String s = sc.next(); 用来接收控制台录入的字符串

    例子:

    import java.util.Scanner;

    public class ScannerDemo01 {

        public static void main(String[] args) {

            //创建Scanner引用类型的变量

            Scanner sc = new Scanner(System.in);

            //获取数字

            System.out.println("请输入一个数字");

            int n = sc.nextInt();

            System.out.println("n的值为" + n);

            //获取字符串

            System.out.println("请输入一个字符串");

            String str = sc.next();

            System.out.println("str的值为" + str);

        }

    }

       


    运行结果:

    随机数类Random

    这个Random类,它可以产生多种数据类型的随机数,在这里我们主要介绍生成整数与小数的方式。

    public int nextInt(int maxValue)       产生[0,maxValue)范围的随机整数,包含0,不包含maxValue;

    public double nextDouble()  产生[0,1)范围的随机小数,包含0.0,不包含1.0。

    l  Random使用方式:

    n  import导包:所属包java.util.Random 

    n  创建实例格式:Random 变量名 = new Random();

     

    接下来,通过一段代码,一起学习下Random类的使用,RandomDemo.java

    import java.util.Random;

    public class RandomDemo {

        public static void main(String[] args) {

            // 创建Random类的实例

            Random r = new Random();

            // 得到0-100范围内的随机整数,将产生的随机整数赋值给i变量

            int i = r.nextInt(100);

            //得到0.0-1.0范围内的随机小数,将产生的随机小数赋值给d变量

            double d = r.nextDouble();

            System.out.println(i);

            System.out.println(d);

        }

    }

             运行结果如下图所示:

          

     

  • 相关阅读:
    centos 创建swap 交换分区
    nginx android app 慢网络请求超时
    使用docker toolbox 在windows上搭建统一环境
    Docker Volume 之权限管理(转)
    一次架构失误的反思
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?
    docker-compose启动报错,解决方案
    php 执行程序分析
    继电器是如何成为CPU的(2)
    [每天默写一个算法]KMP
  • 原文地址:https://www.cnblogs.com/mengmengi/p/10419102.html
Copyright © 2020-2023  润新知