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

news2025/1/12 3:57:08

文章目录

  • 前言
  • 一、 数据类型
    • 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快速入门与实战中,感谢大家支持。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ vulnhub靶机通关篇 ] 渗透测试综合靶场 DC-5 通关详解 (附靶机搭建教程)

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

深入了解Hugging Face Transformers库:NLP的转换之力

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

29岁,普通功能测试,我是如何在一周内拿到5份Offer的?

我有个朋友&#xff0c;29岁&#xff0c;功能测试已经2年有余&#xff0c;关于他的职业发展历程&#xff0c;以后会跟大家分享&#xff0c;今天主要想把他跟我分享的面试经历和经验分享给大家&#xff0c;帮助一些迷茫中的朋友。 最近&#xff0c;大概面试了7&#xff0c;8家公…

Redis -List

Redis List 本章介绍redis 的List的数据结构 Redis列表是字符串值的链表。Redis列表经常用于&#xff1a; 1、实现堆栈和队列 2、为后台工作系统提供队列管理 例如&#xff1a; 第一种情况&#xff0c;将List视为一种先进先出的队列 Treat a list like a queue (first in, fi…

Linux系统安装MySQL

使用wget命令下载安装包&#xff0c;命令&#xff1a; ​ wget http://dev.MySQL.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz​ 1、查看是否已经安装MySQL&#xff1a; 命令&#xff1a; rpm -qa|grep -i mysql 我的Linux是没有安装过的&…

rk3568点亮LCD(mipi)

rk3568 Android11/12 适配 mipi 屏 MIPI (Mobile Industry Processor Interface) 是2003年由ARM, Nokia, ST ,TI等公司成立的一个联盟&#xff0c;目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化&#xff0c;从而减少手机设计的复杂程度和增加设计灵活性…

【Java版oj】day27不用加减乘除做加法、三角形

目录 一、不用加减乘除做加法 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、三角形 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 一、不用…

Midjourney V5太炸裂:逼真到颤抖!“有图有真相”时代彻底过去 画画创作者 模特一键淘汰

** ** 文章目录1、Midjourney V51.1、许多人纷纷惊呼&#xff1a;人类画师别活了。1.2、通用模型2、midjourney是什么3、midjourney 的使用方式4、Midjourney新手入门描述词5、一些疑难杂症1、Midjourney V5 继GPT-4发布之后&#xff0c;Midjourney V5上线。网友纷纷试玩&…

java学习之局部内部类

目录 一、内部类简介 二、内部类的分类 三、局部内部类 第一点 第二点 第三点 第四点 第五点 第六点 第七点 一、内部类简介 类的五大成员&#xff1a;属性、方法、构造器、代码块、内部类 package com.hspedu.innerclass;public class InnerClass01 {public static…

2023 年嵌入式世界的3 大趋势分析

目录 大家好&#xff0c;本文讲解了嵌入式发展的3个大趋势&#xff0c;分享给大家。 趋势#1 – Visual Studio Code Integration 趋势#2 –支持“现代”软件流程 趋势 #3 – 在设计中利用 AI 和 ML 结论 大家好&#xff0c;本文讲解了嵌入式发展的3个大趋势&#xff0c;分享…

1、Git使用不完全指南:GitHub的使用详解

GitHub 是一个以开源为基础的社交化编程平台&#xff0c;开发者可以在上面分享代码、协同开发、交流等。下面我们来讲一下如何使用 GitHub。 1. 注册 GitHub 账号 首先&#xff0c;我们需要在 GitHub 上注册一个账号&#xff0c;访问GitHub官网&#xff1a;GitHub: Let’s bui…

IDEA win11安装flutter环境

1.环境说明 操作系统&#xff1a;win11编辑器&#xff1a;Idea 2022.2.1Flutter&#xff1a;3.7.7JDK&#xff1a;17 2.安装 Flutter SDK 2.1安装flutter sdk flutter中文网 2.2配置环境变量 1&#xff09;在环境变量path中加入flutter的安装路径&#xff1a;D:\DevelopT…

结合PCA降维的DBSCAN聚类方法(附Python代码)

目录 前言介绍&#xff1a; 1、PCA降维&#xff1a; &#xff08;1&#xff09;概念解释&#xff1a; &#xff08;2&#xff09;实现步骤&#xff1a; &#xff08;3&#xff09;优劣相关&#xff1a; 2、DBSCAN聚类&#xff1a; &#xff08;1&#xff09;概念解释&a…

关于镜头畸变问题的总结

1、问题背景最近在做的项目有畸变校正的需求&#xff0c;但测试镜头畸变时&#xff0c;发现畸变的形态不太正常。如下图所示中间向内凹、四周向外凸&#xff0c;感觉像是曲线型的。但常见的畸变就两种&#xff0c;一种是向内收的枕形畸变&#xff0c;另一种是向外凸的桶形畸变&…

SpringCloud:ElasticSearch之DSL查询文档

elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL&#xff08;Domain Specific Language&#xff09;来定义查询。常见的查询类型包括&#xff1a; 查询所有&#xff1a;查询出所有数据&#xff0c;一般测试用。例如…

第04章_IDEA的安装与使用(上)

第04章_IDEA的安装与使用&#xff08;上&#xff09; 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 【Why IDEA ?】 【注】JetBrains官方说明&#xff1a; 尽管我们采取了多种…

从二叉树角度看归并排序

归并排序本质上可以看作二叉树的后序遍历 里面用到的核心思想 > 分治 分&#xff1a;二叉树算法思想中的分解问题思想 治&#xff1a;链表中双指针技巧&#xff08;将两条链表合并成一条有序链表&#xff09; sort首先将数组分成左半边和右半边 > 然后分别对左右两…

Log库和配置系统结构

Log库&#xff1a; 类关系 首先有3个大类&#xff1a;LogEvent、LogAppender、Logger、LogFormat&#xff1b; 关系如下&#xff1a; Logger&#xff1a;具体log的实现 LogAppender&#xff1a;将Log信息传输到不同的目的地&#xff0c;根据不同的需求派生出不同的类 LogF…

Java 系列 Nacos

Java 系列文章 文章目录Java 系列文章前言一、Nacas 介绍及安装1. 什么是Nacos2. 为什么使用Nacos3. Nacos 下载和安装二、Nacos服务提供者注册1. Nacos代替Eureka2. Nacos服务注册中心3. Nacos Discovery引入1. 创建新项目2. POM3. YML文件4. 启动类5. 业务类6. 测试&#xff…

Git如何推送当前代码到远程仓库

第一种方法 &#xff08;建立在已经配置好用户变量和ssh基础上&#xff09; 在本地创建git仓库 git init 绑定远程仓库&#xff0c;origin是给远程仓库起的别名&#xff0c;也可以起其他名字&#xff0c;但是如果用origin&#xff0c;git push时可以不指出名字&#xff0c;如果…