JavaSE备忘录(未完)

基本数据类型

在这里插入图片描述
除 int、char 的包装类分别为 Integer、Character 外,其余基本数据类型的第一个字母大写就是它的包装类。

输入输出

println 小知识

public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("a + b =" + a + b);
        //运行结果:a + b =1020 (整体都是以字符串来看待的)
        
        System.out.println(a + b + "<= a + b");
        //运行结果:30<= a + b (先算的a+b,再拼接的字符串)
    }

在这里插入图片描述

Scanner

在这里插入图片描述

nextLine 读取一行,可以有空格
next 是遇到空格结束,不会读空格

运算符小知识

除法( / ) 和 Infinity(无穷) 小知识

除法

分母不为0时,运算结果正负判断

    public static void main(String[] args) {
		// 整数除以小数 两边符号都看
        System.out.println(-1 / -1.0);//1.0
        System.out.println(1 / -1.0);//-1.0
        System.out.println(-1 / 1.0);//-1.0
        
		// 小数除以整数 两边符号都看
        System.out.println(-1.0/-1);//1.0
        System.out.println(1.0/-1);//-1.0
        System.out.println(-1.0/1);//-1.0

		// 小数除以小数 两边符号都看
        System.out.println(-1.0 / -1.0);//1.0
        System.out.println(1.0 / -1.0);//-1.0
        System.out.println(-1.0 / 1.0);//-1.0
    }

总结: 跟我们平常在数学中使用的除法一样,分母不为0时,运算结果的符号取决于除号两边的正负

Infinity

何时会出现 Infinity ?
public static void main(String[] args) {
        System.out.println(1/0.0);
        //运行结果:Infinity
        System.out.println(1.0/0);
        //运行结果:Infinity
        System.out.println(1.0/0.0);
        //运行结果:Infinity
    }
public static void main(String[] args) {
        System.out.println(1/0);//出现算数异常
    }

总结:当分母为0时,只有除号两边有一个小数类型,输出结果就是Infinity;两边都为整数时,出现算数异常。

Infinity 在除法中正负判断
public static void main(String[] args) {
        // 整数除以小数0 看小数符号
        System.out.println(-1/-0.0);//Infinity
        System.out.println(1/-0.0);//-Infinity
        System.out.println(-1/0.0);//-Infinity

        // 小数除以整数0 看小数符号
        System.out.println(-1.0/-0);//-Infinity
        System.out.println(1.0/-0);//Infinity
        System.out.println(-1.0/0);//-Infinity

        // 小数除以小数0 两边符号都看
        System.out.println(-1.0/-0.0);//Infinity
        System.out.println(1.0/-0.0);//-Infinity
        System.out.println(-1.0/0.0);//-Infinity

    }

总结:当分母为0时,只看除号两边的小数符号的正负。

求余(%) 小知识

求余结果的符号判断

    public static void main(String[] args) {
        //整数求余 只看左操作数的符号
        System.out.println(-3%-2);//-1
        System.out.println(3%-2);//1
        System.out.println(-3%2);//-1
		
		//一整一小求余 只看左操作数的符号
        System.out.println(-3%-2.0);//-1.0
        System.out.println(3%-2.0);//1.0
        System.out.println(-3%2.0);//-1.0

		//一小一整求余 只看左操作数的符号
        System.out.println(-3.0%-2);//-1.0
        System.out.println(3.0%-2);//1.0
        System.out.println(-3.0%2);//-1.0

		//小数求余 只看左操作数的符号
        System.out.println(-3.0%-2.0);//-1.0
        System.out.println(3.0%-2.0);//1.0
        System.out.println(-3.0%2.0);//-1.0
    }

总结:求余时,根据左操作数的符号来确定结果的符号。

增量类型转换小知识

先来回顾一下什么是增量运算符:
例如:+= -= *= %= …,这就是增量运算符。

在这里插入图片描述

逻辑运算符中的短路求值

&& 和 ||

在这里插入图片描述

& 和 |

在这里插入图片描述

总结:

  1. 对于&&,如果左侧表达式为false,则表达式结果一定是false,无需计算右侧表达式
  2. 对于||,如果左侧表达式为true,则表达式结果一定是true,无需计算右侧表达式
  3. & 和 | & 和 | 如果表达式结果为boolean时,也表示逻辑运算,但与&& || 相比,它们不支持短路求值

左移、右移操作符

左移

<< 为左移操作符(所有位数向左移,最左边补0)
不存在 <<< 不要自己创造吖~

右移

>> 为有符号右移(符号位不变,其余位向右移)
>>> 为无符号右移(不管你的符号位是1还是0,统统补0)

多层嵌套的三目运算符计算方法

在这里插入图片描述
看到这么一长串代码,是不是非常头疼?所以不建议使用多层嵌套三目运算符。
如果别人就是这样写了,有没有让我们快速看懂的方法呢?
让我来告诉你一个小技巧:

第一步:找到最外层的三目运算符,寻找方法:从左往右数有几个问号,遇到冒号就停,之后数同样数量的冒号,此时最后一个冒号的左右两边就是最外层三目运算符的表达式2和表达式3啦~
之后重复步骤1,就可以很清晰的明白啦~

在这里插入图片描述
自己试试awa~:
在这里插入图片描述
答案~:

在这里插入图片描述

条件分支和循环

switch

不能做switch参数的数据类型:long、float、double、boolean

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月临水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值