首页 > 其他分享 >学前准备工作

学前准备工作

时间:2024-08-10 11:16:30浏览次数:7  
标签:Java 语言 编程语言 编译 C语言 工作 准备 学前 计算机

什么是计算机

  • computer:全称电子计算机,简称电脑。
  • 能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备
  • 由软件和硬件组成
  • 常见形式有台式计算机,笔记本计算机,大型计算机等
  • 广泛应用在:科学计算、数据处理、自动控制、计算机辅助设计、人工智能等领域。

计算机硬件

组成:cpu、主板、内存、电源、主机箱、硬盘、显卡、键盘鼠标、显示器等

冯诺依曼体系结构

数学家冯·诺依曼提出了计算机制造的三个基本原则(采用二进制、程序存>储、顺序执行),以及计算机的五个组成部分(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构,根据这一原理制造的计算机被称为冯·诺依曼结构计算机。

冯诺依曼体系结构图

计算机软件

  • 软件是指计算机系统中的一系列指令和数据,其目的是使计算机能够执行特定的任务或解决特定的问题。软件通常包括应用程序、操作系统和其他支持软件,它们与硬件协同工作,为用户和其他软件提供功能和服务。
  • 软件可以按照功能、使用方式和授权方式等多种标准进行分类。以下是一些常见的软件分类:

按功能分类:

  • 应用软件(Application Software): 用于执行特定任务或解决特定问题的软件,例如文字处理软件(Microsoft Word)、电子邮件客户端(Outlook)、图形设计软件(Adobe Photoshop)等。
  • 系统软件(System Software): 支持计算机硬件运行和应用软件的软件,例如操作系统(Windows、macOS、Linux)、驱动程序、工具软件等。

计算机语言发展史

引用文心一言回答

计算机语言发展史可以清晰地分为几个主要阶段,每个阶段都伴随着技术的进步和编程语言的创新。以下是计算机语言发展的简要概述:

  1. 机器语言阶段:
    时间:20世纪40年代
    特点:计算机刚刚问世时,人们直接通过一系列由“0”和“1”组成的二进制代码(即机器语言)来控制计算机硬件执行特定的任务。这种语言只有计算机能够理解,对于人类来说极难理解和编写。
  2. 汇编语言阶段:
    时间:在机器语言之后
    特点:汇编语言用助记符代替了操作码,用地址符号或标号代替地址码,从而用符号代替了机器语言的二进制码。这使得编程语言对人类来说更加容易理解和记忆,但仍然需要编程者将每一步具体的操作用命令的形式写出来。
  3. 高级语言阶段:
    时间:从20世纪50年代中叶开始,一直发展至今
    特点:高级语言是一种更接近于人类自然语言的编程语言,它允许使用英文编写程序,并且程序中的符号和算式也与日常使用的数学式子相似。高级语言的发展极大地提高了程序设计的效率和可读性。

重要事件和人物:

  1. Fortran(公式翻译)语言的诞生(1957年左右),它是科学和工程计算中常用的编程语言。
  2. C语言的诞生(1972年),由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室设计并推出。C语言具有革命性的意义,因为它结合了高级语言的特性和机器语言的效率,成为许多现代编程语言的基础。
  3. 面向对象编程(OOP)的兴起,这标志着编程方式的重要转变。C++、Java和Python等语言都是面向对象编程的代表。
    互联网时代的编程语言,如JavaScript、Python等在网络编程中占据重要地位。
  • 编程语言的发展趋势:
    面向对象编程和组件化编程成为主流,使得软件开发更加灵活和可扩展。
    脚本语言和动态语言(如Python、Ruby等)因其易用性和快速开发能力而受到欢迎。
    跨平台编程语言和框架(如Java、.NET等)使得应用程序可以在不同操作系统上运行。

总结来说,计算机语言的发展经历了从机器语言到汇编语言,再到高级语言的演变过程。每个阶段都伴随着技术的进步和编程语言的创新,使得人与计算机之间的交互变得更加容易和高效。随着技术的不断发展,未来的编程语言将继续朝着更加人性化、高效化和智能化的方向发展。

c语言的优点及缺点

引用文心一言回答:

  1. 高效性:C语言是一种用于系统编程的低级语言,因此非常高效。它能够直接访问内存和硬件,允许开发者进行底层操作,这使得C语言在嵌入式系统、操作系统等领域有着广泛的应用。
  2. 可移植性:C语言的标准库是高度可移植的,因此可以轻松地在不同的操作系统上编译和运行。这使得C语言编写的程序具有广泛的适用性。
  3. 结构化编程:C语言支持函数、指针、结构体等结构化编程元素,使得程序更加易于理解和维护。这些特性有助于开发者编写清晰、可读的代码。
  4. 静态类型:C语言是一种静态类型语言,在编译期间进行类型检查,可以避免一些潜在的类型错误。这有助于提高代码的稳定性和安全性。
  5. 底层访问:C语言允许直接访问内存、硬件和底层系统资源,这使得它非常适合嵌入式系统和操作系统开发。
  6. 指针:C语言具有强大的指针功能,可以从多个角度处理数据,提高程序效率。指针是C语言的重要特性之一,也是其区别于其他高级语言的重要方面。
  7. 开放性:C语言的开放性使得它具有广泛的应用,可以编写各种类型的程序,如操作系统、编译器、设备驱动程序、数据库、图形界面等。

优点:

  1. 贴近硬件,高效。
  2. 指针功能强大

缺点:由于指针和内存管理的复杂,需要新手一定的学习成本,可移植性事实上并不正确,需要每次移植都需要调整。

Java语言的特性及优点

Java语言的特性

  1. 面向对象:
    Java是一种完全面向对象的编程语言,支持类和对象的概念,允许程序员以优雅的思维方式进行复杂的编程。
    Java中的万物皆对象,所有元素都要通过类和对象来访问。
  2. 平台无关性(跨平台性):
    Java编写的程序可以在任何安装了Java虚拟机(JVM)的计算机上运行,实现了“一次编写,到处运行”的承诺。
    Java编译器将源代码编译为字节码,这些字节码在JVM上执行,与底层操作系统无关。
  3. 简单性:
    Java相对于C++等语言更为简单,去除了多继承、指针等复杂和难以理解的概念。
    Java的语法清晰明了,易于学习和使用。
  4. 健壮性:
    Java在开发初期便能通过编译检查出代码错误,有助于开发过程的顺利进行。
    Java提供了丰富的异常处理机制,可以捕获并处理运行时错误,提高程序的健壮性。
  5. 安全性:
    Java内置了多种安全机制,如类加载器、安全管理器和沙箱机制,可以防止恶意代码的执行。
    Java不支持指针操作,避免了非法内存访问等安全问题。
  6. 多线程支持:
    Java内置对多线程编程的支持,允许程序员编写并发程序,更好地利用多核处理器的优势。
    Java提供了丰富的同步机制,确保多线程程序的正确执行。
  7. 高性能:
    尽管Java是解释型语言,但通过即时编译(JIT)和优化技术,Java程序可以获得接近甚至超过编译型语言的性能。
    Java还提供了丰富的库和工具,用于进一步优化性能。
  8. 动态性:
    Java可以在运行时动态地加载、链接和执行类,这使得Java具有更强的适应性和灵活性。
    Java支持动态类型检查和反射机制,可以在运行时获取类的信息并操作对象。

Java语言的优点

  1. 广泛的应用领域:
    Java在桌面应用程序、Web应用程序、分布式系统和嵌入式系统等领域都有广泛的应用。
    Java是Android应用开发的主要语言之一。
  2. 强大的社区支持:
    Java拥有庞大的开发者社区和丰富的资源,为开发者提供了强大的支持。
    Java的开源项目众多,如Spring、Hibernate等,为开发者提供了丰富的工具和框架。
  3. 稳定性与可靠性:
    Java语言本身的设计保证了其程序的稳定性和可靠性。
    Java的垃圾回收机制避免了内存泄漏等问题,提高了程序的健壮性。
    丰富的库和API:
    Java标准库提供了丰富的功能和API,可以满足大多数开发需求。
    Java还有大量的第三方库和框架可供选择,如JDBC、Servlet等。

Java三大版本

Java平台包含三个主要版本:Java SE(Java Platform, Standard Edition)、Java EE(Java Platform, Enterprise Edition)和Java ME(Java Platform, Micro Edition)。

Java SE(Java Platform, Standard Edition)

也称为J2SE,是Java的标准版本。
提供Java语言的核心库、虚拟机和工具,用于开发普通桌面应用、企业级应用和嵌入式系统等。
特点:
平台无关性:提供跨平台的解决方案。
面向对象:完全支持面向对象编程。
强大的库支持:提供丰富的类库,如输入输出、网络通信、图形界面、数据库访问等。

Java EE(Java Platform, Enterprise Edition)

也称为J2EE,主要用于开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。
包含Java SE的所有特性,并增加了许多用于企业级开发的组件和API,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JNDI(Java Naming and Directory Interface)等。
应用:
广泛应用于大型企业级应用的开发,如银行系统、电子商务平台和供应链管理系统等。

Java ME(Java Platform, Micro Edition)

也称为J2ME,主要用于在移动设备和嵌入式设备上运行的应用程序。
提供一个精简的Java虚拟机(KVM)和一组核心类库,用于处理移动设备的特定功能,如电话通信、设备控制、用户界面等。
特点:
适用于资源有限的设备。
提供在移动设备和嵌入式设备上运行Java程序的能力。

JDK、JRE、JVM

包含关系
alt text
alt text

安装与卸载环境

卸载jdk:

  1. 删除java安装目录
  2. 删除Java_HOME
  3. 删除path里关于java的目录
  4. cmd进入命令窗口,输入java -v,查看是否删除。

安装jdk:

  1. 百度搜索jdk8,下载对应32位或64位,windows或者Linux。
  2. 下载完成,双击安装jdk。
  3. 开始安装,点击下一步,选择安装路径。建议不要放c盘,自己在起停牌新建目录,并记住安装路径,后续配置环境变量要用到。
  4. 配置环境变量。
    1. 我的电脑->高级系统设置->环境变量->系统环境变量,
    2. 新建,JAVA-HOME,粘贴路径。
    3. 配置path变量。
  5. cmd进入命令窗口,输入java -v,查看是否安装成功。

HELLO,WORLD!!!

  1. 新建一个目录,用来存放代码
  2. 在目录里,新建文件,改名为Hello.java
  3. 写代码。
public class Hello(){
    public static void main(String args[]){
        System.out.print("Hello,World!");
    } 
}
  1. 编译。在该目录下打开命令窗口。
    输入javac Hello.java ,没有出现问题。
    目录下出现新文件Hello.class。
  2. 运行。输入java Hello,出现运行结果Hello,World!

可能出现的问题:

  1. 代码段单词大小写出错。Java是大小写敏感的
  2. 尽量使用英文。
  3. 文件名与类名一致。首字母大写,养成代码书写习惯。
  4. 符号使用了中文,如括号分号等

java运行机制

编译型和解释型,编译型先全部编译再执行,解释型,编译部分执行部分,再编译部分执行部分。
java文件先编译成class文件,再在虚拟机jvm里进行代码检查,编译执行。
Java文件运行是两种都有的。

idea安装与使用

不想写了。

标签:Java,语言,编程语言,编译,C语言,工作,准备,学前,计算机
From: https://www.cnblogs.com/zhendai/p/18352086

相关文章

  • GPT-5:未来已来,你准备好了吗?
    GPT-5一年半后发布?对此你有何期待?IT之家6月22日消息,在美国达特茅斯工程学院周四公布的采访中,OpenAI首席技术官米拉·穆拉蒂被问及GPT-5是否会在明年发布,给出了肯定答案并表示将在一年半后发布。此外,穆拉蒂在采访中还把GPT-4到GPT-5的飞跃描述为高中生到博士生的成长。“......
  • 用Python打造精彩动画与视频,9.2 从概念到成品的完整工作流程
     第九章:综合项目9.2从概念到成品的完整工作流程在前面的章节中,我们深入探讨了各种Python技术及其在动画与视频制作中的应用。在本章中,我们将综合运用这些技术,完成一个完整的项目——从初步概念到最终成品的工作流程。这一流程不仅包括技术实现,还涉及规划、设计、测试和发布......
  • 京东面试:说说CMS工作原理?
    CMS(ConcurrentMarkSweep)垃圾收集器是以“最短的停顿”著称的垃圾回收器,因此也是JDK9之前使用最广泛的垃圾回收器之一。那么,问题来了,为什么CMS能实现最短停顿时间?CMS垃圾回收器的工作原理又是啥呢?接下来,我们一起来看。CMS工作原理CMS之所以能实现最短停顿时间是和它的......
  • SpringBoot基础 - 准备工作(打包成可运行的jar)
    目录A.简介B.下载一.配置本地Maven二.修改阿里云maven镜像三. 导入SpringBoot的相关依赖C.例子D.快捷使用A.简介SpringBoot是一种用于简化Spring应用开发的框架,它具有以下特点和优势:一、简化配置传统Spring应用配置的复杂性:在传统的Spring......
  • 如何使用 Python 从 Excel 工作表中读取正斜杠
    我有20多列的Excel工作表,如果我想选择不包含文本n/a的行,是否可以将n/a作为文本传递并找到它?我尝试过的代码是,''''将pandas导入为pd进口重新导入操作系统defextract_data(input_file):#读取输入的Excel文件df=pd.read_excel(input_file)#Checkif'......
  • 关于C#的Dynamic调用方法前的一些准备的小Demo
    usingSystem;usingSystem.CodeDom.Compiler;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Reflection;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApp1{publicclassTest{publicstaticTestT......
  • keepalived工作原理和使用方式
    keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。keepalived主要有三个模块分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式......
  • 反向代理的工作原理解析
     在当今数字化时代,网络通讯扮演着重要的角色,而代理技术为网络通讯提供了更多的灵活性和安全性。作为两种重要的代理技术,代理服务器和反向代理的运行原理和用途各有不同。本文将重点介绍反向代理的运行原理,深入探讨其在网络通讯中的作用和优势。1.代理服务器和反向代理之间......
  • 2024年TI杯E题-三子棋游戏装置方案分享-jdk123团队-第一弹赛题的选择与前期方案的准备
    赛前准备本来我们团队前几个月的准备都在小车上,赛前也完成了STM32,树莓派4B,Openmv等几款常见主控板来对小车完成基本的模块封装控制。我们团队的大部分精力以及预算都准备在了小车上面。赛题选择由于在赛题公布的的那一天,我们发现H题,自动行驶小车,要求指定使用TI板子,此时......
  • 什么是USB Server?工作原理是什么?
     USBServer:是一款usb设备虚拟化产品,远程连接调用USB设备的、软硬件结合的、集中化,集群化的安全管控产品。主要解决企业在虚拟化、超融合架构战略进程中USB设备无法正常调用工作,企业内Ukey数量多、无法集中管理的问题。通过把usb设备网络化,可以摆脱usb数据线的束缚。USBS......