黑马程序员Java零基础视频教程笔记-运算符
文章目录
- 一、算数运算符详解和综合练习
- 二、隐式转换和强制转换
- 三、字符串和字符的加操作
- 四、自增自减运算符
- 五、赋值运算符和关系运算符
- 六、四种逻辑运算符
- 七、短路逻辑运算符
- 八、三元运算符
一、算数运算符详解和综合练习
1. 运算符和表达式
① 运算符:对字面量或者变量进行操作的符号
② 表达式:用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
③ 举例
int a = 10;
int b = 20;
int c = a + b;
+:是运算符,并且是算术运算符
a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
2. 算数运算符
符号 | 作用 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取模、取余 |
3. 样例
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo1{public static void main(String[] args){//+System.out.println(3 + 2);//5//-System.out.println(5 - 1);//4//*(shift + 数字8)System.out.println(7 * 9);//63//如果在计算的时候有小数参与//结论://在代码中,如果有小数参与计算,结果有可能不精确的//为什么呢//暂时只要知道这个结论就可以了//具体的原因,我们到了JavaSE的时候,会再详细的讲解System.out.println(1.1 + 1.1);//2.2System.out.println(1.1 + 1.0);//2.1100000000000003System.out.println(1.1 - 1.01);System.out.println(1.1 * 1.01);}
}
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo2{//主入口//结论://1.整数参与计算,结果只能得到整数//2.小数参与计算,结果可能是不精确的,如果我们需要精确计算,那么需要用到后面的知识点public static void main(String[] args){//除法System.out.println(10 / 2);//5System.out.println(10 / 3);//3System.out.println(10.0 / 3);//3.3333333333333335//取模,取余,实际上也是做除法运算,只不过得到的是余数而已System.out.println(10 % 2);//0System.out.println(10 % 3);//1//应用场景//1.可以用取模来判断,A是否可以被B整除//A % B 10 % 3//2.可以判断A是否为偶数//A % 2 如果结果为0,那么证明A是一个偶数;如果结果是1,那么证明A是一个奇数//三个玩家//把每一张牌都定义一个序号//拿着序号 %3 如果结果为1,就发给第一个玩家//如果结果为2,就发给得二个玩家//如果结果为0,就发给第三个玩家}
}
4. 练习
package com.itheima.test;
import java.util.Scanner;
public class test1{public static void main(String[] args){//键盘录入一个三位数,获取其中的个位,十位,百位//1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入一个三位数");int number = sc.nextInt();//2.获取个位,十位,百位//公式://个位:数字%10//十位:数字/10%10//百位:数字/10/10%10//……int ge = number % 10;int shi = number / 10 % 10;int bai = number /100 % 10;System.out.println(ge);System.out.println(shi);System.out.println(bai);}
}
二、隐式转换和强制转换
1. “+”操作的三种情况
① 数字相加
② 字符串相加
③ 字符相加
【注】数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算
2. 类型转换的分类
① 隐式转换
② 强制转换
3. 隐式转换
① 定义:把一个取值范围小的数值,转成取值范围大的数据
int a = 10;
double b = a;
② 取值范围:byte < short < int < long < float < double
③ 什么时候转换:
数据类型不一样,不能进行计算,需要转换成一样的才可以进行计算
④ 转换规则:
取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算
byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算
4. 强制转换
① 如果把一个取值范围大的数值,赋值给取值范围小的变量,是不允许直接赋值的。如果一定要这么做就需要加入强制转换
② 格式:目标数据类型 变量名 =(目标数据类型)被强制转换的数据
5. 样例
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo3{public static void main(String[] args){byte b1 = 100;byte b2 = 100;//现在我们要强转的是谁//b1 + b2计算之后的结果//byte(b1) + b2 强转的是b1,并不是最终的结果byte result = byte(b1 + b2);System.out.println(result);//结果发生错误,因为要转换的数据过大}
}
三、字符串和字符的加操作
1. 字符串的“+”操作
① 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算数运算符了。会将前后的数据进行拼接,并产生一个新的字符串。
例如:“123”+123=“123123”
② 进行“+”操作时,从左到右逐个执行
例如:1+99+“年黑马”=“200年黑马”
③ 练习
package com.itheima.test;
import java.util.Scanner;
public class test1{public static void main(String[] args){//键盘录入一个三位数,获取其中的个位,十位,百位//1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入一个三位数");int number = sc.nextInt();//2.获取个位,十位,百位//公式://个位:数字%10//十位:数字/10%10//百位:数字/10/10%10//……int ge = number % 10;int shi = number / 10 % 10;int bai = number /100 % 10;System.out.println("个位是:"+ge);System.out.println("十位是:"+shi);System.out.println("百位是:"+bai);}
}
2. 字符的“+”操作
当字符+字符/数字时,会把字符通过ASCII码表查询到对应的数字再进行计算
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo4{public static void main(String[] args){char c = 'a';int result = c + 0;System.out.println(result);}
}
四、自增自减运算符
1. 基本用法
符号 | 作用 | 说明 |
---|---|---|
++ | 加 | 变量的值加1 |
- - | 减 | 变量的值减1 |
注意事项:++和- -既可以放在变量的前边,也可以放在变量的后边
2. 两种用法
① 单独使用
++和- -无论是放在变量的前边还是后边,单独写一行结果是一样的
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo5{public static void main(String[] args){//++和--int a = 10;//表示把变量a里面的值+1a++;System.out.println(a);//11//表示把变量a里面的值+1++a;System.out.println(a);//12//表示把变量a里面的值-1a--;System.out.println(a);//11//表示把变量a里面的值-1--a;System.out.println(a);//10 }
}
② 参与计算
先用后加
int a = 10;
int b = a++;
先加后用
int a = 10;
int b = ++a;
3. 样例
package com.itheima.arithmeticoperator;
public class ArithmeticoperatorDemo6{public static void main(String[] args){int x = 10;//后++:先用后加//先把x变量中的值拿出来用,赋值给y,然后再进行自增//赋值给y的值是自增前的int y = x++;// x = 11 y = 10//先++:先加后用//先把x进行自增,然后把自增后的结果赋值给左边的变量//先把x自增,变成12,然后再把自增后的12赋值给zint z = ++x;// x =12 z = 12System.out.println("x:"+x);//12System.out.println("y:"+y);//10System.out.println("z:"+z);//12}
}
五、赋值运算符和关系运算符
1. 赋值运算符
① 分类
符号 | 作用 | 说明 |
---|---|---|
= | 赋值 | int a=10,将10赋值给变量a |
+= | 加后赋值 | a+=b,将a+b的值给a |
-= | 减后赋值 | a-=b,将a-b的值给a |
*= | 乘后赋值 | a*=b,将a*b的值给a |
/= | 除后赋值 | a/=b,将a÷b的商给a |
%= | 取余后赋值 | a%=b,将a÷b的余数给a |
② 样例
package com.itheima.assigningoperator;
public class AssigningoperatorDemo1{public static void main(){//+=//规则:将左边和右边进行相加,然后再把结果赋值给左边int a = 10;int b = 20;//把a+b,再把结果赋值给左边的变量aa += b;//等同于 a = (int)(a + b);System.out.println(a);//30System.out.println(b);//20//细节://+=,-=,*=,/=,%= 底层都隐藏了一个强制类型转换short s = 1;//把左边和右边进行相加,得到结果2,再赋值给左边的变量s += 1;//等同于:s = (short)(s + 1);System.out.println(s);//2}
}
2. 关系运算符
① 分类
符号 | 说明 |
---|---|
== | a==b,判断a和b的值是否相等,成立为true,不成立为false |
!= | a!=b,判断a和b的值是否不相等,成立为true,不成立为false |
> | a>b,判断a是否大于b,成立为true,不成立为false |
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false |
< | a>b,判断a是否小于b,成立为true,不成立为false |
<= | a<=b,判断a是否小于等于b,成立为true,不成立为false |
注意:关系运算符的结果都是boolean类型,要么是true,要么是false
② 样例
package com.itheima.assigningoperator;
public class AssigningoperatorDemo2{public static void main(){//1.== 判断左右两边是否相等int a = 10;int b = 10;int c = 20;System.out.println(a == b);//trueSystem.out.println(a == c);//false}
}
3. 练习
package com.itheima.test;
import java.util.Scanner;
public class Test2{public static void main(String[] args){/*需求:您和您的约会对象正试图在餐厅获得一张桌子。键盘录入两个整数,表示你和你约会对象衣服的时髦度。(手动录入0~10之间的整数,不能录入其他)如果你的时髦度大于你对象的时髦度,相亲就成功,输出true,否则输出false。*///1.键盘录入两个整数表示衣服的时髦度Scanner sc = new Scanner(System.in);System.out.println("请输入我们自己的衣服时髦度");int myFashion = sc.nextInt();System.out.println("请输入相亲对象的衣服时髦度");int girlFashion = sc.nextInt();//2.把我衣服的时髦度跟女孩的时髦度进行对比就可以了boolean result = myFashion > girlFashion;//3. 打印结果System.out.println(result);}
}
六、四种逻辑运算符
1. 分类
符号 | 作用 | 说明 |
---|---|---|
& | 逻辑与(且) | 并且,两边都为真,结果才是真 |
| | 逻辑或 | 或者,两边都为假,结果才是假 |
^ | 逻辑异或 | 相同为false,不同为true |
! | 逻辑非 | 取反 |
2. 样例
package com.itheima.logicoperator;
public class LogicoperatorDemo1{public static void main(String[] args){//1.& 并且//两边都为真,结果才是真System.out.println(true & true);//trueSystem.out.println(false & true);//falseSystem.out.println(true & false);//falseSystem.out.println(false & false);//false//2.| 或者 //两边都为假,结果才是假System.out.println(true | true);//trueSystem.out.println(false | true);//trueSystem.out.println(true | false);//trueSystem.out.println(false | false);//false }
}
package com.itheima.logicoperator;
public class LogicoperatorDemo2{public static void main(String[] args){// ^ 异或 //相同为false,不同为trueSystem.out.println(true ^ true);//falseSystem.out.println(false ^ true);//trueSystem.out.println(true ^ false);//trueSystem.out.println(false ^ false);//false// ! 逻辑非 取反 //提示://取反的感叹号不要写多次,要么不写,要么只写一次System.out.println(!false);//trueSystem.out.println(!true);//false }
}
七、短路逻辑运算符
1. 分类
符号 | 作用 | 说明 |
---|---|---|
&& | 短路与 | 结果和 & 相同,但是有短路效果 |
|| | 短路或 | 结果和 | 相同,但是有短路效果 |
注:& | ,无论左边 true false,右边都要执行
&& || ,如果左边能确定整个表达式的结果,右边不执行
2. 样例
package com.itheima.logicoperator;
public class LogicoperatorDemo3{public static void main(String[] args){//1.&&//运行结果跟单个&是一样的//表示两边都为真,结果才是真System.out.println(true && true);//trueSystem.out.println(false && true);//falseSystem.out.println(true && false);//falseSystem.out.println(false && false);//false//2.||//运行结果跟单个 | 是一样的//表示两边都为假,结果才是假System.out.println(true || true);//trueSystem.out.println(false || true);//trueSystem.out.println(true || false);//trueSystem.out.println(false || false);//false //3.短路逻辑运算符具有短路效果//简单理解:当左边的表达式能确定最终的结果,那么右边就不会参与运行了int a = 10;int b = 10;boolean result = ++a < 5 && ++b <5;System.out.println(result);//falseSystem.out.println(a);//11System.out.println(b);//10}
}
3. 练习
package com.itheima.test;
public class Test3{public static void main(String[] args){/*数字6是一个真正伟大的数字,键盘录入两个整数如果其中一个为6,最终结果输出true如果它们的和为6的倍数,最终结果输出true其他情况都是false*///分析://1.键盘录入两个整数// 变量a 变量b//2.a == 6 || b == 6 || (a + b) % 6 == 0//如果满足其中一个,那么就可以输出true//键盘录入两个整数Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数");int number1 = sc.nextInt();System.out.println("请输入第二个整数");int number2 = sc.nextInt();//可以短路逻辑运算符去连接三个判断boolean result = number1 == 6 || number2 == 6 || (number1 + number2) % 6 == 0;System.out.println(result);}
}
八、三元运算符
1. 格式
关系表达式 ? 表达式1 : 表达式2;
int max = a > b ? a : b;
2. 计算规则
① 首先计算关系表达式的值
② 如果值为true,表达式1的值就是运算结果
③ 如果值为false,表达式2的值就是运算结果
3. 样例
package com.itheima.ternaryoperator;
public class TernaryoperatorDemo1{public static void main(String[] args){//需求:使用三元运算符,获取两个数的较大值//分析://1.定义两个变量记录两个整数int number1 = 10;int number2 = 20;//2.使用三元运算符获取两个整数的较大值//格式:关系表达式 ? 表达式1 : 表达式2;//整个三元运算符的结果必须要被使用int max = number1 > number2 ? number1 : number2;System.out.println(max);System.out.println(number1 > number2 ? number1 : number2);}
}
4. 练习
package com.itheima.test;
import java.util.Scanner;
public class Test4{public static void main(String[] args){/*需求:动物园里有两只老虎,体重分别通过键盘录入获得请用程序实现判断两只老虎的体重是否相同*///分析://1.键盘录入两只老虎的体重Scanner sc = new Scanner(System.in);System.out.println("请输入第一只老虎的体重");int weight1 = sc.nextInt();System.out.println("请输入第二只老虎的体重");int weight2 = sc.nextInt(); //2.比较//true false//相同 不同//System.out.println(weight1 == weight2);String result = weight1 == weight2 ? "相同" : "不同";System.out.println(result); }
}
package com.itheima.test;
import java.util.Scanner;
public class Test5{public static void main(String[] args){/*需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、200cm、165cm请用程序实现获取这三个和尚的最高身高*///1.定义三个变量记录三个和尚的身高int height1 = 150;int height2 = 210;int height3 = 165;//2.拿着第一个和尚和第二个和尚进行比较//再拿着结果和第三个和尚进行比较即可int temp = height1 > height2 ? height1 : height2;int max = temp > height3 ? temp : height;//ctrl + alt + L 自动格式化代码System.out.println(max);}
}
5. 运算符优先级
⭐记住 () 即可
相关文章:

黑马程序员Java零基础视频教程笔记-运算符
文章目录 一、算数运算符详解和综合练习二、隐式转换和强制转换三、字符串和字符的加操作四、自增自减运算符五、赋值运算符和关系运算符六、四种逻辑运算符七、短路逻辑运算符八、三元运算符 一、算数运算符详解和综合练习 1. 运算符和表达式 ① 运算符:对字面量…...

Microsoft Data Loss Prevention(DLP)部署方案
目录 一、前言 二、部署流程 步骤一:确定数据需求 步骤二:规划信息保护策略...

win系统使用frp端口映射实现内网穿透,配置“任务计划程序”提高稳定性
Github下载最新版frp: https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_windows_amd64.zip 解压把frpc.exe和frpc.ini放到D:\program\frp目录下,修改frpc.ini内容如下: [common] server_addr 服务器域名或IP,假设…...

python工具方法 39 大图裁剪为小图|小图还原成大图(含生成大图伪标签)
在进行遥感影像的处理中,通常都是几万x几万的大型影像,这给数据标注(图像尺寸过大使标注软件不能正常打开或过大给标注带来困难)、训练模型(只能使用小图)、测试图片(在小图上预测需要还原成大图)、生成伪标签(需要大图的伪标签,而不是小图的)都带来了困难。针对此进…...

MUSIC算法仿真
MUSIC算法原理及仿真 DOA波达方向估计MUSIC算法概述MUSIC算法原理MUSIC算法MATLB仿真 DOA波达方向估计 DOA(Direction Of Arrival)波达方向是指通过阵列信号处理来估计来波的方向,这里的信源可能是多个,角度也有多个。DOA技术主要…...

redis 数据类型详解 以及 redis适用场景场合
1. MySqlMemcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇…...

python基于轻量级YOLOv5的生猪检测+状态识别分析系统
在我之前的一篇文章中有过生猪检测盒状态识别相关的项目实践,如下: 《Python基于yolov4实现生猪检测及状态识》 感兴趣的话可以自行移步阅读,这里主要是基于同样的技术思想,将原始体积较大的yolov4模型做无缝替换,使…...

阅读笔记 First Order Motion Model for Image Animation
文章解决的是图片动画的问题。假设有源图片和驱动视频,并且其中的物体是同一类的,文章的方法让源图片中的物体按照驱动视频中物体的动作而动。 文章的方法只需要一个同类物体的视频集,不需要而外的标注。 方法 该方法基于self-supervised策…...

【计算机图形学】课堂习题汇总
在直线的光栅化算法中,如果不考虑最大位移方向则可能得到怎样的直线? A:斜率为1的线 B:总是垂直的 C:离散的点,无法构成直线 D:总是水平的 在直线的改进的Bresenham算法中,每当误…...

国外导师对博士后申请简历的几点建议
正所谓“工欲善其事,必先利其器”,想要申请国外的博士后职位,就要准备好相应的申请文书材料。如果说Cover Letter是职位的窍门砖,那么申请者的简历就是争取职位的决定性筹码。 相信大家已经看过许多简历的模版了,但是…...

【五一创作】Scratch资料袋
Scratch软件是免费的、免费的、免费的。任何需要花钱才能下载Scratch软件的全是骗子。 1、什么是Scratch Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具。是面向青少年的一款模块化,积木化、可视化的编程语言。 什么是模块化、积木化&…...

数据库基础篇 《17.触发器》
数据库基础篇 《17.触发器》 在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如商品信息和库存信息分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性&#…...

03 - 大学生如何使用GPT
大学生如何使用GPT提高学习效率 一、引言 在当今的高速发展的信息时代,大学生面临着越来越多的学习挑战。作为一种先进的人工智能技术,GPT为大学生提供了一种强大的学习工具。本文将介绍大学生在不同场景中如何使用GPT来提高学习效率,并给出…...

【P1】Jmeter 准备工作
文章目录 一、Jmeter 介绍1.1、Jmeter 有什么样功能1.2、Jmeter 与 LoadRunner 比较1.3、常用性能测试工具1.4、性能测试工具如何选型1.5、学习 Jmeter 对 Java 编程的要求 二、Jmeter 软件安装2.1、官网介绍2.2、JDK 安装及环境配置2.3、Jmeter 三种模式2.4、主要配置介绍2.4.…...

字节的面试,你能扛住几道?
C , Python 哪一个更快? 读者答:这个我不知道从哪方面说,就是 C 的话,它其实能够提供开发者非常多的权限,就是说它能涉及到一些操作系统级别的一些操作,速度应该挺快。然后 Python 实现功能还…...

NOPI用法之自定义单元格背景色(3)
NPOI针对office2003使用HSSFWorkbook,对于offce2007及以上使用XSSFWorkbook;今天我以HSSFWorkbook自定义颜色为例说明,Office2007的未研究呢 在NPOI中默认的颜色类是HSSFColor,它内置的颜色有几十种供我们选择,如果不…...

数据分析中常见标准的参考文献
做数据分析过程中,有些分析法方法的标准随便一搜就能找到,不管是口口相传还是默认,大家都按那样的标准做了。日常分析不细究出处还可以,但是正式的学术论文你需要为你写下的每一句话负责,每一个判断标准都应该有参考文…...

辨析 变更请求、批准的变更请求、实施批准的变更请求
变更请求、批准的变更请求、实施批准的变更请求辨析 辨析各种变更请求,不服来辨。 变更请求 定义:对正规受控的文件或计划(范围、进度、成本、政策、过程、计划或程序)等的变更,以反映修改或增加的意见或内容 根据变更请求的工作内容可将变…...

leetcode 561. 数组拆分
题目描述解题思路执行结果 leetcode 561. 数组拆分 题目描述 数组拆分 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。 返回该 最大总和 。 示例 1&am…...

AviatorScript
AviatorScript 是一门高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言 特性介绍 支持数字、字符串、正则表达式、布尔值、正则表达式等基本类型,完整支持所有 Java 运算符及优先级等。函数是一等公民,支持闭包和函…...

Oracle跨服务器取数——DBlink 初级使用
前言 一句话解释DBlink是干啥用的 实现跨库访问的可能性. 通过DBlink我们可以在A数据库访问到B数据库中的所有信息,例如我们在加工FDS层表时需要访问ODS层的表,这是就需要跨库访问 一、DBlink的分类 private:用户级别,只有创建该dblink的用户才可以使…...

200人 500人 园区网设计
实验要求: ① 设置合理的STP优先级、边缘端口、Eth-trunk ② 企业内网划分多个vlan ,减少广播域大小,提高网络稳定性 ③ 所有设备,在任何位置都可以telnet远程管理 ④ 出口配置NAT ⑤ 所有用户均为自动获取ip地址 ⑥ 在企业…...

netstat命令解析
一、linux系统中netstat命令的帮助信息 └──╼ $netstat -h usage: netstat [-vWeenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}netstat [-vWnNcaeol] [<Socket> ...]netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] }-r, --route …...

API接口的自我阐述
API(Application Programming Interface),翻译为应用程序接口,是一套定义程序之间如何通讯的接口。API可以实现软件的可重用性、可维护性和互操作性,同时也可以提升软件的性能和安全性。API接口是一个软件系统中的重要…...

Day32内部类
内部类 内部类就是在一个类中定义一个类,(在A类中定义一个B类,B类就被称为内部类) 格式:public class 类名{ 修饰符 class 类名{} } 如:public class Outer{ public class Inner {} } //内部类可以访问外部…...

用户画像系列——HBase 在画像标签过期策略中的应用
一、背景 前面系列文章介绍了用户画像的概念、用户画像的标签加工、用户画像的应用。本篇文章主要介绍一些画像的技术细节,让大家更加详细的了解画像数据存储和处理的逻辑 举个现实中的例子: 例子1:因为疫情原因,上线一个平台(…...

时下热门话题:ChatGPT能否取代人类?
时下热门话题:ChatGPT能否取代人类? 2022年11月底,人工智能对话聊天机器人ChatGPT推出,迅速在社交媒体上走红,短短5天,注册用户数就超过100万。2023年1月末,ChatGPT的月活用户已突破1亿&#x…...

每日刷题记录(十七)
目录 第一题:求12...n解题思路:代码实现: 第二题:两两交换链表中的节点解题思路:代码实现: 第三题:只出现一次的数字 II解题思路:代码实现: 第四题:根据字符串…...

开放原子训练营(第三季)RT-Thread Nano学习营一探究竟
前言 不知道从什么时候起,智能设备开始普及到了我们日常生活的方方面面。下班还未到家,热水器就可以调到合适的温度;上班刚进公司,忘关空调也不再是什么烦恼;诸如夜晚的灯光变换,白昼的窗帘适应等更给我们…...

数据库系统概论(二)关系数据库,SQL概述和数据库安全性
作者的话 前言:总结下知识点,自己偶尔看一看。 目录 一、关系模型概述 1.1关系数据结构及形式化定义 1.1.1域(Domain) 1.1.2笛卡尔积(Cartesian Product) 1.1.3关系(Relation) …...