java第4天:随机数和运算符

本文介绍了Java中的随机数生成,包括如何产生int范围内的随机数以及随机小数,并强调这些是伪随机数。接着讲解了各种运算符,如一元、二元、三元运算符,算术、赋值、比较、逻辑和位运算符,以及条件运算符的用法。在运算符中特别提到了赋值运算符的拓展形式和比较运算符在字符串比较时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随机数 Random

  1. 导包
  2. 创建引用数据类型的引用 Random ran = new Random()
  3. 使用 nextInt() 产生int范围的随机数
    nextInt(n) 产生[ 0, n ) 随机整数
    nextDouble() 产生[ 0, 1 ) 随机小数

伪随机数,不是完全随机的.

import java.util.Random;

public class Demo {
    public static void main(String[] arg) {
        // 创建
        Random ran = new Random();

        // 使用功能
        int num1 = ran.nextInt();

        System.out.println(num1);
        System.out.println(ran.nextInt());
        System.out.println(ran.nextInt());
        System.out.println(ran.nextInt());
        System.out.println(ran.nextInt(5));
        System.out.println(ran.nextDouble());
    }
}

运算符

根据操作数的个数分类:

  • 一元运算符 | 单目: + - ++ –
  • 二元 | 双目: + - * /
  • 三元 | 三目:条件运算符

算术运算符

    • : 正号(可以省略) ,加法运算,字符串连接符
  • % : 求余数 取模 模以.
  • 如果字符类型没有参与四则运算,则不许愿转为对应的十进制的整数
public class Demo {
    public static void main(String[] arg) {
        int a = 5;
        int b = 3 + a;
        System.out.println("" + a);
        System.out.println("" + a + "2" + "lala"); // 52lala
        System.out.println('a' + a + "2" + "lala"); // 1022lala
        System.out.println(7 % 5); // 2
    }
}
  • ++ : 自增
  • – : 自减
  • ++ – 放操作数后面,先运算,再±1.放操作数前面,则先±1再运算.
public class Demo {
    public static void main(String[] arg) {
        int a = 5;
        int b = a + 10;
        System.out.println(++a); // 6
        System.out.println(a);// 6
        System.out.println(b);// 15
        System.out.println(++a + b);// 22
        System.out.println(a++ + b);// 22
        System.out.println(a);// 8

        int sum = ++a + a++ + a++ + ++a; // sum = 9 + 9 + 10 + 12
        System.out.println(sum);// 40
        System.out.println(a);// 12

    }
}

赋值运算符

  • = : 基础赋值运算符
  • += -= *= /= %= : 拓展赋值运算符. 推荐使用这种写法.执行效率高.自动强制类型转换.

public class Demo {
    public static void main(String[] arg) {
        int a = 5;
        int b = 10;
        b += a;
        System.out.println(b); // 15

        // 强制类型转换
        short s = 1;
        System.out.println(s += 1); // 2

    }
}

比较运算符 | 关系运算符

  • < >= <= 只能对byte, short, int, long, double, float, char进行判断

  • == != 可以对任意类型进行判断
  • 比较运算符的结果都为boolean类型的结果
  • 判断字符串是否相等不推荐使用==和 !=
    逻辑运算符
    多个逻辑条件之间的连接符
  • &
  • |
  • ^
  • !
  • && 跟js一样 有短路效果
  • ||
    两边的操作数需要时boolean
    建议优先使用双逻辑运算符
    条件运算符
    条件表达式 ? 值1 : 值2 ;
    跟js的一样.
    位运算符
    先把操作数转为二进制,然后通过位运算符的规则进行运算,最终得到一个二进制的结果,转为十进制
    位运算符效率高, 使用位移运算符比直接使用 * | / 2的效率高.

& : and 同一位置的两个数,两个都为1才是1,一个为0就是0
| : or
^ : 异或 同一位置的两个数 相同为0 不同为1
这三个运算符当操作数为boolen,作为逻辑运算符使用.
整数,作为位运算符使用.
一个操作数对同一个数据异或2此,得到原数据本身.
位移运算符

  • 左移 << 操作数1 << 操作数2 相当于乘以2的n次方
    操作数1转为二进制,向左移动操作数2个位置,空位补0,最终转为十进制
  • 右移 >> 相当于除以2的n次方
public class Demo {
    public static void main(String[] arg) {

        System.out.println(2 & 3); // 2
        System.out.println(0 & 3); // 0
        System.out.println(0 | 3); // 3
        System.out.println(2 | 3); // 3
        System.out.println(5 | 3); // 7
        System.out.println(3 << 2); // 12
        System.out.println(12 >> 2); // 3

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值