初级程序员必备的十大技能之编程语言(一)

简介: 教程来源 https://www.xbivx.cn/ 本文深入解析编程语言的通用核心:变量与数据类型、控制流(条件判断与循环),揭示其底层逻辑与跨语言共性。不教语法细节,而培养编程思维,助初学者夯实基础、轻松切换语言。

编程语言是程序员的“母语”
对于初级程序员来说,编程语言不仅仅是工具,更是一种思维方式。就像人类通过语言表达思想,程序员通过编程语言将逻辑转化为机器可执行的指令。

本文不是教你“学哪门语言”,而是带你深入理解编程语言的核心概念、通用思维和实战技巧。无论你使用 JavaScript、Python、Java 还是 Go,这些底层知识都是通用的,掌握了它们,切换语言只是语法问题。

一、变量与数据类型:程序世界的“基本粒子”

1.1 什么是变量?
变量是计算机内存中存储数据的“容器”。你可以把它想象成一个带有标签的盒子,盒子里可以放不同类型的东西。

// JavaScript 示例
let age = 25;           // 数值
let name = "张三";      // 字符串
let isStudent = true;   // 布尔值
let hobbies = ["阅读", "游泳"];  // 数组
let person = {          // 对象
  name: "张三",
  age: 25
};
# Python 示例
age = 25                # 动态类型,无需声明
name = "张三"
is_student = True
hobbies = ["阅读", "游泳"]
person = {"name": "张三", "age": 25}
// Java 示例(静态类型)
int age = 25;
String name = "张三";
boolean isStudent = true;
String[] hobbies = {"阅读", "游泳"};
// 需要定义类来创建对象

1.2 数据类型分类
image.png
1.3 类型转换:让不同类型协同工作

// JavaScript 类型转换
let strNum = "123";
let num = Number(strNum);      // 字符串转数字:123
let bool = Boolean(strNum);    // 任何非空字符串转布尔:true

let num2 = 456;
let str = String(num2);        // 数字转字符串:"456"

// 隐式转换(容易踩坑)
console.log("5" + 3);   // "53" - 字符串拼接优先
console.log("5" - 3);   // 2 - 减法会尝试转数字
# Python 类型转换
str_num = "123"
num = int(str_num)          # 转整数:123
float_num = float(str_num)  # 转浮点数:123.0
bool_val = bool(str_num)    # 转布尔:True(空字符串为 False)

# 安全的类型转换
def safe_int(value, default=0):
    try:
        return int(value)
    except ValueError:
        return default

print(safe_int("abc"))  # 0,不会崩溃

1.4 变量命名规范(重要!)
image.png
核心原则:

✅ 名称要能表达含义:age 而非 a

✅ 使用完整的单词:getUserById 而非 gUbi

❌ 避免无意义的缩写:tmp1, data2

❌ 避免拼音或中文:xingming 而非 userName

二、控制流:程序的“交通指挥”

2.1 条件判断:让程序做决策
条件判断是程序智能的核心,它让代码能够根据不同情况执行不同路径。

if-else 基础

// JavaScript
let score = 85;

if (score >= 90) {
    console.log("优秀");
} else if (score >= 80) {
    console.log("良好");
} else if (score >= 60) {
    console.log("及格");
} else {
    console.log("不及格");
}

执行原理:

从上到下依次判断条件

遇到第一个 true 的条件,执行对应代码块

执行完后跳过所有剩余的 else if 和 else

如果所有条件都是 false,执行 else 块

switch-case(多分支选择)

# Python 3.10+ 的 match-case(类似 switch)
def get_day_type(day):
    match day:
        case "Saturday" | "Sunday":
            return "周末"
        case "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday":
            return "工作日"
        case _:  # 默认情况
            return "无效输入"
// JavaScript switch
function getDayType(day) {
    switch(day) {
        case "Saturday":
        case "Sunday":
            return "周末";
        case "Monday":
        case "Tuesday":
        case "Wednesday":
        case "Thursday":
        case "Friday":
            return "工作日";
        default:
            return "无效输入";
    }
}

switch vs if-else 对比:
image.png
三元运算符:简洁的条件表达式

// 基本语法:条件 ? 真值 : 假值
let status = age >= 18 ? "成年" : "未成年";

// 嵌套使用(不推荐过于复杂)
let type = score >= 90 ? "A" : score >= 80 ? "B" : score >= 60 ? "C" : "D";
# Python 的三元表达式不同
status = "成年" if age >= 18 else "未成年"

2.2 循环:让程序重复执行
循环是处理批量数据和重复任务的基础。

for 循环

// Java 经典 for 循环
for (int i = 0; i < 10; i++) {
    System.out.println("第 " + i + " 次循环");
}

语法解析:

int i = 0:初始化(执行一次)

i < 10:循环条件(每次迭代前检查)

i++:更新(每次迭代后执行)

// JavaScript for...of(遍历数组值)
const fruits = ["苹果", "香蕉", "橙子"];
for (const fruit of fruits) {
    console.log(fruit);
}

// JavaScript for...in(遍历对象属性)
const person = { name: "张三", age: 25 };
for (const key in person) {
    console.log(key + ": " + person[key]);
}
# Python for 循环(最优雅)
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)

# 带索引的遍历
for i, fruit in enumerate(fruits):
    print(f"{i}: {fruit}")

# range 生成数字序列
for i in range(10):      # 0-9
    print(i)
for i in range(5, 10):   # 5-9
    print(i)
for i in range(0, 10, 2): # 0,2,4,6,8(步长2)
    print(i)

while 循环

// while 循环:条件为 true 时持续执行
let count = 0;
while (count < 5) {
    console.log("count: " + count);
    count++;  // 忘记增加会导致无限循环!
}

// do-while:至少执行一次
let i = 10;
do {
    console.log("至少执行一次:" + i);
    i++;
} while (i < 5);

while vs for 选择指南:

知道确切循环次数 → 使用 for

不知道次数,依赖某个条件 → 使用 while

必须至少执行一次 → 使用 do-while

循环控制关键字

// break:立即退出循环
for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break;  // i=5 时退出,只输出 0-4
    }
    console.log(i);
}

// continue:跳过当前迭代,继续下一次
for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue;  // 跳过 i=2,输出 0,1,3,4
    }
    console.log(i);
}

实战案例:查找素数

def is_prime(n):
    """判断一个数是否为素数"""
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

# 找出 1-100 之间的所有素数
primes = []
for num in range(1, 101):
    if is_prime(num):
        primes.append(num)
print(primes)  # [2,3,5,7,11,...]

来源:
https://xbivx.cn/

相关文章
|
13天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23495 11
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
17天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
5475 20
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
18天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
6540 16
|
7天前
|
人工智能 缓存 Shell
Claude Code 全攻略:命令大全 + 实战工作流(完整版)
Claude Code 是一款运行在终端环境下的 AI 编码助手,能够直接在项目目录中理解代码结构、编辑文件、执行命令、执行开发计划,并支持持久化记忆、上下文压缩、后台任务、多模型切换等专业能力。对于日常开发、项目维护、快速重构、代码审查等场景,它可以大幅减少手动操作、提升编码效率。本文从常用命令、界面模式、核心指令、记忆机制、图片处理、进阶工作流等维度完整说明,帮助开发者快速上手并稳定使用。
1666 3
|
6天前
|
前端开发 API 内存技术
对比claude code等编程cli工具与deepseek v4的适配情况
DeepSeek V4发布后,多家编程工具因未适配其强制要求的`reasoning_content`字段而报错。本文对比Claude Code、GitHub Copilot、Langcli、OpenCode及DeepSeek-TUI等主流工具的兼容性:Claude Code需按官方方式配置;Langcli表现最佳,开箱即用且无报错;Copilot与OpenCode暂未修复问题;DeepSeek-TUI尚处早期阶段。
1133 3
对比claude code等编程cli工具与deepseek v4的适配情况
|
2天前
|
人工智能 BI 持续交付
Claude Code 深度适配 DeepSeek V4-Pro 实测:全场景通关与真实体验报告
在 AI 编程工具日趋主流的今天,Claude Code 凭借强大的任务执行、工具调用与工程化能力,成为开发者与自动化运维的核心效率工具。但随着原生模型账号稳定性问题频发,寻找一套兼容、稳定、能力在线的替代方案变得尤为重要。DeepSeek V4-Pro 作为新一代高性能大模型,提供了完整兼容 Claude 协议的 API 接口,只需简单配置即可无缝驱动 Claude Code,且在任务执行、工具调用、复杂流程处理上表现极为稳定。
839 0
|
1月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
27259 65
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)