Javase学习day1-前置知识

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)编译型语言

定义:编译型语言在程序运行之前,将整个源代码翻译成目标代码(通常是机器语言或字节码),然后将这个目标代码执行。

特点

  1. 预编译:程序在运行之前需要经过一个编译过程。这一过程将源代码转换为可执行文件。
  2. 执行效率高:由于编译生成的是机器代码,计算机可以直接执行,因此运行效率较高。
  3. 错误检测:编译时会检测语法错误,开发者在运行程序之前可以修正这些错误。
  4. 平台依赖:编译后的代码通常与特定平台相关,不同平台可能需要重新编译。

示例语言:C、C++、Rust、Go 等。

(2)解释型语言

定义:解释型语言在程序运行时逐行读取源代码并立即执行,而不是事先编译成目标代码。

特点

  1. 即时执行:源代码在运行时被逐行解释执行,无需单独的编译步骤。
  2. 易于调试:开发者可以直接运行代码并测试部分功能,方便调试和修改。
  3. 跨平台性强:因为源代码在运行时被解释,可以在不同平台上运行,只要有相应的解释器。
  4. 执行效率低:由于每次运行时都需要解释,整体运行速度通常比编译型语言慢。

示例语言: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++

    • 允许开发者直接管理内存,使用指针进行内存分配(如 newdelete)。
    • 开发者需要自己负责资源的释放,容易导致内存泄漏或悬空指针问题。
  • 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 中,printprintfprintln 是用于输出数据到控制台的方法,它们之间有一些关键的区别和特点:

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:格式化输出,灵活控制输出格式,不自动换行。
相关推荐
GOSIM 全球开源创新汇4 分钟前
对话 OpenCV 之父 Gary Bradski:灾难性遗忘和持续学习是尚未解决的两大挑战 | Open AGI Forum
opencv·学习·计算机视觉·ai·自动驾驶
L_cl18 分钟前
Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式
学习
努力成为DBA的小王1 小时前
Linux( 权限+特殊权限 图片+大白话)
linux·运维·服务器·学习
YAy172 小时前
CC3学习记录
java·开发语言·学习·网络安全·安全威胁分析
懒惰的cv怪3 小时前
Redis学习 ——缓存
redis·学习·缓存
心怀梦想的咸鱼4 小时前
UE5 umg学习(四) 将UI控件显示到关卡中
学习·ui·ue5
lx学习6 小时前
Python学习26天
开发语言·python·学习
Back~~8 小时前
MFC1(note)
学习
engchina9 小时前
Oracle ADB 导入 BANK_GRAPH 的学习数据
数据库·学习·oracle·graph
Komorebi.py10 小时前
【Linux】-学习笔记03
linux·笔记·学习