# Markdown 代码语法演示

## 1. 内联代码（行内代码）

### Python 示例
在Python中，可以使用 `print("Hello, World!")` 来输出文本。

### Java 示例
Java中定义主方法：`public static void main(String[] args)`

### Shell 示例
使用 `ls -la` 命令查看当前目录的详细信息。

## 2. 代码块（代码片段）

### Python 代码块

```python
# 这是一个Python示例
def fibonacci(n):
    """计算斐波那契数列"""
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

# 测试函数
for i in range(10):
    print(f"fibonacci({i}) = {fibonacci(i)}")
```

### Java 代码块

```java
// Java Hello World 示例
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
        
        // 计算1-10的和
        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            sum += i;
        }
        System.out.println("1到10的和为: " + sum);
    }
}
```

### Shell 脚本代码块

```bash
#!/bin/bash
# 这是一个简单的shell脚本示例

echo "当前用户: $(whoami)"
echo "当前目录: $(pwd)"
echo "系统信息: $(uname -a)"

# 查找当前目录下的.py文件
echo "Python文件列表:"
find . -name "*.py" -type f | head -10

# 检查磁盘使用情况
echo -e "\n磁盘使用情况:"
df -h | grep -v tmpfs
```

### 多语言对比示例

```python
# Python列表推导式
squares = [x**2 for x in range(10)]
print(squares)
```

```java
// Java实现同样功能
int[] squares = new int[10];
for (int i = 0; i < 10; i++) {
    squares[i] = i * i;
}
System.out.println(Arrays.toString(squares));
```

```bash
# Shell实现平方计算
for i in {0..9}; do
    echo $((i * i))
done
```

## 3. 语法高亮支持

Markdown 支持多种语言的语法高亮：

- **Python**: ` python `
- **Java**: ` java `
- **JavaScript**: ` javascript `
- **HTML**: ` html `
- **CSS**: ` css `
- **Shell/Bash**: ` bash ` 或 ` shell `
- **SQL**: ` sql `
- **JSON**: ` json `
- **YAML**: ` yaml `

## 4. 实用技巧

### 带标题的代码块
```python:calculator.py
# 简单计算器实现
def add(a, b):
    return a + b

def multiply(a, b):
    return a * b
```

### 显示行号
某些Markdown渲染器支持行号显示（取决于具体渲染器）：

```python
# 这是一个带注释的示例
def greet(name):
    """问候函数"""
    return f"Hello, {name}!"  # 使用f-string格式化

# 调用函数
message = greet("World")
print(message)
```

## 5. 注意事项

1. **内联代码**使用单个反引号：\`code\`
2. **代码块**使用三个反引号并指定语言：\`\`\`language
3. 在代码块中，可以避免Markdown语法的转义问题
4. 内联代码适合简短的代码片段，代码块适合多行代码

这样使用代码格式，可以让技术文档更加清晰易读！