当前位置: 首页 > news >正文

PHP快速入门02-PHP语言基础

文章目录

  • 前言
  • 一、 数据类型
    • 1.1 String(字符串)
    • 1.2 Integer(整型)
    • 1.3 Float(浮点型)
    • 1.4 Boolean(布尔型)
    • 1.5 Array(数组)
    • 1.6 Object(对象)
    • 1.7 NULL(空值)
    • 1.8 Resource(资源类型)
  • 二、 常量与变量
    • 2.1 define 常量的定义与使用
    • 2.2 const 常量的定义与使用
    • 2.3 静态变量
    • 2.4 超全局变量
  • 三、 条件语句
  • 四、 Switch语句
  • 五、循环语句
    • 5.1 for循环
    • 5.2 while循环
  • 六、数组与对象
    • 6.1 对象
    • 6.2数组
  • 七、 运算符
  • 八、函数与命名空间
    • 8.1 函数
    • 8.2 命名空间
  • 九、魔术常量和魔术方法
    • 9.1 魔术常量
    • 9.2 魔术方法
  • 总结


前言

本文已收录于PHP全栈系列专栏:PHP快速入门与实战,基础是任何一门语言都必须学习的,万丈高楼平地起。本节内容将带大家一起了解PHP的数据类型,常量与变量,条件语句,循环语句,对象数组,函数与命名空间等相关知识。
在这里插入图片描述

一、 数据类型

PHP 中主要支持 String(字符串),Integer(整型),Float(浮点型),Boolean(布尔型),Array(数组),Object(对象),NULL(空值),Resource(资源类型)这些数据类型。具体的使用说明举例如下。

1.1 String(字符串)

在PHP中,字符串是一种常用的数据类型,可以存储文本数据。例如:

$name = "John Doe"; // 定义一个字符串变量
echo $name; // 输出结果为 John Doe

1.2 Integer(整型)

整型是PHP中表示整数的数据类型,例如:

$num1 = 10; // 定义一个整型变量
$num2 = 20;
$sum = $num1 + $num2; // 对整型变量进行计算
echo $sum; // 输出结果为 30

1.3 Float(浮点型)

浮点型是PHP中表示小数的数据类型,例如:

$price = 9.99; // 定义一个浮点型变量
$quantity = 3;
$total = $price * $quantity; // 对浮点型变量进行计算
echo $total; // 输出结果为 29.97

1.4 Boolean(布尔型)

布尔型是PHP中表示真或假的数据类型,例如:

$is_male = true; // 定义一个布尔型变量
if ($is_male) {echo "Male"; // 输出结果为 Male
} else {echo "Female";
}

1.5 Array(数组)

数组是一种可以存储多个值的数据类型,例如:

$fruits = array("apple", "banana", "orange"); // 定义一个数组变量
echo $fruits[0]; // 输出结果为 apple

1.6 Object(对象)

对象是一种可以封装数据和方法的数据类型,例如:

class Person {public $name;public function sayHello() {echo "Hello, my name is " . $this->name;}
}
$person = new Person(); // 创建一个对象
$person->name = "John"; // 设置对象属性
$person->sayHello(); // 调用对象方法,输出结果为 Hello, my name is John

1.7 NULL(空值)

NULL表示变量没有值,例如:

$age = null; // 定义一个空值变量
if (is_null($age)) {echo "Age is not set"; // 输出结果为 Age is not set
}

1.8 Resource(资源类型)

资源类型是一种可以指向外部资源的数据类型,例如:

$file = fopen("file.txt", "r"); // 打开文件,返回一个指向资源的句柄
echo fread($file, filesize("file.txt")); // 读取文件内容并输出
fclose($file); // 关闭文件

二、 常量与变量

2.1 define 常量的定义与使用

在PHP中,常量是固定值,一旦定义就不能被修改或取消定义。以下是一些常量的使用示例:

  1. 定义一个常量:
define("MY_CONST", "Hello World!"); // 定义一个名为 MY_CONST,值为 "Hello World!" 的常量
  1. 使用常量:
echo MY_CONST; // 输出结果为 Hello World!
  1. 检查常量是否已定义:
if (defined("MY_CONST")) {echo "MY_CONST is defined!"; // 如果 MY_CONST 已定义,输出结果为 MY_CONST is defined!
}

2.2 const 常量的定义与使用

PHP中的const关键字用于定义常量,其值在定义后不能被修改。常量可以在全局范围内访问,而且是没有作用域限制的。常量的命名规则与变量相同,但是通常使用全大写字母的命名规范。以下是一个简单的使用PHP const关键字的示例:

<?php
// 定义常量
const PI = 3.14;
const SITE_NAME = "My Website";
const DB_NAME = "mydb";echo PI; // 输出3.14
echo SITE_NAME; // 输出"My Website"
echo DB_NAME; // 输出"mydb"
?>

以上代码中,我们使用了PHP const关键字来定义三个常量PI、SITE_NAME和DB_NAME。这些常量的值在定义后不能更改,并且可以在全局范围内访问。通过调用echo函数,可以输出这些常量的值。

2.3 静态变量

PHP静态变量是指在函数内部定义的变量,但该变量是函数静态的。即每次调用该函数时,该变量的值都会保留,并且可以在函数内部被多次使用。以下是一个使用PHP静态变量的示例代码:

function countVisitors() {static $count = 0;$count++;echo "Number of visitors: " . $count;
}
countVisitors(); // 输出:Number of visitors: 1
countVisitors(); // 输出:Number of visitors: 2
countVisitors(); // 输出:Number of visitors: 3

在上述代码中,静态变量 $countcountVisitors() 函数内部定义。每次调用 countVisitors() 时, $count 都会自增并输出当前访问者的数量。
需要注意的是,静态变量只能在函数内部使用,并且仅在第一次调用函数时进行初始化。在以后的调用中,静态变量的值不会被重置。

2.4 超全局变量

PHP超全局变量是一些特殊的变量,它们在程序中的任何地方都可以被访问和使用,无需进行任何特殊的声明或定义。以下是PHP中可用的超全局变量以及它们的使用示例:

  1. $_SERVER 包含有关当前脚本执行的服务器和环境信息。
echo $_SERVER['SERVER_ADDR']; //输出当前服务器的IP地址
echo $_SERVER['HTTP_USER_AGENT']; //输出当前用户的浏览器信息
  1. $_GET 包含通过URL参数传递给当前脚本的所有值。
if(isset($_GET['name'])){echo "Hello ".$_GET['name']; //输出URL参数中传递进来的名字
}
  1. $_POST 包含通过表单提交到当前脚本的所有值。
if(isset($_POST['username']) && isset($_POST['password'])){$username = $_POST['username'];$password = $_POST['password'];//处理用户提交的表单数据
}
  1. $_SESSION 包含会话变量,用于在不同页面之间传递数据。
session_start();
$_SESSION['username'] = 'John Smith'; //设置会话变量
echo $_SESSION['username']; //输出会话变量
  1. $_COOKIE 包含通过浏览器存储的所有cookie值。
if(isset($_COOKIE['username'])){echo "Welcome back ".$_COOKIE['username']; //输出cookie中存储的用户名
}
  1. $_FILES 包含通过表单上传的所有文件信息。
if(isset($_FILES['file'])){$fileName = $_FILES['file']['name'];$fileType = $_FILES['file']['type'];$fileSize = $_FILES['file']['size'];//处理上传的文件
}
  1. $_ENV 包含当前脚本的环境变量。
echo $_ENV['PATH']; //输出当前系统的PATH环境变量

三、 条件语句

if-elseif-else 是在 PHP 中用于多条件判断的语法结构,它可以根据不同条件执行不同的代码块。下面是一个简单的例子:

$score = 75;if ($score >= 90) {echo "优秀";
} elseif ($score >= 80) {echo "良好";
} elseif ($score >= 60) {echo "及格";
} else {echo "不及格";
}

在上面的例子中,首先定义了一个变量 $score,然后通过 if-elseif-else 语句对它进行多条件判断。如果 $score 大于等于 90,输出“优秀”;如果 $score 大于等于 80,输出“良好”;如果 $score 大于等于 60,输出“及格”;否则输出“不及格”。这样就可以根据不同的分数输出不同的评价,实现了多条件判断。

四、 Switch语句

PHP中的switch语句用于根据不同的条件执行不同的代码块。下面是一个使用switch语句的例子:

$dayOfWeek = "Monday";switch ($dayOfWeek) {case "Monday":echo "Today is Monday";break;case "Tuesday":echo "Today is Tuesday";break;case "Wednesday":echo "Today is Wednesday";break;case "Thursday":echo "Today is Thursday";break;case "Friday":echo "Today is Friday";break;default:echo "It's the weekend!";
}

这个例子中,我们定义了一个变量dayOfWeek,并在switch语句中根据它的值执行不同的代码块。当dayOfWeek的值为"Monday"时,输出"Today is Monday",当dayOfWeek的值为"Tuesday"时,输出"Today is Tuesday",以此类推。如果dayOfWeek的值不匹配任何一个case,就会执行default中的代码块,输出"It’s the weekend!"。注意,在每个case的代码块末尾都要使用break来跳出整个switch语句,否则会继续执行后面的代码块,直到遇到break或switch语句结束。

五、循环语句

5.1 for循环

假设我们要打印从1到10的数字,可以使用php的for循环来实现。
代码如下:

<?php
for ($i = 1; $i <= 10; $i++) {echo $i . "<br>";
}
?>

上述代码中,for循环的语法结构为:

for (初始化表达式; 条件表达式; 递增/递减表达式) {循环体;
}

其中,初始化表达式为 $i = 1 ,即将循环变量 $i 初始化为1,条件表达式为 $i <= 10 ,即当 $i 的值小于等于10时继续循环,递增表达式为 $i++ ,即每次循环 $i 的值加1。循环体中使用 echo 输出 $i 的值,并加上换行符 <br>

5.2 while循环

以下是一个使用PHP while循环的例子:

<?php 
$count = 1;
while ($count <= 10) {echo "Count is: " . $count . "<br/>";$count++;
}
?>

这个例子中,变量count的初始值为1。在while循环中,我们首先检查count是否小于或等于10。如果条件成立,则输出当前计数的值,并将count加1。当count增加到11时,条件不再成立,while循环停止执行。因此,上面的代码将输出数字1到10。

六、数组与对象

6.1 对象

对象:对象是一种封装了相关属性和方法的数据类型。对象可以存储不同类型的数据,如字符串、数字、布尔值等等,同时也可以包含自定义函数和方法。在PHP中,对象可以通过关键字“class”定义,通过“new”关键字实例化,并通过“->”操作符来访问属性和方法。

6.2数组

数组是一种集合数据类型,它用于存储一组数据,这些数据可以是任意类型的。在PHP中,数组可以使用不同的方式定义,例如使用array()函数、[]方括号、或者使用“range()”函数等。数组可以包含单个值、键值对、多维数组等,而且还提供了一系列可以对数组进行操作的函数。PHP的数组是一种非常灵活、强大的数据类型,以下是它们的使用介绍:

  1. 定义数组:可以使用array()函数、[]方括号、或者使用“range()”函数等方式来定义一个数组。例如:
$arr1 = array(1, 2, 3); // 定义一个长度为3的数组
$arr2 = [4, 5, 6]; // 定义另一个长度为3的数组
$arr3 = range('a', 'e'); // 定义一个包含从 a 到 e 的元素的数组
  1. 访问数组元素:使用下标访问数组元素,下标从0开始。例如:
echo $arr1[0]; // 输出 1
echo $arr2[2]; // 输出 6
echo $arr3[4]; // 输出 e
  1. 添加和删除数组元素:可以使用[]运算符或array_push()函数来向数组末尾添加元素。使用unset()函数删除指定下标的元素。例如:
$arr1[] = 4; // 在 $arr1 数组末尾添加一个元素
array_push($arr2, 7); // 在 $arr2 数组末尾添加一个元素
unset($arr1[1]); // 删除 $arr1 中下标为1的元素
  1. 遍历数组:可以使用for、foreach等循环语句遍历数组。例如:
for ($i = 0; $i < count($arr1); $i++) {echo $arr1[$i];
}
foreach ($arr2 as $value) {echo $value;
}
  1. 多维数组:PHP的数组还支持多维数组,其中每个元素也可以是一个数组。例如:
$multiArr = array(array(1, 2, 3),array("a", "b", "c"),array(true, false),
);
echo $multiArr[0][1]; // 输出 2
echo $multiArr[1][2]; // 输出 c
echo $multiArr[2][1]; // 输出 false

七、 运算符

PHP的运算符是用于执行各种数学,逻辑和位运算操作的符号。

  1. 算术运算符:用于执行基本的数学运算,包括加法(+),减法(-),乘法(*),除法(/),取模(%)和幂运算(**)。
  2. 比较运算符:用于比较两个值的大小和类型,包括相等(),不相等(!=),全等(=),不全等(!==),大于(>),小于(<),大于或等于(>=)和小于或等于(<=)。
  3. 逻辑运算符:用于执行布尔逻辑运算,包括与(&&),或(||)和非(!)。
  4. 位运算符:用于对二进制数字进行操作,包括按位与(&),按位或(|),按位异或(^),左移(<<)和右移(>>)。
  5. 赋值运算符:用于将值赋给变量,包括等于(=),加等于(+=),减等于(-=),乘等于(*=),除等于(/=),模等于(%=),位与等于(&=),位或等于(|=),位异或等于(^=)和左移等于(<<=)右移等于(>>=)。
  6. 其他运算符:包括三元运算符(?:),执行引用运算符(&),错误控制运算符(@)和字符串连接运算符(.)。

八、函数与命名空间

8.1 函数

PHP中函数的定义与使用如下:

  1. 定义函数:
    函数定义使用 function 关键字,后面跟着函数名和括号,括号内是函数参数列表,函数代码块写在花括号内。
function functionName($param1, $param2, ..., $paramN) {// Function code block
}
  1. 函数参数:
    函数可以包含零个或多个参数。函数参数在括号内列出,逗号分隔。当函数被调用时,传递给函数的参数值赋值给函数参数。
  2. 调用函数:
    要调用 PHP 函数,只需要使用函数名称,后面跟着括号包含的参数列表(如果有的话)。
functionName($arg1, $arg2, ..., $argN);
  1. 返回值:
    函数可以返回一个值,该值可以是任何类型的数据,包括数组和对象。函数返回值使用 return 语句指定。
function functionName($param1, $param2) {$result = $param1 + $param2;return $result;
}
  1. 函数作用域:
    函数内部声明的变量是局部变量,它们只能在函数内部访问。函数外部声明的变量是全局变量,它们可以在函数内部和外部访问。
  2. 可变函数:
    PHP允许使用可变函数名称调用函数。这意味着函数名称可以在运行时动态更改。
$functionName = 'functionName';
$result = $functionName($arg1, $arg2);

8.2 命名空间

PHP 命名空间是一种机制,用于解决在编写类库或应用程序时创建函数和类名称冲突的问题。
简单来说,命名空间就是为了避免不同代码库之间的命名冲突而引入的一种机制。在 PHP 中,使用关键字 namespace 来声明一个命名空间,使用 \ 符号来分隔不同级别的命名空间。
例如:

namespace MyNamespace;

可以使用以下代码来引用命名空间中的类或函数:

$myObject = new MyNamespace\MyClass();

当然也可以通过 use 关键字将命名空间中的类或函数导入当前命名空间:

use MyNamespace\MyClass;

或者:

use MyNamespace\MyFunction;

命名空间还可以嵌套使用,例如:

namespace MyNamespace\SubNamespace;
class MyClass {};

在这个例子中,MyClass 类被定义在 MyNamespace\SubNamespace 命名空间下。
除此之外,PHP 还支持使用别名来给命名空间、类或函数取一个短的、易于记忆的名称。例如:

namespace MyNamespace;
use MyNamespace\SubNamespace\MyClass as SubClass;
$myObject = new SubClass();

这样,当需要使用 MyNamespace\SubNamespace\MyClass 时,只需要使用 SubClass 就可以了。

九、魔术常量和魔术方法

9.1 魔术常量

在PHP中,魔术变量是一种特殊的变量,它们用于提供关于脚本运行环境和脚本本身的信息。这些变量都是以两个下划线开头和结尾的,例如__FILE__、LINE、__CLASS__等。下面是一些常用的魔术变量:

  1. FILE:该变量的值为当前文件的完整路径和文件名。

  2. LINE:该变量的值为当前行号。在调试代码时非常有用。

  3. FUNCTION:该变量的值为当前函数的名称。

  4. CLASS:该变量的值为当前类的名称。

  5. METHOD:该变量的值为当前方法的名称。

  6. NAMESPACE:该变量的值为当前命名空间的名称。

  7. DIR:该变量的值为当前文件所在的目录。

使用这些魔术变量可以方便地获取一些关于脚本运行环境和代码本身的信息,从而方便我们进行调试和优化。注意,魔术变量不需要定义或声明,直接使用即可。

9.2 魔术方法

PHP中的魔术方法是一组特殊的函数,它们以双下划线(__)作为前缀,用于处理对象的操作。以下是几个常用的魔术方法:

  1. __construct(): 构造方法,在实例化对象时自动调用,用于初始化对象的成员属性。

  2. __destruct(): 析构方法,在对象被销毁时自动调用,用于清理对象的资源。

  3. __get(): 获取属性值时自动调用,可以用于动态获取私有属性的值。

  4. __set(): 设置属性值时自动调用,可以用于动态设置私有属性的值。

  5. __call(): 调用不存在的方法时自动调用,可以用于实现动态方法。

  6. __toString(): 把对象转换为字符串时自动调用,可以用于在输出对象时自定义格式。

  7. __clone(): 克隆对象时自动调用,可以用于实现对象的浅拷贝和深拷贝。

使用魔术方法可以使代码更加简洁、灵活,同时也可以增强代码的可读性和可维护性。但需要注意,魔术方法的使用必须遵循一定的规范和约定,否则可能会导致意想不到的结果。

总结

以上就是关于本篇文章介绍的内容PHP语言基础,后续更多内容将收录在专栏PHP快速入门与实战中,感谢大家支持。

相关文章:

PHP快速入门02-PHP语言基础

文章目录前言一、 数据类型1.1 String&#xff08;字符串&#xff09;1.2 Integer&#xff08;整型&#xff09;1.3 Float&#xff08;浮点型&#xff09;1.4 Boolean&#xff08;布尔型&#xff09;1.5 Array&#xff08;数组&#xff09;1.6 Object&#xff08;对象&#xff…...

FSCapture - 长截图工具

FSCapture - 长截图工具前言下载使用推荐设置长截图前言 目前大部分手机系统都自带长截图功能&#xff0c;但Windows系统没有自带的长截图功能&#xff0c;因此推荐一款第三方工具FSCapture&#xff0c;该软件轻量强大&#xff0c;支持长截图&#xff0c;即滚动截图。 下载 …...

[ 云计算 | Azure ] Chapter 05 | 核心体系结构之管理组、订阅、资源和资源组以及层次关系

本文主要对如下内容进行讲解&#xff1a;Azure云计算的核心体系结构组件中的&#xff1a;资源、订阅和资源组&#xff0c;以及了解 Azure 资源管理器 (ARM) 如何部署资源。 本系列已经更新文章列表&#xff1a; [ 云计算 | Azure ] Chapter 03 | 描述云计算运营中的 CapEx 与…...

【算法LearnNO.1】算法介绍以及算法的时间复杂度和空间复杂度

目录 一、算法 1、算法概述 2、算法的5个特性 3、设计算法的标准 二、时间复杂度 1、时间复杂度的介绍 2、渐进时间复杂度的求法 3、计算时间复杂度的代码举例&#xff08;平方阶示例&#xff09; 4、时间复杂度排序 三、空间复杂度 一、算法 1、算法概述 算法就是解…...

013:Mapbox GL添加marker

第013个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加marker。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共70行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhu…...

智慧工厂可视化合集,推动行业数字化转型

图扑软件基于 HTML5&#xff08;Canvas/WebGL/WebVR&#xff09;标准的 Web 技术&#xff0c;满足了工业物联网跨平台云端化部署实施的需求&#xff0c;以低代码的形式自由构建三维数字孪生、大屏可视化、工业组态等等。从 SDK 组件库&#xff0c;到 2D 和 3D 编辑&#xff0c;…...

工作流调度系统 Azkaban介绍与安装(一)

文章目录前言1、为什么要用工作流调度系统2、常见的工作流调度系统1 集群规划2 配置 MySQL3 配置 Executor Server3.1 修改 azkaban.properties3.2 启动3.3 激活4 配置 Web Server4.1 修改 azkaban.properties4.2 修改azkaban-users.xml文件&#xff0c;添加 atguigu 用户4.3 启…...

【Python基础入门学习】Python工具Pycharm的安装与使用

一、关于Python 1.1 下载Python 在下载与安装pycharm工具前&#xff0c;一定要先安装python 打开Python官网&#xff1a;python下载打开上述网站&#xff0c;选择 Downloads -> 系统 我是Windows系统&#xff0c;点击进入后&#xff0c;找到自己要安装的安装包以及想安装的…...

【版本控制】Github同步Gitee镜像仓库自动化脚本

文章目录Github同步Gitee镜像仓库自动化脚本前言什么是Hub Mirror Action&#xff1f;1.介绍2.用法配置步骤1.生成密钥对2.GitHub私钥配置3.Gitee公钥配置4.Gitee生成私人令牌5.Github绑定Gitee令牌6.编写CI脚本7.多仓库同步推送8.定时运行脚本总结Github同步Gitee镜像仓库自动…...

索引的分类

1.唯一索引 给表中某一列设置为了唯一约束(这列不允许出现重复数据)后&#xff0c;数据库会为将这一列设置索引&#xff0c;这个索引叫做唯一索引&#xff08;主键那一列是一个特殊的唯一索引&#xff0c;不仅要满足唯一索引这一列不可以出现重复数据&#xff0c;而且这一列还…...

【整理九】

目录1.说说你对递归的理解&#xff1f;封装一个方法用递归实现树形结构封装2.Link和import有什么区别&#xff1f;3.什么是FOUC? 如何避免&#xff1f;4.说说你对预编译器的理解&#xff1f;5.shouldComponentUpdate 的作用6.概述下 React 中的事务处理逻辑7.React组件的划分业…...

钢网是SMT生产使用的一种工具,如何制作?

钢网是SMT生产使用的一种工具&#xff0c;其主要功能是将锡膏准确地涂敷在有需要焊接的PCB焊盘上。 钢网的好坏&#xff0c;直接影响印刷工作的质量&#xff0c;目前一般使用的金属钢网&#xff0c;是由薄薄的、带有小孔的金属板制作成的&#xff0c;在开孔处&#xff0c;锡膏…...

如何创建自己的gym环境

我们为什么要创建一个gym的环境呢&#xff1f;因为需要&#xff0c;哈哈哈&#xff0c;这是一句废话&#xff0c;但是也是一句真话。因为我不想自己写强化学习的算法了&#xff0c;我想用一些现成的框架&#xff0c;这些框架训练的都是gym的游戏&#xff0c;那我把我自己想要训…...

使用Marshaller 将Java对象转化为XML格式和字符串转为xml

使用Marshaller 将Java对象转化为XML格式 对象转xml内容 ①工具类 public static String convertObjectToXml(Object obj) throws Exception {StringWriter writer new StringWriter();// 创建 JAXBContext 和 MarshallerJAXBContext context JAXBContext.newInstance(obj.ge…...

NumPy 秘籍中文第二版:八、质量保证

原文&#xff1a;NumPy Cookbook - Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 “如果您对计算机撒谎&#xff0c;它将帮助您。” – Perry Farrar&#xff0c;ACM 通讯&#xff0c;第 28 卷 在本章中&#xff0c;我们将介绍以下秘籍&#xff1a; …...

[ 应急响应篇基础 ] 日志分析工具Log Parser配合login工具使用详解(附安装教程)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

什么是MVVM?

MVVM 是 Model-View-ViewModel 的缩写&#xff0c;是M-V-VM三部分组成。它本质上就是MVC的改进版。 M&#xff1a;Model 代表数据模型&#xff0c;也可以在Model中定义数据修改和操作的业务逻辑。 V&#xff1a;View 代表视图UI&#xff0c;它负责将数据模型转化成UI 展现出来。…...

Java 企业电子招投标采购系统源码:采购过程更规范,更透明

满足采购业务全程数字化&#xff0c; 实现供应商管理、采购需求、全网寻源、全网比价、电子招 投标、合同订单执行的全过程管理。 电子招标采购&#xff0c;是指在网上寻源和采购产品和服务的过程。对于企业和企业主来说&#xff0c;这是个既省钱又能提高供应链效率的有效方法…...

1384:珍珠(bead)

1384&#xff1a;珍珠(bead) 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 有n颗形状和大小都一致的珍珠&#xff0c;它们的重量都不相同。n为整数&#xff0c;所有的珍珠从1到n编号。你的任务是发现哪颗珍珠的重量刚好处于正中间&#xff0c;即在所有珍珠的重量…...

34岁本科男,做了5年功能测试想转行,除了进厂还能干什么?

我的建议是不要给自己设限。任何一个行业只要做到顶尖都是很有作为的&#xff0c;何况是IT行业&#xff0c;本身就比别的行业有优势&#xff0c;如果你现在是功能测试&#xff0c;应该想的是进阶自动化测试或者测试开发 如何在半年时间由功能测试成长为年薪30W的测试开发&#…...

一文理解Transformer整套流程

【备注】部分图片引至他人博客&#xff0c;详情关注参考链接 【PS】query 、 key & value 的概念其实来源于推荐系统。基本原理是&#xff1a;给定一个 query&#xff0c;计算query 与 key 的相关性&#xff0c;然后根据query 与 key 的相关性去找到最合适的 value。举个例…...

04、SpringBoot运维实用篇

一、配置文件1、临时属性设置目前我们的程序包打好了&#xff0c;可以发布了。但是程序包打好以后&#xff0c;里面的配置都已经是固定的了&#xff0c;比如配置了服务器的端口是8080。如果我要启动项目&#xff0c;发现当前我的服务器上已经有应用启动起来并且占用了8080端口&…...

3.Java运算符

Java运算符 运算符基本分为六类&#xff1a;算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元&#xff08;条件&#xff09;运算符。 一、算术运算符 算数运算符&#xff0c;是指在Java运算中&#xff0c;计算数值类型的计算符号&#xff0c;既然是操作数值…...

《RockectMQ实战与原理解析》Chapter4-分布式消息队列的协调者

4.1 NameServer 的功能 NameServer 是整个消息队列中的状态服务器&#xff0c;集群的各个组件通过它来了解全局的信息 。 同时&#xff0c;各个角色的机器都要定期向 NameServer 上报自己的状态&#xff0c;超时不上报的话&#xff0c; NameServer 会认为某个机器出故障不可用了…...

Spring Boot 最适配的 UI 是什么

与Spring Boot一起使用的最佳 UI 是什么&#xff1f; 我经常碰到的一个常见问题是“与 Spring Boot 一起使用的最佳 UI 是什么&#xff1f;” UI&#xff0c;也称为“用户界面”&#xff0c;有许多不同的风格。 UI 应用程序可能是用 Java Swing、FX 或其他一些技术编写的桌面应…...

TensorFlow 1.x 深度学习秘籍:6~10

原文&#xff1a;TensorFlow 1.x Deep Learning Cookbook 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只关心如…...

分布式场景下,Apache YARN、Google Kubernetes 如何解决资源管理问题?

所有的资源管理系统都需要解决资源的有效利用、任务的有效响应、调度策略的灵活配置这三个最基本问题。那么在分布式的场景下&#xff0c;YARN和Kubernetes是怎么解决的呢&#xff1f;本篇进行介绍。 — Apache YARN — YARN全称为&#xff08;Yet Another Resource Negotiato…...

RK3399平台开发系列讲解(基础篇)POSIX 定时器

🚀返回专栏总目录 文章目录 一、clockid二、sigevent三、timerid四、flags五、 value & old_value六、POSIX 定时器的优势沉淀、分享、成长,让自己和他人都能有所收获!😄 📢为了克服传统定时器的局限性,POSIX 标准组织设计了新的计时器接口和规范,使它们能提供更…...

web小游戏开发:扫雷(三)(完成度90%)

web小游戏开发:扫雷(三) 实现布雷鼠标事件处理左键和右键单独实现实现递归展开追加地雷计数和时间计时小结书接前文啊,如果没看过前两篇的话,不好理解这里的定义了哦。 实现布雷 在之前两篇文章,我们已经把雷区布置好了,全部盖上了格子,现在我们需要把雷布出来,这就需…...

创建菜单栏、菜单、菜单项

1、QMainWindow窗口 1.1、创建菜单栏 this 代表的是 当前窗口&#xff08;主窗口&#xff09;&#xff0c;也就是 当前窗口中添加/设置 菜单栏 this->resize(800,600); //创建 菜单栏 QMenuBar *menuBar new QMenuBar(this); //将菜单栏 添加到主窗口的特殊位置 this-&g…...