1、什么是计算机
2、 硬件及冯诺依曼结构
3、软件及软件开发
4、常用的快捷键
5、常用的Dos命令
bash
常用的Dos命令:(基本都是在cmd里面写的)
#盘符切换:直接输入那个盘符的名字加一个冒号就行。
#切换目录: cd change directory(这是英文缩写)
真正的命令应该是:cd \d 路径
#返回上一级 cd ..
#清理屏幕 cls (英文简写为clean screen)
#查看电脑的ip ipconfig
#快捷键打开计算器:直接在cmd里面输入:calc (这个是英文calculate的简写)
#快捷键打开画图:直接在cmd里面输入:mspaint
#快捷键打开记事本:直接在cmd里面输入:notepad
#ping命令:例如:ping www.baidu.com (查看百度这个网站的信息)
#文件操作(一系列操作)
创建文件夹:md 目录名
cd 目录名
在这个文件夹里面创建一个文件:cd> 文件名
删除文件:del 文件名
删除空的之前创建的文件夹:rd 目录名
6、计算机语言发展史
7、java的特性和优势
8、java三大版本
9、jdk,jre,jvm的关系图
10、java程序运行机制。
11、一些核心的概念需要知道的。
(1)编译型语言
定义:编译型语言在程序运行之前,将整个源代码翻译成目标代码(通常是机器语言或字节码),然后将这个目标代码执行。
特点:
- 预编译:程序在运行之前需要经过一个编译过程。这一过程将源代码转换为可执行文件。
- 执行效率高:由于编译生成的是机器代码,计算机可以直接执行,因此运行效率较高。
- 错误检测:编译时会检测语法错误,开发者在运行程序之前可以修正这些错误。
- 平台依赖:编译后的代码通常与特定平台相关,不同平台可能需要重新编译。
示例语言:C、C++、Rust、Go 等。
(2)解释型语言
定义:解释型语言在程序运行时逐行读取源代码并立即执行,而不是事先编译成目标代码。
特点:
- 即时执行:源代码在运行时被逐行解释执行,无需单独的编译步骤。
- 易于调试:开发者可以直接运行代码并测试部分功能,方便调试和修改。
- 跨平台性强:因为源代码在运行时被解释,可以在不同平台上运行,只要有相应的解释器。
- 执行效率低:由于每次运行时都需要解释,整体运行速度通常比编译型语言慢。
示例语言:Python、JavaScript、Ruby、PHP 等。
(3)混合型语言
一些语言结合了这两种方法,例如:
- Java:首先将源代码编译成字节码,然后通过 Java 虚拟机(JVM)解释执行。这样可以实现跨平台性,同时保持相对较高的执行效率。
- C#:类似于 Java,首先编译为中间语言(IL),然后通过 .NET 运行时解释执行。
总结
- 编译型语言:需要先编译,运行效率高,但不便于快速调试。
- 解释型语言:逐行解释执行,便于调试和跨平台,但速度较慢。
12、关于java的一些知识
一、jdk,jre,jvm的基本概念
1. JVM(Java Virtual Machine)
定义:JVM 是一种能够执行 Java 字节码的虚拟机。它为 Java 应用程序提供了一个运行环境,可以使得 Java 程序在不同的操作系统上运行而无需修改。
特点:
- 平台独立性:JVM 使得 Java 程序可以在任何安装了相应 JVM 的平台上运行。
- 内存管理:负责内存分配和垃圾回收。
- 执行字节码:将 Java 编译器生成的字节码转换为机器代码并执行。
2. JRE(Java Runtime Environment)
定义:JRE 是 Java 运行时环境,提供了运行 Java 应用程序所需的最小环境。它包含 JVM 和支持 Java 应用运行的核心类库和其他文件。
特点:
- 包含 JVM:JRE 中包含 JVM,因此可以执行 Java 程序。
- 不包括开发工具:JRE 不包含用于开发 Java 应用程序的工具,如编译器(javac)。
3. JDK(Java Development Kit)
定义:JDK 是 Java 开发工具包,提供了开发 Java 应用程序所需的工具和环境。它包含 JRE 和一套开发工具。
特点:
- 包含 JRE 和 JVM:JDK 内含 JRE 和 JVM,因此可以运行 Java 程序。
- 开发工具:包括编译器(javac)、调试工具、文档生成工具等,用于开发和测试 Java 应用程序。
三者的联系与区别
特性 | JDK | JRE | JVM |
---|---|---|---|
定义 | Java 开发工具包 | Java 运行时环境 | Java 虚拟机 |
功能 | 用于开发和运行 Java 程序 | 用于运行 Java 程序 | 执行 Java 字节码 |
包含内容 | 包含 JRE 和开发工具 | 包含 JVM 和类库 | 独立的虚拟机环境 |
适用对象 | 开发者 | 普通用户 | JVM 用户(Java 应用) |
总结
- JDK 是开发 Java 应用的完整工具包,包含 JRE 和开发工具。
- JRE 是运行 Java 应用程序的环境,依赖 JVM 来执行字节码。
- JVM 是执行 Java 字节码的虚拟机,为 Java 提供了跨平台的能力。
二、c++与java的区别
1. 内存管理
-
C++:
- 允许开发者直接管理内存,使用指针进行内存分配(如
new
和delete
)。 - 开发者需要自己负责资源的释放,容易导致内存泄漏或悬空指针问题。
- 允许开发者直接管理内存,使用指针进行内存分配(如
-
Java:
- 自动内存管理,使用垃圾回收机制(Garbage Collection)来回收不再使用的对象。
- 不支持指针,但可以通过引用来访问对象,这样避免了直接操作内存的复杂性和风险。
2. 指针与引用
-
C++:
- 支持指针,允许进行复杂的内存操作和数据结构(如链表、树等)的实现。
- 指针可以指向任何类型的数据,也可以进行算术运算。
-
Java:
- 不支持指针概念,使用引用来代替。引用可以被视为指向对象的"安全指针"。
- 由于没有指针,Java 程序在处理内存安全性方面更有保障。
3. 性能
-
C++:
- C++ 是编译型语言,通常编译成机器码,可以直接在硬件上运行,因此具备较高的执行速度。
- 允许低级别的优化,开发者可以针对特定硬件进行优化。
-
Java:
- Java 是解释型语言,编译成字节码后通过 JVM 执行。尽管现代 JVM 使用即时编译(JIT)技术来提高性能,但通常仍比 C++ 稍慢。
- 垃圾回收和自动内存管理的开销也会影响性能。
4. 平台独立性
-
C++:
- 编译后的程序与操作系统密切相关,移植性较差。
-
Java:
- 一次编写,到处运行(Write Once, Run Anywhere),通过 JVM 实现跨平台能力。
5. 多重继承
-
C++:
- 支持多重继承,可以从多个类继承属性和方法。可能导致菱形继承问题。
-
Java:
- 不支持多重继承(类),但可以通过接口实现多重继承的效果。
总结
**C++ 的灵活性和高性能使其适合底层系统开发和高性能应用,而 Java 的安全性和跨平台能力使其在企业级应用和网络应用中更受欢迎。**选择哪种语言取决于具体的应用需求和开发环境。
三、关于制表符的一些知识
1. 制表符的定义
- 制表符(Tab) 是一个特殊字符,通常用来在文本中插入水平空白。它的 ASCII 码是 9。
- 在不同的上下文中,制表符的表现形式可能不同,但一般来说,它会移动光标到下一个制表位。
2. 制表符的作用
- 对齐文本:制表符常用于对齐列数据,使得输出看起来更整齐。例如,在打印表格时,使用制表符可以让每一列的数据对齐。
- 创建空间:在文本中插入制表符可以创建较大的空白区域,而不必手动输入多个空格。这样可以减少错误并提高效率。
3. 制表符的使用
-
当你在代码中使用
"\t"
时,Java 会将它转换为一个制表符。 -
在输出时,每当遇到
"\t"
,光标会跳到下一个制表位。默认情况下,制表位通常设置为每隔 8 个字符,但这可以根据环境或设置进行调整。 -
假设我们有以下文本:
bash
Name Age City
Alice 30 New York
Bob 25 Los Angeles
这里的 "Name", "Age", 和 "City" 之间的空白部分可能就是通过制表符实现的。使用制表符可以使这些字段整齐地排列成列。
4. 在编程中的应用
在编程中,特别是在控制台输出时,使用制表符可以帮助我们更好地格式化输出。例如:
java
System.out.println("Name\tAge\tCity");
System.out.println("Alice\t30\tNew York");
System.out.println("Bob\t25\tLos Angeles");
输出将是:
bash
Name Age City
Alice 30 New York
Bob 25 Los Angeles
总结
制表符是一个非常有用的工具,用于在文本中创建结构和对齐。**通过使用 "\t"
,**我们可以方便地控制文本输出的格式,使其更加可读和美观。一般来说,\t只是在输出的两个数据中留有一定的空白,看起来就像表格一样,但是如果想要达到留有像表格一样的空白和换行的话,那么就得多加一个\n了,\n表示输出换行。
5、其他制表符知识
(1). Java 的转义序列
以下是一些常见的 Java 转义序列:
\n
:换行符\t
:水平制表符\\
:反斜杠\'
:单引号\"
:双引号
(2). 如果需要垂直空白
虽然 Java 不支持 \v
,但你可以使用其他方法来实现类似于垂直空白的效果。例如,使用多个换行符(\n
)来创建空行:
java
System.out.println("Hello");
System.out.println();
System.out.println();
System.out.println("World");
这段代码将在 "Hello" 和 "World" 之间插入两行空白。
**总结:**在 Java 中,没有垂直制表符的表示。如果需要插入垂直空间,可以通过其他方式实现,例如使用换行符。
6、print,printf,println三者的区别和概念
在 Java 中,print
、printf
和 println
是用于输出数据到控制台的方法,它们之间有一些关键的区别和特点:
1. print
- 概念 :
print
方法用于将指定的数据输出到控制台,不会自动换行。 - 用法:可以输出字符串、数字、字符等多种数据类型。
java
System.out.print("Hello, "); // 输出 "Hello, ",光标不换行
System.out.print("World!"); // 继续在同一行输出 "World!"
2. println
- 概念 :
println
方法也用于输出数据,但在输出后会自动换行。 - 用法:同样可以输出多种数据类型,输出后光标移动到下一行。
- 示例
java
System.out.println("Hello, "); // 输出 "Hello, ",光标换行
System.out.println("World!"); // 输出 "World!",光标再换行
3. printf
- 概念 :
printf
方法用于格式化输出,允许使用格式字符串来控制输出的格式。 - 特点 :与 C 语言中的
printf
类似,可以指定输出的格式,例如控制小数的位数、填充字符等。 - 用法:需要提供格式化字符串和相应的参数。
示例:
java
System.out.printf("Hello, %s! You have %d new messages.%n", "Alice", 5);
// 输出: Hello, Alice! You have 5 new messages.
小结
print
:输出内容,不换行。println
:输出内容,换行。printf
:格式化输出,灵活控制输出格式,不自动换行。