Week1的tips

Week1的tips

关于byte b =(byte)128为什么会输出-128

java中整数类型的数据默认都是int类型,所以对b赋值时,会经过一次int转byte类型的操作,即把二进制的int类型数据截取后8位,再将这8位数以补码形式输出.

(int)128: 0000 0000 0000 0000 0000 0000 1000 0000
截取 : 1 000 0000
转成补码(符号位是负数,取反+1): 1 111 1111 -> 1 000 0000

此时,最高符号位是负数,其余位表示0,10000000应当理解为-0
但+0和-0输出都是0,所以为了区分,通常会使用该数据所能表达的最小值代替-0
于是,byte类型的b赋值128会变成-128输出(byte类型的表达范围是:-128~127)

使用Random类产生随机整数

使用方法

//引入 import java.util.Random;
Random random = new Random() ;
int i = random.nextInt(max);//产生大于0,小于(不等于)max的随机整数

为事件添加发生概率

通过随机数+条件选择实现,当产生的随机数在某个区间内,则认为该事件发生了,区间的设置有两种方式

  1. 规定最大值max,如果产生的随机数在0~max内,则事件发生
    例:
    在条件1下有10,7%的概率发生事件A,在条件2下有20.23%概率发生事件B.
    设置产生0~100的随机浮点数num,如果条件1触发,则设置最大值max为10.7,如果产生的随机数小于10.7,则事件A发生

  2. 根据要求,把一个整数划分成不同比例的区间
    例:
    如果条件触发时有10%的概率发生事件A,20%概率发生事件B,70的概率发生事件C
    则可以把10划分成,0~1 1~3 3~10,设置产生0-10的随机整数num
    如果0<=num<1,则发生事件A

char/int和char/String的转换与输出

在标准输出中char+int=int,‘a’+1和1+'a’都会以int形式输出,即输出98;
String类型的数据可以随意+其他类型的数据;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值