JAVA基础学习 Day003

这篇博客介绍了Java中自增运算符和逻辑运算符的使用,并探讨了运算符的结合性和优先级。强调了单目、赋值和三目运算符是从右向左结合的。还提到Scanner类在处理char型数据时的限制,以及如何生成[a, b]区间内的随机整数。" 52789579,5616838,Java从jar包中读取资源文件的技巧,"['Java', '文件操作', 'jar', '资源读取']

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

1. 关于自增运算符的例题

int n = 10;
n += (n++) + (++n);
System.out.println(n);//32

2. 关于逻辑运算符的例题

class Test {
     public static void main (String [] args) {
         boolean x=true;
         boolean y=false;
         short z=42;
         if((z++==42)&&(y=true))z++;
         if((x=false) || (++z==45)) z++;
         System.out.println(“z=”+z);//46
 }
}

需要注意的点

short s = 42;
System.out.println("s==42?" + (s==42));//true

3. 如何理解Java运算符的结合性?

    所有的数学运算符都认为是从左到右运算的,Java 语言中大部分运算符也是从左到右结合的,只有单目运算符、赋值运算符和三目运算符是从右向左结合的,也就是从右向左运算。

    乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作数可以互换位置而不会影响结果。

    当有多中运算符参与运算的时候,先要考虑优先级,有相同优先级的就看结合性以决定运算顺序。

    因为这样,所以,如果没有两个相同优先级的运算,就不存在考虑结合性的问题了。一个 ?: 是体现不出来结合性的。 

a?b:c?d:e

以上代码等价于

a?b:(c?d:e)

4. 对于char型的获取,Scanner没有提供相关的方法。只能获取一个字符串

System.out.println("请输入你的性别:(男/女)");
String gender = scan.next();//"男"
char genderChar = gender.charAt(0);//获取索引为0位置上的字符
System.out.println(genderChar);

5. 获取区间[a, b]内的随机数的公式

(int)(Math.random() * (b - a + 1) + a)           -> [a, b+1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值