JavaSE--基础语法(第一期)

news/2024/7/22 0:16:44/文章来源:https://blog.csdn.net/abc0123456789_/article/details/138979175

Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和 跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。

(一).数据结构与变量

首先Java的数据结构与变量中的知识主要包括字面常量,数据类型和变量三部分,接下来我们来一一了解。

1.1.字面常量

字面常量其实就和我们c语言中的字面常量相同,指的是,System.out.println("hello world");这段输出语句中的hello world,即是常量即程序运行期间,固定不变的量称为常量。

例如:

这里面的20,3.14,hello world,A,true,false都是字面常量,根据上面这些例子我们就可以给字面常量分类,有:

 1. 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。

2. 整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000

3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49

4. 字符常量:由 单引号 括起来的当个字符,比如:‘A’、‘1’

5. 布尔常量:只有两种true和false

6. 空常量:null

以上就是关于字面常量的内容,下面我们来了解数据类型的知识。

1.2.数据类型

Java中数据类型分为基本数据类型引用数据类型两种。

基本数据类型:整型,字符型,浮点型,布尔型

种类:八种

注意: 

1.不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节

2.整形和浮点型都是带有符号的

3.整型默认为int型,浮点型默认为double

4.字符串属于引用类型,该中类型后序介绍。

以上就是关于数据结构的知识下面我们来了解关于变量的知识。

1.3.变量

在Java中我们除了有一些不变的字面常量,当然还有可变的量,这些在Java中称之为变量,数据类型就是用来定义不同种类变量的。

语法结构:

数据类型   变量名=初始值;

例如:

这些等等都是数据结构变量。介绍完变量的概念之后我们来了解关于具体的几种变量。

1.3.1.整型变量

1.3.1.1整型变量

整型变量是int类型定义的变量,具体代码形式如下:

总结注意:

1. int不论在何种系统下都是4个字节

2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0

3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出

4. 变量在使用之前必须要赋初值,否则编译报错

5. int的包装类型为 Integer 

1.3.1.2.长整型变量

长整形变量指的是用long类型来定义的变量,具体代码形式如下:

 注意事项:

1. 长整型变量的初始值后加L或者l,推荐加L

2. 长整型不论在那个系统下都占8个字节

3. 长整型的表示范围为: 见上图

4. long的包装类型为Long

1.3.1.3.短整型变量

短整型就是指的是short类型定义的变量,具体代码如下:

下面箭头指向的时short类型的范围。

注意事项:

1. short在任何系统下都占2个字节

2. short的表示范围为:-32768 ~ 32767

3. 使用时注意不要超过范围(一般使用比较少)

4. short的包装类型为Short 

1.3.1.4字节型变量

字节型变量指的是被byte定义的变量,具体代码如下:

注意事项:

1. byte在任何系统下都占1个字节

2. byte的范围是:-128 ~ 127

3. 字节的包装类型为Byte

 思考我们为什么要定义四种不同的整型变量?

我们可以联想到我们买衣服时要挑选不同尺寸的衣服才能让衣服和人的尺寸刚好合适,同样整型变量也是如此,我们定义不同的整型变量这样我们就可以不浪费资源和空间。

1.3.2.浮点型变量

1.3.2.1.双精度浮点型

双精度浮点型指的是被double修饰的变量。具体代码形式如下:

这里左下角大家知道为什么是这个?以下注意事项会告诉大家答案

注意事项:

1. double在任何系统下都占8个字节

2. 浮点数与整数在内存中的存储方式不同,不能单纯使用 的形式来计算

3. double的包装类型为Double

4. double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势 必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

1.3.2.2.单精度浮点型

float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数 都优先考虑 double, 不太推荐使用 float. float的包装类型为Float。

1.3.3.字符型变量

 注意事项:

1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.

2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此 一个字符占用两个字节, 表示的字符种类更多, 包括中文.

3. char的包装类型为Character。

1.3.4.布尔型变量

布尔变量可能大家听起来很陌生,但是它真的无时无刻都与我们息息相关,比如当听到有人彩票中了几百万,我们可能会想真的假的?比尔变量就是表示真假的一个条件语句变量。例如:

注意事项: 

1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.

2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.

3. Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在 Oracle公司的虚拟机实现中,boolean占1个字节。

4. boolean的包装类型为Boolean。

1.4.类型转换

Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验.

例如:

 这里面就体现了Java语言的严格性,int类型的可以给long类型的变量赋值,而long类型的变量不可以给int类型的变量赋值,这是为什么呢?我们可以通过以下的学习来了解。

在Java中,当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐 式) 和 强制类型转换(显式)。

自动类型转换:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。特点:数据范围小的转为数 据范围大的时会自动进行。

例如:

类型相同时范围小的变量会自动转化为范围大的值在进行赋值等操作,但范围大的变量不能直接向范围小的变量进行赋值等操作。

强制类型转换当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。

例如:

 注意事项:

1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型

2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失

3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查

4. 强制类型转换不一定能成功,不相干的类型不能互相转换

1.5.类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。

int与long之间:int会被提升为long类型

byte与byte之间:

正确写法: 

 

int 转成 String:

 

String 转成 int:

 

以上就是关于数据类型与变量的全部内容。 

(二).运算符

运算符想必大家应该都十分熟悉了吧,但这篇文章中我们要来了解在Java中运算符是怎么用的。

2.1.算术运算符

2.1.1基本四则运算符:加减乘除模(+ - * / %)

 注意:

1.都是二元运算符,使用时必须要有左右两个操作数

2.int / int 结果还是int类型,而且会向下取整,例如:

3.做除法和取模时,右操作数不能为0。

4. % 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的

5.两侧操作数类型不一致时,向类型大的提升

2.1.2.增量运算符 += -= *= %=

增量运算符其实就是一个式子的简写例如:a+=b;其实实际上就是a=a+b;故增量运算符我们可以总结为以下代码,

public static void main(String[] args) {int a = 1;a += 2; // 相当于 a = a + 2System.out.println(a); // 输出3a -= 1; // 相当于 a = a - 1System.out.println(a); // 输出2a *= 3; // 相当于 a = a * 3System.out.println(a); // 输出6a /= 3; // 相当于 a = a / 3System.out.println(a); // 输出2a %= 3; // 相当于 a = a % 2System.out.println(a); // 输出2}

 注意:只有变量才能使用该运算符,常量不能使用。

2.1.3.3. 自增/自减运算符 ++ --

++是给变量的值+1,--是给变量的值-1。

int a = 1;
a++; // 后置++ 表示给a的值加1,此时a的值为2
System.out.println(a++); // 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2
System.out.println(a); // 输出3
++a; // 前置++ 表示给a的值加1
System.out.println(++a); // 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5
System.out.println(a); // 输出5
// --操作符给操作-1,与++含义类似

注意:

1.如果单独使用,【前置++】和【后置++】没有任何区别

2.如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式 结束时给变量+1

3.只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改 

2.2.关系运算符

关系运算符主要有六个: == != < > = ,其计算结果是 true 或者 false 。代码总结如下:

int a = 10;
int b = 20;
// 注意:在Java中 = 表示赋值,要与数学中的含义区分
// 在Java中 == 表示相等
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a < b); // true
System.out.println(a > b); // false
System.out.println(a <= b); // true
System.out.println(a >= b); // false

 注意:当需要多次判断时,不能连着写,比如:3 < a < 5,Java程序与数学中是有区别的

2.3.逻辑运算符

逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。

1.逻辑与 &&

逻辑与运算我们可以总结为一句话来概括就是左右两个表达式同时为真时结果为真,当两个表达式有一个为假或者同时为假的三种情况时,结果为假。

例如:

int a = 1;
int b = 2;
System.out.println(a == 1 && b == 2); // 左为真 且 右为真 则结果为真
System.out.println(a == 1 && b > 100); // 左为真 但 右为假 则结果为假
System.out.println(a > 100 && b == 2); // 左为假 但 右为真 则结果为假
System.out.println(a > 100 && b > 100); // 左为假 且 右为假 则结果为假

 2.逻辑 ||

逻辑或运算我们也可以用一句话来概括就是符号左右两个表达式当有一个为真或两个都为真的三种情况时结果为真,当左右两个表达式都为假的时候结果为假。

例如:

int a = 1;
int b = 2;
System.out.println(a == 1 || b == 2); // 左为真 且 右为真 则结果为真
System.out.println(a == 1 || b > 100); // 左为真 但 右为假 则结果也为真
System.out.println(a > 100 || b == 2); // 左为假 但 右为真 则结果也为真
System.out.println(a > 100 || b > 100); // 左为假 且 右为假 则结果为假

 3. 逻辑非 !

逻辑非其实就是假的非就是真,真的非就是假。

int a = 1;
System.out.println(!(a == 1)); // a == 1 为true,取个非就是false
System.out.println(!(a != 1)); // a != 1 为false,取个非就是true

2.4.位运算符

Java 中数据存储的最小单位是字节,而数据操作的最小单位是比特位. 字节是最小的存储单位,每个字节是由8个二 进制比特位组成的,多个字节组合在一起可以表示各种不同的数据。

位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。

位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位 的每一位依次进行计算.

1. 按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.

int a = 10;
int b = 20;
System.out.println(a & b)

 

 2. 按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.

3.按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0

4. 按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

2.5.移位运算

这里的移位为算符是<< >> >>>,这三个分别是左移,右移,无符号右移,

例如:左移

 这里我们有一个诀窍就是怎样计算发生移位之后的值,就是结果=原本值*2^移动的位数。

右移:

 右移的结果值就是n/2^x,就是结果=原本值/2^移动的位数

这里还有一个特殊的无符号右移,

和右移最大的区别就是无符号右移右移之后最高位添零,而右移是右移后最高位添加符号位。 

2.6.条件运算符

这里的条件运算符实际上用我们的话来说就是三目运算符,形式如下:

表达式1 ? 表达式2 : 表达式3

当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;

当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.

注意:

1.表达式2和表达式3的结果要是同类型的,除非能发生类型隐式类型转换

2.表达式不能单独存在,其产生的结果必须要被使用。

2.7.运算符的优先级

在一条表达式中,各个运算符可以混合起来进行运算,但是运算符的优先级不同,比如:* 和 / 的优先级要高于 + 和 - ,有些情况下稍不注意,可能就会造成很大的麻烦。

例如:

// 求a和b的平均值
int a = 10;
int b = 20;
int c = a + (b - a) >> 1;
System.out.println(c);

 上述表达式中,由于 + 的优先级要高于 >> , 因此a先和b-a的结果做加法,整体为20,最后再进行右移,因此结果 为10。

注意:运算符之间是有优先级的. 具体的规则我们不必记忆. 在可能存在歧义的代码中加上括号即可.

(三).程序逻辑控制  

3.1.顺序结构

顺序结构简而言之就是按照顺序一行一行的写代码,

System.out.println("aaa");
System.out.println("bbb");
System.out.println("ccc");
// 运行结果
aaa
bbb
ccc

代码的顺序改变,运行结果也随之而改变。 

3.2.分支结构

3.2.1.if语句

语法格式1:

语法格式2: 

语法格式3: 

3.2.2. switch 语句

基本语法:

switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
...
default:{
内容都不满足时执行语句;
[break;]
}
}

执行流程: 

1. 先计算表达式的值

2. 和case依次比较,一旦有响应的匹配就执行该项下的语句,直到遇到break时结束

3. 当表达式的值没有与所列项匹配时,执行default

注意以下一个例子:

注意事项: 

1.多个case后的常量值不可以重复

2.switch的括号内只能是以下类型的表达式:

基本类型:byte、char、short、int,注意不能是long类型

引用类型:String常量串、枚举类型

3.break 不要遗漏, 否则会失去 "多分支选择" 的效果

4.switch 不能表达复杂的条件

3.3.循环结构

3.3.1 while 循环

基本语法格式:

 循环条件为 true, 则执行循环语句; 否则结束循环.

例如:打印1-10的数字

int num = 1;
while (num <= 10) {
System.out.println(num);
num++;
}

打印数字5的阶乘

 public static void main(String[] args) {int num=1;int n=1;while(n<=5){num*=n;n++;}System.out.println(num);}

等等很多的这种例子。 

 注意事项:

1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { } 2. 和 if 类似, while 后面的 { 建议和 while 写在同一行.

3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行.

3.3.2break

break的功能是让循环提前结束。

例如:

这里当出现了图中要求的数字的时候程序遇到break就会跳出循环。

3.3.3. continue

continue 的功能是跳过这次循环, 立即进入下次循环.

例如:找到 100 - 200 中所有 3 的倍数

3.3.4for循环

基本语法:

 表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次

表达式2: 循环条件,满则循环继续,否则循环结束

表达式3: 循环变量更新方式

执行过程:

①②③④--->②③④--->②③④--->②③④--->②③④--->②③④--->...--->②为false,循环结束。

例如:打印1-100的和

public static void main(String[] args) {int sum=0;for(int i=1;i<=100;i++){sum+=i;}System.out.println(sum);}

等等很多地方都会用到for循环的。

注意事项:  

1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

2. 和 if 类似, for 后面的 { 建议和 while 写在同一行.

3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行.

4. 和while循环一样,结束单趟循环用continue,结束整个循环用break

3.4输入输出

Java中的输入和输出和其他语言的输入输出不一样,接下来让我们看看具体是怎么样的。

3.4.1输出到控制台

基本语法:

System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

1.println 输出的内容自带 \n, print 不带 \n

2.printf 的格式化输出方式和 C 语言的 printf 是基本一致的.

3.4.2从键盘输入

使用 Scanner 读取字符串/整数/浮点数

例如:

好了以上就是我与大家分享的内容,望各位指出小编的不足之处我一定会积极改正的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1053516.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jeecg | 如何解决 ERR Client sent AUTH, but no password is set 问题

最近在尝试Jeecg低代码开发&#xff0c;但是碰到了超级多的问题&#xff0c;不过总归是成功运行起来了。 下面说说碰到的最后一个配置问题&#xff1a;连接redis失败 Error starting ApplicationContext. To display the conditions report re-run your application with deb…

ELK 日志监控平台(一)- 快速搭建

文章目录 ELK 日志监控平台&#xff08;一&#xff09;- 快速搭建1.ELK 简介2.Elasticsearch安装部署3.Logstash安装部署4.Kibana安装部署5.日志收集DEMO5.1.创建SpringBoot应用依赖导入日志配置文件 logback.xml启动类目录结构启动项目 5.2.创建Logstash配置文件5.3.重新启动L…

解读makefile中的.PHONY

在 Makefile 中&#xff0c;.PHONY 是一个特殊的目标&#xff0c;用于声明伪目标&#xff08;phony target&#xff09;。伪目标是指并不代表实际构建结果的目标&#xff0c;而是用来触发特定动作或命令的标识。通常情况下&#xff0c;.PHONY 会被用来声明一组需要执行的动作&a…

《C++ Primer Plus》第十二章复习题和编程练习

目录 一、复习题二、编程练习 一、复习题 1. 假设String类有如下私有成员&#xff1a; // String 类声明 class String { private: char* str;int len;// ... };a. 下述默认构造函数有什么问题&#xff1f; String::String() { } // 默认构造函数b. 下述构造函数有什么问题…

为什么选择CleanMyMac软件呢?推荐理由

你是否曾经遇到过这样的问题&#xff1a;电脑运行缓慢&#xff0c;存储空间不足&#xff0c;不知道如何清理垃圾文件&#xff1f;别担心&#xff0c;我们为你找到了解决方案——CleanMyMac软件。这款强大的工具可以帮助你轻松解决这些问题&#xff0c;让你的电脑焕然一新&#…

MM模块六(收货)

接到供应商收到的货以后&#xff0c;进行一个收货的动作 收货&#xff1a;MIGO 1.消耗物料的采购订单 数量是供应商的数量 消耗物料的采购订单&#xff0c;收进来的货物直接进入消耗&#xff0c;不会增加库存&#xff0c;所以这里没有库存地点进行选择 点击过账 收货后在采购…

【Spring Boot】深度复盘在开发搜索引擎项目中重难点的整理,以及遇到的困难和总结

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring Boot】深度复盘在开发搜索引擎项目中重难点的整理&#xff0c;以及遇到的困难和总结 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 什么是搜索引…

前后端开发入门全攻略:零基础学起

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、前后端开发概览 二、后端开发基础&#xff1a;Flask框架入门 代码案例&#xff1a;Hel…

springboot项目,@Test写法 @Before @After

某文件示例 package cn.xxx.crm.boss;import cn.xxxx.crm.manager.mq.rabbit.AliyunCredentialsProvider; import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; im…

Spring - Spring Cache 缓存注解这样用,实在是太香了!

作者最近在开发公司项目时使用到 Redis 缓存&#xff0c;并在翻看前人代码时&#xff0c;看到了一种关于 Cacheable 注解的自定义缓存有效期的解决方案&#xff0c;感觉比较实用&#xff0c;因此作者自己拓展完善了一番后分享给各位。 Spring 缓存常规配置 Spring Cache 框架给…

JVM学习-彻底搞懂Java自增++

从字节码角度分析i和i的区别 public void method6() {int i 10;i; //在局部变量表上直接加1}public void method7() {int i 10;i; //字节码同i}public void method8() {int i 10;int a i; //通过下图可以看出先将局部变量表中的值push到操作数栈&#xff0c;然…

音视频安卓主板记录仪手持终端定制开发_基于MT6762平台解决方案

音视频安卓主板采用了基于MT6762高性能处理器芯片的设计&#xff0c;其中包括4个主频高达2.0GHz的Cortex-A53核心和4个主频1.5GHz的Cortex-A53高效聚焦核心&#xff0c;可提供无比流畅的体验。搭载Android 12操作系统&#xff0c;系统版本进行了全新的优化&#xff0c;进一步确…

三十、openlayers官网示例解析Double click, Drag and Zoom——第二次点击鼠标拖拽缩放地图效果、取消地图双击放大事件

这篇展示了如何在地图上添加第二次按下鼠标移动鼠标实现拖拽缩放地图效果。 官网demo地址&#xff1a; Double click, Drag and Zoom 官网介绍文字的翻译如下&#xff1a; 示例比较简单&#xff0c;直接贴代码&#xff1a; const map new Map({//添加第二次点击拖拽缩放地图i…

这样问问题, 客户才会下单!

和供应商沟通时&#xff0c;提问方式至关重要。如何提问是外贸交流的关键&#xff0c;而针对客户的合适提问更是促成交易的秘诀。前不久&#xff0c; 我有一个客户想要一个不属于我们行业的新品&#xff0c; 于是我准备去阿里巴巴找找供应商。但因为我对该领域并不了解&#xf…

C++容器之位集(std::bitset)

目录 1 概述2 使用实例3 接口使用3.1 constructor3.2 count_and_size3.3 test3.4 any3.5 none3.6 all3.7 set3.8 reset3.9 filp3.10 to_string3.11 to_ulong3.12 to_ullong3.13 operators1 概述 位集存储位(只有两个可能值的元素:0或1,true或false,…)。   该类模拟bool…

redis核心面试题一(架构原理+RDB+AOF)

文章目录 0. redis与mysql区别1. redis是单线程架构还是多线程架构2. redis单线程为什么这么快3. redis过期key删除策略4. redis主从复制架构原理5. redis哨兵模式架构原理6. redis高可用集群架构原理7. redis持久化之RDB8. redis持久化之AOF9. redis持久化之混合持久化 0. red…

v-rep---script-function

作用&#xff0c;实现&#xff0c;参数讲解。 script-function标签 作用 问题&#xff1a;如何在插件的接口中调用lua脚本中定义的函数&#xff1f; 用于声明一个函数&#xff0c;这个函数的作用是通过v-rep提供的接口sim::callScriptFunctionEx()调用脚本的函数&#xff0…

系统开发与运行知识

系统开发与运行知识 导航 文章目录 系统开发与运行知识导航一、软件工程二、软件生命周期三、开发模型四、开发方法五、需求分析结构化分析 六、数据流图分层数据流图的画法设计注意事项 七、数据字典数据字典的内容 八、系统设计九、结构化设计常用工具十、面向对象十一、UML…

【SQL学习进阶】从入门到高级应用(二)

文章目录 简单查询查一个字段查多个字段查所有字段查询时字段可参与数学运算查询时字段可起别名as关键字省略as关键字别名中有空格别名中有中文 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xf…

2024年4月—马克思主义基本原理概论真题及答案解析(上海自考)

目录 1.选择题 2.简答题 3.论述题 1.选择题 2.简答题