java基础开始
1.计算机基础
1
.1.什么是计算机
计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算, 又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数 据的现代化智能电子设备。由硬件系统和软件系统组成,没有安装任何软件的计算机称为裸 机。软件提供看不见的指令。这些指令控制硬件并且使得硬件完成特定的任务。
1.2.计算机硬件系统和软件系统
软件包含了指令,告诉计算机做什么

1.3.计算机主要硬件介绍
1.3.1. cpu

cpu 是一台计算机的运算核心和控制核心。是计算机的大脑。它从内存中获取指令,然后执 行这些指令。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU 由运算器、 控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成。作为整个 系统的核心,CPU 也是整个系统最高的执行单元,因此 CPU 已成为决定电脑性能的核心部 件,很多用户都以它为标准来判断电脑的档次。 CPU 的主频,即 CPU 内核工作的时钟频率(CPUClockSpeed)。该时钟速度越快,时间段内执行的指令就越多, 目前酷睿是 2G-3G(1G 是 10000Mhz)例如,2MHz(200 万次/秒),3GHz(三十亿次/秒)。
1.3.2. 内存
内存:存储数据的,软件在运行过程中所需要的数据会先加载到内存 中,然后 cpu 获取 的 数据都是直接从内存中获取,并不是直接从硬盘中获取的。 优点: 存取速度快。 缺点: 一旦断电或者是程序退出,内存中的数据会马上丢失。
一个程序和它的数据在被 CPU 执行前必须移到计算机的内存中。每个字节都有一个唯一的 地址。使用这个地址确定字节的位置,以便于存储和获取数据。一个计算机具有的 RAM 越 多,它的运行速度越快。内存存取数据的速度比硬盘的存取速度快 10 倍,在某些环境里, 硬盘和内存之间的速度差距可能会更大。而 CPU 的速度比内存不知还要快多少倍。当我们 把程序从硬盘放到内存以后,CPU 就直接在内存运行程序,这样比 CPU 直接在硬盘运行程 序就要快很多。内存解决了一部分 CPU 运行过快,而硬盘数据存取太慢的问题。提高了我 们的电脑的运行速度。内存就如同一条“高速车道”一般,数据由传输速度较慢的硬盘通过这 条高速车道传送至 CPU 进行处理!但内存是带电存储的(一旦断电数据就会消失),而且容量 有限,所以要长时间储存程序或数据就需要使用硬盘。
内存在这里起了两个作用: 1.保存从硬盘读取的数据,提供给 CPU 使用 2. 保存 CPU 的一些临时执行结果,以便 CPU 下次使用或保存到硬盘
1.3.3. 数据是如何存储在计算机中的
计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路是 开的,它的值是 1。如果电路是关的,它的值是 0。 一个 0 或者一个 1 存储为一个比特(bit),是计算机中最小的存储单位。 计算机中是最基本的存储单元是字节(byte) 。每个字节由 8 个比特构成。
1.3.4. 硬盘
硬盘(机械硬盘, 固态硬盘): 用于永久保存数据和程序 优点:可以永久性保持数据,即使断电或者是程序退出,保存在硬盘中的数据是不会丢失的。 缺点: 存取的速度慢。

1.4.计算机软件系统
计算机软件系统通常被分为系统软件和应用软件两大类。计算机系统软件能保证计算机按照 用户的意愿正常运行,满足用户使用计算机的各种需求,帮助用户管理计算机和维护资源执 行用户命令、控制系统调度等任务。软件系统分为两大类,虽然各自的用途不同,但他们的 共同点是都存储在计算机存储器中,以某种格式编码书写的程序或数据。 (1)系统软件 系统软件是指担负控制和协调计算机及其外部设备、支持应用软件的开发和运行的一类计算 机软件。系统软件一般包括操作系统、语言处理程序、数据库系统和网络管理系统。控制和 监视系统的活动。分配和调配系统资源。调度操作
(2)应用软件 应用软件是指为特定领域开发、并为特定目的服务的一类软件。应用软件是直接面向用户需 要的,它们可以直接帮助用户提高工作质量和效率,甚至可以帮助用户解决某些难题。应用 软件一般分为两类:一类是为特定需要开发的实用型软件,如会计核算软件、工程预算软件 和教育辅助软件等:另一类是为了方便用户使用计算机而提供的一种工具软件,如用于文字 处理的 Word、用于辅助设计的 AutoCAD 及用于系统维护的瑞星杀毒软件等。

1.5.windows 操作系统

  1. MicrosoftWindows操作系统是美国微软公司研发的一套操作系统,它问世于1985 年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升 级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。 2. Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性 化。随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16 位、16+32位混合版(Windows9x)、32位再到64位, 系统版本从最初的Windows 1.0到大家熟知的Windows 95、Windows 98、Windows ME、Windows 2000、 Windows2003、 WindowsXP、 WindowsVista、 Windows7、 Windows8、 Windows 8.1、Windows 10和Windows Server服务器企业级操作系统,不断持续更新,微软一直在致力于 Windows 操作系统的开发和完善。现在最新的正式版本是 Windows 10 版本。
    1.6.什么是软件
    软件,即一系列按照特定顺序组织的计算机数据和指令的集合
    1.7.人机交互的方式
    1) 图形化界面:简单直观,容易操作,用户的体验好。 图形化界面(GraphicalUser InterfaceGUI)这种方式简单直观,使用者易于接受,容易上 手操作。 2 )dos 命令交互方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较 为麻烦,需要记录住一些命令,而且只能完成一些比较单一的功能。命令行方式(Command LineInterfaceCLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻 烦,需要记录住一些命令。
    1.8.DOS 系统
    DOS 是一个早期的操作系统,现在已经被 Windows 系统取代,对于我们开发人员,目前需 要在 DOS 中完成一些事情,因此就需要掌握一些必要的命令
    1.9.常见的 DOS 命令


1.10. 计算机语言
通过 DOS 命令行的演示,发现原来操作计算机就如同和计算机说话一样。 我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须识别才可以。这就 是计算机语言
语言:是人与人之间用于沟通的一种方式。 例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。 计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语。计 算机语言有很多种。如:C,C++,Java,PHP,Kotlin,Python,Scala 等如:C,C++,Java 等。这 里,我们选择其中的一种:Java 语言
1.10.1. 第一代语言
机器语言。指令以二进制代码形式存在
1.10.2. 第二代语言
汇编语言。使用助记符表示一条机器指令。
1.10.3. 第三代语言:高级语言
C、Pascal、面向过程的语言 C++面向过程/面向对象 Java 跨平台的纯面向对象的语言 .NET 跨语言的平台 Python、Scala…
2.Java 简介
2.1.为什么学习 java
钱途
2.2.语言历史概述


2.3.Java 之父

任首席软件架构师
2.4.Java 技术体系平台

从 Java 的应用领域来分,Java 语言的应用方向主要表现在以下几个方面:
企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java 的安全机制以及它的 跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、 电子商务等。
Android 平台应用:Android 应用程序使用 Java 语言编写。Android 开发水平的高低很大程度 上取决于 Java 语言核心能力是否扎实。
大数据平台开发:各类框架有 Hadoop,spark,storm,flink 等,就这类技术生态圈来讲,还 有各种中间件如 flume,kafka,sqoop 等等,这些框架以及工具大多数是用 Java 编写而成, 但提供诸如 Java,scala,Python,R 等各种语言 API 供编程。
移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、 PDA
Java 语言是易学的。Java 语言的语法与 C 语言和 C++语言很接近,使得大多数程序员很容易 学习和使用 Java。 Java 语言是强制面向对象的。Java 语言提供类、接口和继承等原语,为了简单起见,只支持 类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。
Java 语言是分布式的。 Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、 URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布 式应用的重要手段。
Java 语言是健壮的。Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性 的重要保证。对指针的丢弃是 Java 的明智选择。
2.5.Java 语言的特点:跨平台性
1) 什么是跨平台性? 通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。
2) 原理是什么? 只要在需要运行 java 应用程序的操作系统上,先安装一个 Java 虚拟机(JVM JavaVirtual Machine)即可。由 JVM 来负责 Java 程序在该系统中的运行
java 是利用 JVM(java 虚拟机)实现跨平台的,不同的平台有不同的 JVM,Java 代码(.java 文件),通过编译器编译成字节码(.class 文件),字节码文件再通过不同平台的 JVM 解释为具 体平台的具体指令。也就是说 java 的字节码是跨平台的。

JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、 内存、寄存器。对于不同的平台,有不同的虚拟机。只有某平台提供了对应的 java 虚拟机, java 程序才可在此平台运行。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编 译,到处运行”
3.Java 语言的环境搭建
3.1.什么是 JRE,JDK?

3.2.什么是 JVM
JVM 是 JavaVirtualMachine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java 语言的一个非常重要的特点就是与平台的无关性。而使用 Java 虚拟机是实现这一特点 的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而 引入 Java 语言虚拟机后, Java 语言在不同平台上运行时不需要重新编译。 Java 语言使用 Java 虚拟机屏蔽了与具体平台相关的信息,使得 Java 语言编译程序只需生成在 Java 虚拟机上运 行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java 虚拟机在执行字节码 时,把字节码解释成具体平台上的机器指令执行。这就是 Java 的能够“一次编译,到处运行” 的原因。
JRE=JVM+类库文件 JDK=JRE+java 开发工具
3.3.下载 JDK

3.4.安装 JDK
傻瓜式安装,下一步即可。 建议:安装路径不要有中文或者特殊符号如空格等。 当提示安装 JRE 时,可以选择不安装
3.5.配置环境变量

  1. 在 dos 命令行中敲入 javac,出现错误提示。
  2. 错误原因:当前执行的程序在当前目录下如果不存在,windows 系统会在系统中已有的 一个名为 path 的环境变量指定的目录中查找。如果还没有找到,就出现以上的错误提示。
    3) 所以进入到 jdk 安装路径\bin 目录下,执行 javac。看到 javac 参数提示信息。
    4) 每次执行 java 的工具都要进入到 bin 目录下,是非常麻烦的。 可不可以在任何目录下都可以执行 java 的工具呢? 根据 windows 系统在查找可执行程序的原理,可以将 java 工具所在路径定义到 path 环境变 量中,让系统帮我们去找运行执行的程序。
    5) 配置技巧 为了不因为 jdk 的目录或者目录名称的改变,而不断更改 path 的值,而导致对 path 变量值 的误操作,可以通过以下技巧完成。 新创建一个环境变量 JAVA_HOME 记录住 jdk 的目录。 在 path 中通过%%动态的获取 JAVA_HOME 的值即可。 JAVA_HOME=E\jdk9.0 path=%JAVA_HOME%\bin;%path% %path%:动态获取 path 环境变量的值。 %JAVA_HOME%:动态获取名称为 JAVA_HOME 环境变量的值。
  3. 配置完成以后一定要关闭命令行并重新打开命令行测试
    3.6.验证是否安装成功
    重新打开的命令行中输入 javac 看到如下图则说明安装成功

    4.Java 程序开发体验–HelloWorld
    4.1.开发步骤
    1) 将 Java 代码编写到扩展名为.java 的文件中。 2) 将文件保存成 Demo.java,这个文件是存放 java 代码的文件,称为源文件 3) 通过 javac 命令对该 java 文件进行编译。 4) Javac 文件名.后缀名—产生一个.class 文件 5)通过 java 命令对生成的 class 文件进行运行。java 类名

    4.2.具体步骤
    步骤一:编写 选择最简单的编辑器记事本。 敲入代码 classDemo {} 将文件保存成 Demo.java,这个文件是存放 java 代码的文件,称为源文件。
    步骤二:编译 有了 java 源文件,将其编译成 JVM 可以识别的文件。 在该源文件目录下,通过 javac 编译工具对 Demo.java 文件进行编译。 如果程序没有错误,没有任何提示,但在当前目录下会出现一个 Demo.class 文件,该文件 称为字节码文件,也是可以执行的 java 的程序。 字节码文件 是一种与平台无关的二进制文件
    步骤三:运行 有了可执行的 java 程序(Demo.class 字节码文件) 通过运行工具 java.exe对字节码文件进行执行。 出现提示:缺少一个名称为 main 的方法
    因为一个程序的执行需要一个起始点或者入口,所以在 Demo 类中的加入 publicstaticvoidmain(String[]args){} 对修改后的 Demo.java 源文件需要重新编译,生成新的 class 文件后,在进行执行。 发现没有编译失败,但也没有任何效果,因为并没有告诉 JVM 要帮我们做什么事情,也就 是没有可以具体执行的语句。 想要和 JVM 来个互动,只要在 main 方法中加入一句 System.out.println(“helloworld”);因为程序进行改动,所以再重新编译,运行即可。
    4.3.动手操作
  1. 在 d:\day01 目录下新建文本文件,完整的文件名修改为 HelloWorld.java ,其中文件名 为 HelloWorld ,后缀名必须为 .java 。 2. 用记事本打开 使用 notepad++记事本软件。 3. 在文件中键入文本并保存,代码如下:
publicclassHelloWorld{ public static void main(String[]args){System.out.println("HelloWorld!"); } }

文件名必须是 HelloWorld ,保证文件名和类的名字是一致的,注意大小写。 每个字母和符号必须与示例代码一模一样。 第一个 HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM 是看不懂的, 也就不能运行,因此我们必须将编写好的 Java 源文件 编译成 JVM 可以看懂的 字节码文 件 。
4.4.知识总结
编译:是指将我们编写的 Java 源文件翻译成 JVM 认识的 class 文件,在这个过程中,javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成 功。 运行:是指将 class 文件 交给 JVM 去运行,此时 JVM 就会去执行我们编写的程序了 main 方法:称为主方法。写法是固定格式不可以更改。main 方法是程序的入口点或起始点, 无论我们编写多少程序,JVM 在运行的时候,都会从 main 方法这里开始执行。

4.5.常见问题
1) 缺少 main 方法 2) 源文件中的大小写要注意 3) 拓展名(例子:A.java.txt) 4) 没有配置 path 5) 类文件名写错
4.6.配置 classpath
1) 既然 class 文件(字节码文件)是 java 的运行文件,可不可以实现,在任意目录下都可以执行 某一目录下的 class 文件呢? 根据 path 环境变量的原理,可以定义一个名为 classpath 环境变量,将要运行的 class 文件所 在目录定义在该变量中。 例:setclasspath=c:\ classpath 变量值是 java 类文件的目录 path 变量是 windows 程序文件的目录
2) JVM 查找类文件的顺序: 如果没有配置 classpath 环境变量,JVM 只在当前目录下查找要运行的类文件。如果配置了 classpath 环境, JVM 会先在 classpath 环境变量值的目录中查找要运行的类文件。 值的结尾处如果加上分号,那么 JVM 在 classpath 目录下没有找到要指定的类文件,会在当 前目录下在查找一次。 值的结尾出如果没有分号,那么 JVM 在 classpath 目录下没有找到要指定的类文件,不会在 当前目录下查找,即使当前目录下有,也不会运行。 建议:配置 classpath 环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用 “.” 表示。
5.常见的 java 开发工具
Java 集成开发环境(IDE): JBuilder NetBeans Eclipse MyEclipse IntelliJIDEA
6.今日作业
1.简述对 JVM,JRE,JDK 的理解。
2.简述环境变量 path 和 classpath 的作用?
3.独立编写 helloworld 程序,编译并运行。
4.java 语言是否区分大小写?class 的作用,javac,java 的作用?
5.简述 main 方法(是什么,什么特点,怎么用,何时用?)
6.简述今天遇到不理解的知识点。

day01-计算机操作系统java编程入门相关推荐

  1. Java编程入门---JDK安装

    Java编程入门 初步了解方法的定义方式和相互调用 掌握递归调用 理解和使用数组 掌握常见类的基本使用,String字符串.Random随机类.Math数学库类和日期类 程序 程序=算法+数据结构 用 ...

  2. JAVA编程入门基础

    JAVA编程入门 程序=算法+数据结构 用户使用编程语言实现问题域到解域的映射,细节描述算法 1.汇编语言-贴近于硬件设备 2.高级语言-C#.Java-贴近于自然语言-需要编译过程将高级语言所编写的 ...

  3. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  4. Java编程入门学习应该怎么做呢?

    Java编程入门学习应该怎么做呢?做好哪些事情可以更快的入门Java编程.Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛 ...

  5. Java编程入门与应用 P104—例4-12(学生管理系统——密码的重复验证)

    Java编程入门与应用 P104-例4-12 在第一次进入系统时要求管理员设置一个密码,出于安全考虑密码需要输入两次,如果两次输入的密码一致才生效,否则提示失败 import java.util.Sc ...

  6. Java编程入门与应用 P124——例5-4(计算90度的正弦值、0度的余弦值、1的反正切值、120度的弧度值)

    Java编程入门与应用 P124--例5-4 计算90度的正弦值.0度的余弦值.1的反正切值.120度的弧度值 因为参数里都是double值,需要以弧度代替角度来实现 /*** Java编程入门与应用 ...

  7. Java编程入门与应用 P210 例8-8——演示创建实例的方法

    Java编程入门与应用 P210 例8-8--演示创建实例的方法 显式转换和隐式转换的概念 /*** Java编程入门与应用 P210 例8-8--演示创建实例的方法** 显式转换和隐式转换的概念*/ ...

  8. Java编程入门与应用 P80——例3-24(小明参加一个1000米的长跑比赛每跑完一圈,教练就会问他是否要坚持下去,如果回答yes,则继续跑,否则表示放弃。)

    Java编程入门与应用 P80--例3-24 小明参加一个1000米的长跑比赛,在100米的跑道上,他循环地跑着,每跑一圈,剩余的路程就会减去100米,要跑的圈数就是循环的次数.但是,在每跑完一圈, ...

  9. Java编程入门与应用 P93——例4-2( 使用“+”连接运算符,连接3个数组和1个字符串,学生考试信息)

    Java编程入门与应用 P93--例4-2 使用"+"连接运算符,连接3个数组和1个字符串 学生考试信息 /*** Java编程入门与应用 P93--例4-2* 使用"+ ...

最新文章

  1. 对卫星网络及内容的安全防护措施
  2. Word2Vec揭秘: 这是深度学习中的一小步,却是NLP中的巨大跨越
  3. mysql解压版怎么退出_mysql-8.0.15-winx64 解压版安装教程及退出的三种方式
  4. c++新特性11 (11)unique_ptr
  5. matlab上位机串口通信,MATLAB GUIDE 上位机串口通信开发 绘制图形
  6. 線陣相機處理時間計算方法
  7. sql 相加_SQL经典题型
  8. 字符串系列函数(不断跟新)
  9. sed 删除某一行_Linux常用命令三剑客之sed,您真的会用吗?
  10. kafka是什么_Kafka为什么快到根本停不下来?
  11. gma 教程 | 气候气象 | 计算标准化降水指数(SPI)
  12. 【Java】抽象类和接口
  13. SuperMap iDesktop常见问题解答集锦(九)
  14. html 广告加载页面,JS广告代码延迟加载或是最后加载加快页面载入
  15. 2018 Mossad Challenge
  16. 华为2021软件精英挑战赛复赛赛后方案分享
  17. 人机交互设备(HID)
  18. OpenCV三角网剖分 SubDiv2D 详解
  19. Android APP上线必不可少的应用市场!
  20. 洛谷 JAVA 题解 P1618 三连击(升级版)

热门文章

  1. python 代理的使用
  2. VS 编程常见错误及解决方法
  3. 用JS实现发邮件的功能 完美解决
  4. 关于dorado的存储问题
  5. You can't specify target table 'myusertable' for ......in FROM clause
  6. 搜索引擎学习(五)Lucene操作索引
  7. scrapy爬取京东
  8. 洛谷P2016战略游戏
  9. hadoop Mapreduce组件介绍
  10. css不常用重要属性