我们大致大可分为三部分:数值型运算、字符型、布尔型
先看数值型运算(整数型和浮点型),算术运算和比较运算
整数的算数运算在前面已经有一些知识的铺垫了,那么我们再看看具体的
1、先看运算符:+、-、*、/、%(取模)、++(自增)、--(自减)
前四个运算符大家应该是非常熟悉的(在小学水平都会的)
%:取模,两个数相除,去他们相除余数
++:自增加一
--:自减 减一
在实际的应用中,除了这些还要注意运算的优先级,最长用的就是()
大家计算一个简单的式子(12-3*2)/2=?这个简单口算就行,若是这种的怎么算?
(a+2*b)*c=?计算出a、b、c分别从0到100这个式子的值分别等于多少?
你要一个一个算吗?
这就是为什么要有计算机的原因了
下面尝试自己写一个Java程序来解决下面的问题?
编写一个Java程序,定义两个int
类型的变量a
和b
,分别赋值为10
和3
,然后计算并输出(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+树索引
下一章节:逻辑运算、比较运算