- 博客(107)
- 收藏
- 关注
原创 Java三目运算符(条件运算符? :)
Java提供了一个特别的三元运算符(也叫三目运算符)经常用于取代某个类型的 if-then-else 语句。条件运算符的符号表示为“?:”,使用该运算符时需要有三个操作数,因此称其为三目运算符。使用条件运算符的一般语法结构为:result = <expression> ? <statement1> : <statement3>;其中,expression 是一个布尔表达式。当 expression 为真时,执行 statement1, 否则就执行 st.
2022-01-19 17:42:09
1664
原创 Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
Java定义的位运算(bitwise operators)直接对整数类型的位进行操作,这些整数类型包括 long,int,short,char 和 byte。位运算符主要用来对操作数二进制的位进行运算。按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值。Java 语言中的位运算符分为位逻辑运算符和位移运算符两类,下面详细介绍每类包含的运算符。位逻辑运算符位逻辑运算符包含 4 个:&(与)、|(或)、~(非)和 ^(异或)。除了 ~(即位取反)为单目运算符外,其余都.
2022-01-19 17:40:50
270
原创 Java自增和自减运算符(++和--)
在对一个变量做加 1 或减 1 处理时,可以使用自增运算符 ++ 或自减运算 --。++ 或 -- 是单目运算符,放在操作数的前面或后面都是允许的。++ 与 -- 的作用是使变量的值增 1 或减 1。操作数必须是一个整型或浮点型变量。自增、自减运算的含义及其使用实例如表 1 所示。表 1 自增、自减运算的含义及其使用实例 运算符 含义 实例 结果 i++ 将 i 的值先使用再加 1 赋值给 i 变量本身 int i=1; int j=i++; i=2.
2022-01-19 17:39:25
586
原创 Java关系运算符
关系运算符(relational operators)也可以称为“比较运算符”,用于用来比较判断两个变量或常量的大小。关系运算符是二元运算符,运算结果是 boolean 型。当运算符对应的关系成立时,运算结果是 true,否则是 false。关系表达式是由关系运算符连接起来的表达式。关系运算符中“关系”二字的含义是指一个数据与另一个数据之间的关系,这种关系只有成立与不成立两种可能情况,可以用逻辑值来表示,逻辑上的 true 与 false 用数字 1 与 0 来表示。关系成立时表达式的结果为 true(或
2022-01-19 17:38:26
187
原创 Java逻辑运算符(&&、||)
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。表 1 逻辑运算符的用法、含义及实例 运算符 用法 含义 说明 实例 结果 && a&&b 短路与 ab 全为 true 时,计算结果为 true,否则为 false。 2>1&&.
2022-01-19 17:37:36
1279
原创 Java赋值运算符(=)
赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“=”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。其语法格式如下所示:变量名称=表达式内容在Java语言中,“变量名称”和“表达式”内容的类型必须匹配,如果类型不匹配则需要自动转化为对应的类型。赋值运算符的优先级低于算术运算符,结合方向是自右向左;不是数学中的等号,它表示一个动作,即将其右侧的值送到左侧的变量中(左侧只允许是变量,不能是表达式或其他形式);不要将赋值运算符与相等运算符“==”混淆。赋值运算符与其..
2022-01-19 17:36:24
302
原创 Java算术运算符
运算符丰富是Java语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的。Java 语言中的运算符除了具有优先级之外,还有一个结合性的特点。当一个表达式中出现多种运算符时,执行的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的约束,以便确定是自左向右进行运算还是自右向左进行运算。这些运算符按照操作数的数量可以分为单目运算符、双目运算符和三目运算符。最基本的运算符包括算术运算符、赋值运算符、逻辑运算符和关系运算符等,本文将详细介绍算术运算符。Java 中的算术运算符主要用来组..
2022-01-19 17:35:07
264
原创 Java数据类型转换:强制类型转换+自动类型转换
数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。数据类型的转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。隐式转换(自动类型转换)如果以下 2 个条件都满足,那么将一种类型的数据赋给另外一种类型变量的时,将执行自动类型转换(automatic type conversion)。两种数据类型彼此兼容 目标类型的取值范围大于源数据类型(低级类型数据转换成高级类型数据)当以上 2 个条件都满足时,拓宽转换(wi
2022-01-19 17:34:06
581
原创 Java数据类型:基本数据类型和引用数据类型
前面我们提到Java语言是强类型语言,编译器存储在变量中的数值具有适当的数据类型。学习任何一种编程语言都要了解其数据类型,本文将详细介绍 Java 中的数据类型。Java 语言支持的数据类型分为两种:基本数据类型(Primitive Type)和引用数据类型(Reference Type)。Java基本数据类型基本数据类型包括 boolean(布尔型)、float(单精度浮点型)、char(字符型)、byte(字节型)、short(短整型)、int(整型)、long(长整型)和 double ..
2022-01-19 17:32:49
5259
原创 Java变量的作用域:静态变量、全局变量和局部变量
变量的作用域规定了变量所能使用的范围,只有在作用域范围内变量才能被使用。根据变量声明地点的不同,变量的作用域也不同。根据作用域的不同,一般将变量分为不同的类型:成员变量和局部变量。下面对这几种变量进行详细说明。成员变量Java的成员变量有两种,分别是全局变量和静态变量(类变量)。定义在方法体和语句块之外,不属于任何一个方法,作用域是整个类。名称 修饰 访问 生命周期 全局变量(实例变量) 无 static 修饰 对象名.变量名 只要对象被当作引用,..
2022-01-19 17:31:47
1416
原创 Java变量的声明和初始化
Java语言是强类型(Strongly Typed)语言,强类型包含以下两方面的含义:所有的变量必须先声明、后使用。指定类型的变量只能接受类型与之匹配的值。这意味着每个变量和每个表达式都有一个在编译时就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。常量和变量是 Java 程序中最基础的两个元素。常量的值是不能被修改的,而变量的值在程序运行期间可以被修改。本文详细介绍 Java 中变量的声明和赋值方法。声明变量.
2022-01-18 15:10:07
921
原创 Java常量:Java常量的定义和分类
常量是指在程序的整个运行过程中值保持不变的量。在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。下面我们来系统地认识一下Java中的常量值,以及定义常量的方法。常量值常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。整型常量值Java 的整型常量值主要有如下 3 种形式。十进制数形式:如 54、-67、0。 八进制数形式:...
2022-01-18 15:08:14
511
原创 Javadoc(文档注释)详解
Java支持 3 种注释,分别是单行注释、多行注释和文档注释。文档注释以/**开头,并以*/结束,可以通过 Javadoc 生成 API 帮助文档,Java 帮助文档主要用来说明类、成员变量和方法的功能。文档注释只放在类、接口、成员变量、方法之前,因为 Javadoc 只处理这些地方的文档注释,而忽略其它地方的文档注释。Javadoc 是 Sun 公司提供的一种工具,它可以从程序源代码中抽取类、方法、成员等注释,然后形成一个和源代码配套的 API 帮助文档。也就是说,只要在编写程序时以一套特定的标签注.
2022-01-18 15:07:12
11421
1
原创 Java注释:单行、多行和文档注释
注释是对程序语言的说明,有助于开发者和用户之间的交流,方便理解程序。注释不是编程语句,因此被编译器忽略。Java支持以下三种注释方式:1)单行注释以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方。打开 Eclipse,在 Java 代码中使用单行注释,如图 1 所示。图 1 单行注释2)多行注释包含在“/*”和“*/”之间,能注释很多行的内容。为了可读性比较好,一般首行和尾行不写注释信息(这样也比较美观好看),如图 2 所示。注意:多行注释可以嵌套单行注释...
2022-01-18 15:05:22
3657
原创 Java标识符和关键字
任何一种计算机语言都离不开标识符和关键字,因此下面将详细介绍Java的标识符、关键字和保留字。标识符Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。标识符由数字(0~9)和字母(A~Z 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线..
2022-01-18 15:04:02
76
原创 Java程序员的学习路线
你现在是不是想学Java,但又很迷茫,不知从何下手,不知道该从哪里学起,不知道需要学些什么?那么看完这篇文章你会有一种豁然开朗的感觉。学习 Java 的第一步,就是制定自己的 Java 学习路线。对 Java 主要的重点知识归纳如下:对于学习 JavaSE 的读者,分为 JavaSE 初级中级和高级水平,下面分别介绍达到这些水平我们需要掌握什么。JavaSE 初级水平要求掌握计算机入门:DOS 命令,什么是程序,如何配置 Java 开发环境,Java 编程的过程是怎样的,Java 有什么特点,程序是.
2022-01-18 15:02:02
92
原创 Java初学者容易犯的错误
万事开头难,Java编程的初学者常常会遇到各种各样的问题。对于自学的读者来说,则是需要花费更多的时间、精力来解决这些问题,而且一旦遇到的问题几天都得不到解决,往往会带来很大的挫败感。所以本节介绍一些初学者经常出现的错误,以便减少读者在学习中的障碍。1)大小写问题之前我们已经提到,Java 是区分大小写的语言。但由于大部分读者都是 Windows 操作系统的忠实拥护者,因此对大小问题往往都不够重视(Linux 平台是区分大小写的)。例如,有的读者编写的 Java 程序的类是 HelloJava,.
2022-01-18 15:00:56
133
原创 Eclipse快捷键大全
熟悉以下这些 Ecplise 快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情。编辑类快捷键 Ctrl+1 快速修复(最经典的快捷键,可以解决很多问题,比如 import 类、try catch 包围等) Ctrl+Shift+F 格式化当前代码 Ctrl+Shift+M 添加类的 import 导入 Ctrl+Shift+O 组织类的 import 导入(既有 Ctrl+Shift+M 的作用,又可以去除没用的导入,一般用这个导入包) C..
2022-01-18 14:59:31
63
原创 Java Eclipse如何调试代码
下面通过一个简单的例子来了解一下 Eclipse 调试程序的方法。public class Test1 { public static void main(String[] args) { // for循环,如果for后面()内的条件一直成立,{}内的代码一直执行 for (int i = 0; i <= 5; i++) { System.out.println("这时的 i 值为 " + i); } } }上述代码完成的主要功能是如果 i 值满足小于或等于 5 的条件,就
2022-01-18 14:57:41
191
原创 Java修改Eclipse编辑器字体大小
在第一次使用 Eclipse 编写程序时,由于 Eclipse 默认使用的是 Cosnolas 字体,字号为 10,所以编辑器中的字体非常小,不方便查看。我们可以通过下面所示的方法来修改编辑器的字体大小。如图 1 所示,具体修改方法为:选择“窗口”|“首选项”命令,打开“首选项”对话框,从左侧窗格依次展开“General(常规)”|“Appearance(外观)”|“Colors and Fonts(颜色和字体)”选项。从右侧选择Java下的“Java Editor Text Font(Java编..
2022-01-18 14:55:01
297
原创 使用Eclipse开发第一个Java程序
虽然在《使用记事本编写运行Java程序》一节中已经开发过一个Java程序,但是那毕竟是通过记事本创建的。在上一节《Java Eclipse下载安装教程》中,我们已经安装了 Eclipse 工具,因此本节将介绍如何通过 Eclipse 开发 Java 程序。在 Eclipse 中编写程序,必须先创建项目。Eclipse 中有很多项目,其中 Java 项目用于管理和编写 Java 程序,具体步骤如下。(1) 在图 1 所示的界面中选择“file(文件)”|“new(新建)”|“Java Project(..
2022-01-17 15:05:37
220
原创 Java Eclipse下载安装教程
学习Java语言程序设计必须选择一个功能强大、使用简单,能够辅助程序设计的 IDE。Eclipse 是目前最流行的 Java 语言开发工具,它强大的代码辅助功能,可以帮助开发人员自动完成语法修正、补全文字、代码修复、API 提示等编码工作,大量节省程序开发所需的时间。本教程使用 Eclipse 为开发工具,下面介绍它的安装。(1) Eclipse 是一个开放源代码的项目,其官方网站是www.eclipse.org。图 1 所示为 Eclipse 官方网站的首页。图1 Eclipse官网首...
2022-01-17 15:04:22
1440
原创 Java常用开发工具有哪些?
本节介绍一下Java常用的几个开发工具。下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给 Java 编码和开发提供卓越的支持。常用源码编辑工具介绍Java源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。比如:Windows 记事本,Mac OS X 下的文本编辑,Linux 下的 vi、emacs、gedit、DOS 下的 edit 等。但是这些简单工具没有语法的高亮提示、自动完成等功...
2022-01-17 15:03:10
864
原创 Java中JVM、JRE和JDK三者有什么区别和联系?
任何语言或者软件的运行都需要环境。就像人要生活在空气中,鱼要活在水中,喜阴植物就不能放在阳光下暴晒一样,任何对象个体的存在都离不开其所需要的环境,编程语言亦是一样的。Java语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开发的话,JRE 是明显不够了,这时候就需要 JDK。其实啊,JDK 就是 JRE 加上一些常用工具组成的。JDK 不仅能运行已经被编译好了的 Java 程序,还能支持我们编译 Jav.
2022-01-17 15:01:29
45
原创 Java程序的运行过程(执行流程)分析
万事知其然,要知其所以然,所以本节带大家来详细了解一下Java程序的执行过程。从《使用记事本编写运行Java程序》一节的案例可以看出,Java 程序的运行必须经过编写、编译和运行 3 个步骤。编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。 编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件。 运行:是指使用 Java 解释器将字节码文件翻...
2022-01-17 14:59:38
114
原创 Java编程规范(命名规则)
编程规范是对编程的一种约定,主要作用是增强代码的可读性和可维护性,便于代码重用。首先要求程序中的各个要素都遵守命名规则,然后在编码中严格按照编码格式编写代码。命名规则包括以下几点。包的名称由一个小写字母序列组成。 类的名称由大写字母开头,其他字母都由小写的单词组成。 类的实例的名称由一个小写字母开头,后面的单词由大写字母开头。 常量的名称都大写,并且指出完整含义。 参数的名称无其他具体规定。 数组的命名使用“类型[] 数组名”的形式。另外,编码格式规定如下。程序最开始编写导入包和类语句
2022-01-17 14:58:27
53
原创 使用记事本编写运行Java程序
经过上节的操作已经配置完了Java的开发环境,但并不清楚所配置的开发环境是否真的可以运行 Java 应用程序。为了解除这个疑虑,也为了使读者对开发 Java 应用程序的步骤有一个初步的了解,本节将展示一个完整 Java 应用程序的开发过程。编写Java源程序Java 源程序可以使用任何一个文本编辑器来编写,这里以 Windows 下的记事本为例。(1) 新建一个空白记事本,然后如实地输入下列内容。 很多初学者可能不明白此程序的全部意义,没关系,请完全按照实例的样式输入,包括各种括号与标点符号。..
2022-01-17 14:57:50
1198
原创 Java JDK环境变量配置
JDK 安装和配置完成后,可以测试其是否能够正常运行。选择“开始”|“运行”命令,在打开的“运行”对话框中输入 cmd 命令,按 Enter 键进入到 DOS 环境下。在命令提示符后输入并执行java -version命令,系统如果输出类似图 1 所示的 JDK 版本信息,说明 JDK 已经配置成功。图 1 查看JDK版本提示:在命令提示符后输入测试命令时,需要注意 java 和减号之间有一个空格,而减号和 version 之间没有空格。如果没有出现图 1 所示内容,说明 JDK ..
2022-01-17 14:56:44
512
原创 Java JDK下载与安装教程
万事开头难。在了解什么是Java、Java 语言的特点以及学习方法之后,本节将介绍如何搭建编写 Java 程序所需要的开发环境——JDK(Java Development Kit)。JDK 是一种用于构建在 Java 平台上发布的应用程序、Applet 和组件的开发环境,即编写 Java 程序必须使用 JDK,它提供了编译和运行 Java 程序的环境。在安装 JDK 之前,首先要到 Oracle 网站获取 JDK 安装包。JDK 安装包被集成在 Java SE 中,因此下载 Java SE 即可,具体.
2022-01-17 14:55:46
315
原创 Java是什么?Java的特点有哪些?
是近 10 年来计算机软件发展过程中的传奇,其在众多开发者心中的地位可谓“爱不释手”,与其他一些计算机语言随着时间的流逝影响也逐渐减弱不同,Java 随着时间的推移反而变得更加强大。从首次发布开始,Java 就跃到了 Internet 编程的前沿。后续的每一个版本都进一步巩固了这一地位。如今,Java 依然是开发基于 Web 的应用程序的最佳选择。此外,Java 还是智能手机变革的推手,Android编程采用的就是 Java 语言。什么是Java语言简单地说,Java 是由 Sun Micr.
2022-01-17 14:53:52
128
转载 C++函数的默认参数详解
在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就使用用户指定的值,否则使用参数的默认值。所谓默认参数,指的是当函数调用中省略了实参时自动使用的一个值,这个值就是给形参指定的默认值。下面是一个简单的示例:#include<iostream> using namespace std; //带默认参数的函数 void fun
2022-01-16 19:09:27
2914
原创 C++ inline内联函数详解
函数是一个可以重复使用的代码块,CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数,主调函数就会暂停,CPU 转而执行被调函数的代码;被调函数执行完毕后再返回到主调函数,主调函数根据刚才的状态继续往下执行。一个 C/C++程序的执行过程可以认为是多个函数之间的相互调用过程,它们形成了一个或简单或复杂的调用链条,这个链条的起点是 main(),终点也是 main()。当 main() 调用完了所有的函数,它会返回一个值(例如return 0;)来结束自己的生命,从而结束.
2022-01-16 19:05:53
54
原创 C++布尔类型(bool)
在C语言中,关系运算和逻辑运算的结果有两种,真和假:0 表示假,非 0 表示真。例如:#include <stdio.h> int main(){ int a, b, flag; scanf("%d %d", &a, &b); flag = a > b; //flag保存关系运算结果 printf("flag = %d\n", flag); return 0; }运行结果:10 20↙flag = 0C语言并没有彻底从语法上支持“真”和“
2022-01-16 19:04:56
476
原创 C++变量的定义位置
不但在C语言的基础上进行了很多扩展,而且也对C语言部分做了细节上的改进,变量的定义位置就是其中之一。C89 规定,所有局部变量都必须定义在函数开头,在定义好变量之前不能有其他的执行语句。C99 标准取消这这条限制,但是 VC/VS 对 C99 的支持很不积极,仍然要求变量定义在函数开头。C89 和 C99 是两套不同的C语言标准,C99 是 C89 的升级版,我们已在《C语言的三套标准:C89、C99和C11》中进行了讲解。请看下面的代码:#include <stdio.h>
2022-01-16 19:03:59
328
原创 C++输入输出(cin和cout)
在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。【例1】简单的输入输出代码示例:#include<iostream> using namespace std; int main(){ int x; float y; cout<<"Please input an int number:"<<endl; c
2022-01-16 19:02:45
836
原创 C++头文件和std命名空间(精辟)
是在C语言的基础上开发的,早期的 C++ 还不完善,不支持命名空间,没有自己的编译器,而是将 C++ 代码翻译成C代码,再通过C编译器完成编译。这个时候的 C++ 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等头文件依然有效;此外 C++ 也开发了一些新的库,增加了自己的头文件,例如:iostream.h:用于控制台输入输出头文件。 fstream.h:用于文件操作的头文件。 complex.h:用于复数计算的头文件。和C语言一样,C++ 头文件仍然以.h为后缀,它
2022-01-16 19:01:48
143
原创 C++命名空间(名字空间)详解
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。例如小李和小韩都参与了一个文件管理系统的开发,它们都定义了一个全局变量 fp,用来指明当前打开的文件,将他们的代码整合在一起编译时,很明显编译器会提示 fp 重复定义(Redefinition)错误。为了解决合作开发时的命名冲突问题,C++引入了命名空间(Namespace)的概念。请看下面的例子:namespa.
2022-01-16 19:00:23
147
原创 如何编译和运行C++程序?
C++和C语言类似,也要经过编译和链接后才能运行。在《C语言编译器》专题中我们讲到了 VS、Dev C++、VC 6.0、Code::Blocks、C-Free、GCC、Xcode等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C++ 程序,步骤是一样的,这里不再赘述,读者需要留意的是 C++ 源文件的后缀,以及 GCC 中的g++命令。下图是 C/C++ 代码生成可执行文件的过程:C++源文件的后缀C语言源文件的后缀非常统一,在不同的编译器下都是.c。C++ 源文件的..
2022-01-16 18:59:08
1095
原创 C++类和对象到底是什么意思?
是一门面向对象的编程语言,理解 C++,首先要理解类(Class)和对象(Object)这两个概念。C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如:#include <stdio.h> //定义结构体 Student struct Student{ //结构体包含的成员变量 char *name; int age
2022-01-16 18:58:01
94
原创 学习C++之前要先学习C语言吗?
C++读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。从语法上看,C语言是 C++ 的一部分,C语言代码几乎不用修改就能够以 C++ 的方式编译,这给很多初学者带来了不小的困惑,学习 C++ 之前到底要不要先学习C语言呢?我对这个问题保持中立,但是初学者直接学习 C++ 会非常吃力,Hold 不住,尤其是对计算机内存不太理.
2022-01-16 18:55:57
162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人