Java-基本数据类型的运算

我们大致大可分为三部分:数值型运算、字符型、布尔型

先看数值型运算(整数型和浮点型),算术运算和比较运算

整数的算数运算在前面已经有一些知识的铺垫了,那么我们再看看具体的

1、先看运算符:+、-、*、/、%(取模)、++(自增)、--(自减)

前四个运算符大家应该是非常熟悉的(在小学水平都会的)

%:取模,两个数相除,去他们相除余数   

++:自增加一

--:自减 减一

在实际的应用中,除了这些还要注意运算的优先级,最长用的就是()

大家计算一个简单的式子(12-3*2)/2=?这个简单口算就行,若是这种的怎么算?

(a+2*b)*c=?计算出a、b、c分别从0到100这个式子的值分别等于多少?

你要一个一个算吗?

这就是为什么要有计算机的原因了

下面尝试自己写一个Java程序来解决下面的问题?

编写一个Java程序,定义两个int类型的变量ab,分别赋值为103,然后计算并输出(a + b) * 2的结果。

          int a=10;
          int b=3;
          int zhi=(a+b)*2;
          System.out.println(zhi);

这是我写,解决问题方法不止有这一种,结果是26

再来一个难一点问题?喜欢挑战的可以试试这个题目,我就不再写了

编写一个Java程序,定义一个int类型的变量num,赋值为-5,然后分别计算并输出num的绝对值、num的平方以及num除以2的整数部分。

取模:看一下这个zhi等于多少?                答案:1

          int a=10;
          int b=3;
          int zhi=a%b;
          System.out.println(zhi);

我能不能写一个分页程序?

假设现有1023条数据,我想每页放10条数据,不足10条的单独放在一页上,这个程序怎么写?

先普及一个知识点:三目(元)运算

形如:m = x ? a : b

意思:x为真的时候将a的值赋值给m,x为假的时候将b的值赋值给m

怎么写看代码:

        int zsts=1023;//表示总数居条数
        int mys=10;//每一张的条数
        int zs=zsts/mys;//张数
        int ys=zsts%mys;//取余数
        int m=(ys==0)?zs:zs+1;//利用三目运算,判断有没有余数,有加一张
        System.out.println("一共有"+m+"张");

自增运算:

有两种:

i++;

++i

这两种有什么不同,我们用代码测试一下

            int i=5;
            int a=i++;
            System.out.println(a);

这个结果等于5,这是为什么?怎么等于6?

            int i=5;
            int b=++i;
            System.out.println(b);

这样是不是就等于6了

这是为什么?

a=i++:是先赋值再自增

b=++i:是先自增再赋值

这就是他们之间的细微差别;(面试的时候,有的会问,尤其是应届生)

下面再看看这个题:

            int i=5;
            int a=i++;
            System.out.println(a);
            System.out.println(i);
            int b=++i;
            System.out.println(b);

a、i、b分别等于多少?为什么?

在这里分享一个面试题(基本上是必问的问题):

数据库索引都有哪些?

普通的:主键索引、唯一索引、全局索引、多列索引

按物理划分:聚集索引、非聚集索引

按逻辑划分:B树索引、B+树索引、Hash索引

在MySQL中常用的是B+树索引,要解释一下B树索引和B+树索引这两者之间的区别,有什么优点?先从这两个维度解释。

先看二者之间的存储方式:

  • B树索引:在B树中,每个节点既包含键(Key)也包含数据指针(Pointer)。键用于指引查找的方向,而数据指针则直接指向记录的存储位置。这意味着B树的每个节点都可能存储实际的数据记录。
  • B+树索引:与B树不同,B+树的非叶子节点只包含键信息,不包含数据指针。所有的数据记录都存放在叶子节点中,并且叶子节点之间通过指针相互连接,形成了一个有序链表。这种结构使得B+树更适合进行范围查询。

读写效率:

  • B树索引:由于B树的每个节点都可能包含数据,因此在某些情况下,可能需要访问更多的节点才能找到所需的数据,这可能会增加磁盘I/O的次数。
  • B+树索引:B+树通过将数据全部存储在叶子节点,并且非叶子节点只存储键信息,使得非叶子节点可以包含更多的键,从而减少了磁盘I/O的次数。因为非叶子节点不包含数据,所以它们可以更加紧凑地存储在磁盘页中,提高了磁盘读写效率。
  • 一般B+树索引两次就可以找到你要找的数据

适用范围:

  • B树索引:由于B树的每个节点都可能包含数据,因此它更适合于频繁更新数据的场景。每次数据变更时,只需要更新索引中的数据指针即可。
  • B+树索引:B+树由于其高效的磁盘读写效率和查找效率,以及适合范围查询的特点,因此更适合于大量读取操作的场景,尤其是范围查询。

这就能解释一般MySQL数据库使用B+树索引

下一章节:逻辑运算、比较运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值