Javase 概述

目录

第一章概述

1.1计算机组成部分

1.2人机交互方式

1.3计算机语言

1.4软件与软件开发

1.5Java语言介绍

1.6Java开发环境搭建

1.7运行Java程序

第二章基本数据与运算

2.1关键字

2.2标识符

2.3注释


第一章概述

1.1计算机组成部分

计算机包括硬件(hardware)和软件(software)两部分。一般来说,硬件包括计算机中可以看得见的物理部分,而软件提供看不见的指令,这些指令控制硬件并且使得硬件完成特定的任务。

一台计算机是由一下几个主要的硬件组成构成的:

  • 中央处理器( Center Processing Unit,CPU)

  • 内存

  • 存储设备

  • 输入设备

  • 输出设备

  • 通信设备

这些组件通过一个称为总线(bus)的子系统链接。你可以将总线想象成一个连接计算机组件的道路系统,数据和电信号通过总线在计算机的各个部分之间传输。在个人计算机中,总线搭建在主板上,主板是一个连接计算机各个部分的电路板。

 

中央处理器

中央处理器是计算机的大脑。它从内存中获取指令,然后执行这些指令。CPU通常由两部分组成:控制单元(control unit)和算术/逻辑单元(arithmetic/logic unit)。控制单元用于控制和协调其他组件的动作。算术/逻辑单元用于完成数值运算法、减法、乘法、除法)和逻辑运算(比较)。

比特和字节

计算机就是一些列的电路开关。每个开关存在两种状态:关(off)和开(on)。简单而言,在计算机中存储信息就是将一系列的开关设置为开或者关。如果电路是开的,它的值是1。如果电路是关的,它的值是0。这些0和1被解释为二进制数字系统中的数,并且将它们成为比特(bit,二进制数)。

计算机中字节(byte)是最小的存储单元。每个字节由8个比特构成。像3这样的小数字就可以存储在单个字节中。为了存储单个字节放不下的大数字,计算机需要使用几个字节。

内存

计算机的内存由一个有序的字节序列组成,用于存储程序及程序需要的数据。你可以将内存想象成计算机执行程序的工作区域。一个程序和它的数据在被CPU执行前必须移到计算机的内存中。每个字节都有一个唯一的地址,使用这个地址确定字节的位置,以便于存储和获取数据。因为可以按任意顺序存取字节,所以内存也被称为随机访问存储器(Randorn-Access Memory,RAM)。内存中字节的内容永远非空,但是它的原始内容可能对于你的程序来说是毫无意义的。一旦新的信息被放入内存,该字节的当前内容就会丢失。

 

存储设备

计算机的内存是一种易失的数据保存形式:断电时存储在内存中的信息就会丢失。程序和数据被永久地存放在存储设备上,当计算机确实使用它们时再移入内存,因为从内存读取比从存储设备读取要快得多。

存储设备主要有以下三种类型:

  • 磁盘驱动器

  • 光盘驱动器

  • USB闪存驱动器

    输入和输出设备

输入设备和输出设备让用户可以和计算机进行通信。最常用的输入设备是键盘和鼠标,而最常用的输出设备是显示器和打印机。

通信设备

      计算机可以通过通信设备进行联网,例如,拨号调制解调器、DSL、电缆调制解调器、有线网络接口卡、或者无线适配器。

1.2人机交互方式

用户和计算机交互("打交道")的方式有两种:

  • 图形化界面方式(Graphical User Interface,GUl)︰这种方式简单直观,使用者易于接受,易上手操作

  • 命令行方式(Command Line Interface,CLI)∶需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记住一些命令。主要是以字符为形式的一种交互方式,最早期的形式,在Linux中是最主要的一种操作方式。Windows中的终端 win+R 输入cmd 回车

通过命令行可以和计算机进行相应的沟通,也就是说只要我们输入命令即可完成和计算机沟通的目的。

什么是命令?所谓的命令其实就是OS平台下的可执行程序->就是已经被编译好的代码->已经写好并编译程序

一些常用的dos命令:

  • dir:列出当前目录下的文件以及文件夹

  • md:创建目录

  • rd:删除目录

  • cd:进入指定目录

  • cd..:退回到上一级目录

  • cd\:退回到根目录

  • del:删除文件

  • exit:退出dos命令行

  • help:帮助命令

  • cls: 清屏

powershell

  • 既遵循cmd下的命令也遵循Linux下的命令。

早期操作电脑常用dos命令,为需要记住很多命令,不利于普及,后期发展成图形界面,通过鼠标点击界面的形式完成对电脑的操作,其实内部运行的还是这些命令。

前期在进行Java代码编译和运行的时候,我们主要是以命令行的形式操作,可以看到一些集成环境中看不到的知识。

1.3计算机语言

计算机不理解人类的语言,所以,计算机程序必须使用计算机可以使用的语言编写。现在有数百种编程语言,对于人们来说,开发它们是编程过程更容易。但是,所有的程序都必须转换成计算机可以执行的指令。

机器语言

计算机的原生语言因计算机类型的不同而有差异,计算机的原生语言就是机器语言(machinelanguage),即一套内嵌的原子指令集。因为这些指令都是以二进制代码的形式存在,所以,为了以机器原生语言的形式给计算机指令,必须以二进制代码输入指令。例如,为进行两个数的相加,可能必须写成如下的二进制形式:

101101810818010181010181118

汇编语言

用机器语言进行程序设计是非常单调乏味的过程,而且,所编写的程序也非常难以读懂和修改。为此,在计算机的早期就创建了汇编语言,作为机器语言的替代品。汇编语言(assembly language)使用短的描述性单词(称为助记符)来表示每一条机器语言指令。例如助记符add一般表示数字相加,sub表示数字相减。将数字2和数字3相加得到结果,可以编写如下汇编代码:

add2,3,result

汇编语言的出现降低了程序设计的难度。然而,由于计算机不理解汇编语言,所以需要使用一种称为汇编器的程序将汇编语言程序转为机器代码。

使用汇编语言编写代码比使用机器语言容易。然而,用汇编语言编写代码依然很不方便。汇编语言中的每一条指令对应机器代码中的一条指令。用汇编语言写代码需要知道CPU是如何工作的。汇编语言被认为是低级语言,因为汇编语言本质上非常接近机器语言,并且是机器相关的。

 

高级语言

20世纪50年代,新一代编程语言即众所周知的高级语言出现了。它们是平台独立的,这意味着可以使用高级语言编程,然后在各种不同类型的机器上运行。高级语言很像英语,易于学习和使用。高级语言中的指令称为语句。例如,下面是计算半径为5的圆面积的高级语言语句:

area = 5 * 5* 3.1415926;

有许多高级编程语言,每种都为特定目的而设计。

用高级语言编写的程序称为源程序(source program)或源代码(source code)。由于计算机不能运行源程序,源程序必须被翻译成可执行的机器代码。翻译可以由另外一种称为解释器或者编译器的编程工具来完成.

  • 解释器:从源代码中读取一条语句,将其翻译为机器代码或者虚拟机器代码,然后立刻运行。

  • 编译器:将整个源代码翻译为机器代码文件,然后执行该机器代码文件。

对于高级编程语言又分为了两大类:

  • 静态编译型(C、C++、Java)

    • 静态:变量有严格的数据类型之分(数据直接存在变量空间中的)

    • 编译型:先将源代码全部进行编译,生成一个二进制文件,最后运行该二进制文件即可。翻译一本中文书。

  • 动态解释型(Python、JS、Go)

    • 动态:变量没有严格的数据类型之分(数据存在堆内存中,然而变量空间中存储的是数据在堆内存中的地址!)

    • 解释型:读取一行源代码,进行编译,生成一段二进制代码(可以存在于内存 存在于硬盘),在运行,以此类推。同声传译。

1.4软件与软件开发

软件的定义,是指一系列按照特定顺序组织的计算机数据与指令的集合。

软件的分类:

  • ·操作系统软件:操作系统主要任务是控制和监视系统的活动、分配和调配系统资源和调度系统。为用户提供最基本的计算机功能。

  • ·应用软件:处理特殊领域问题的软件。扩展了计算机的功能,为用户提供更加丰富的计算机操作方式。

软件开发,是指一系列的流程,并不单单虫编写代码,主要有一下几个流程:

  • 需求分析

  • 系统分析

  • 编码

  • 测试

  • 上线运营

  • 后期运营

  • 下线

1.5Java语言介绍

Java是一种功能强大和多用途的编程语言,面用于开发运行在移动设备、台式计算机以及服务端的软件。

Java是由James Gosling在Sun公司领导的小组开发的(2010年Sun公司被Oracle收购)。Java最初被称为Oak (橡树),是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Web应用程序。

现今,Java广泛用于开发服务端的应用程序。这些应用程序处理数据、执行计算,并生成动态网页。许多商用网站后端都是采用Java进行开发的。

技术架构

Java语言分为三种技术架构:

  • JavaEnterprise Edition,JavaEE企业版:可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。JavaEE是在Java SE的基础上构建的,它提供web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-orientedarchitecture,SOA)和Web 2.0应用程序。

  • Java Standard Edition,Java SE标准版:它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序,能为Java EE提供开发基础。比如Java版的扫雷。

  • Java MicroEdition,Java ME微型版:用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)。现在使用的越少用了,Android会逐渐的取代J2ME的市场份额。

跨平台

跨平台就是说同一个软件可以在不同的操作系统上执行,而不需要对软件做任务处理。即通过Java语言编写的应用程序在不同的系统平台上都可以运行。

Java应用程序为什么可以跨平台呢?其实只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。

Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如windows平台)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件而已!

    Java虚拟机(Java Virtual Machine,JVM)︰它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是Java最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字节码(class)文件。

1.6Java开发环境搭建

JRE与JDK

JRE (Java Runtime Environment Java运行环境)︰包括Java虚拟机和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

JDk (Java Development Kit Java开发工具包)︰JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE,所以安装了JDK,就不用在单独安装JRE了。

简单而言:使用JDK开发完成的java程序,交给JRE去运行。

为什么JDK中包含一个JRE呢?

  • 其一,开发完的程序,总需要运行一下看看效果。

  • 其二,也是最重要的,JDK中的开发工具其实都是Java语言编写的应用程序,为了方便使用才打包成exe文件,如果没有JRE,那么这些工具是运行不了的。

  • JDK下载安装

    登录Oracle官网(先去注册账号)https:/ /www.oracle.com

vsCode编辑器安装

需要设置的内容:

  • 文件编码 左下角管理-设置-文本编辑器-文件-Encoding-UTF-8

  • 字体大小 左下角管理-设置-文本编辑器-字体-FontFamliy字体样式-Consolas-FontSize字体大小

  • 主题颜色 左下角管理-颜色主题

  • 中文设置 左下角管理-扩展-搜索Chinese

  1. 计算机图标右键属性

  2. 高级系统设置

  3. 环境变量

     

     

  4. 系统变量找path

 

在配置环境变量过程中发现, path环境变量中还有很多其他与系统相关的配置,若JDK目录更改了,这时就要再次修改path置的值,很容易造成误操作

为了不因为jdk的目录或者目录名称的改变,而不断更改path的值,而导致对path变量值的误操作,可以通过以下技巧完成:

  1. 新创建一个环境变量JAVA_HOME记录住jdk的目录。

  2. 在path中通过%%动态的获取JAVA_HOME的值即可。

  3. JAVA_HOME=C:\mysoft\Java\jdk1.7.0_21

  4. path=%JAVA_HOME%\ bin;%path%

  5. %path%:动态获取path环境变量的值。

  6. %JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值

classpath配置

既然class文件(字节码文件)是java的运行文件,可不可以实现,在任意目录下都可以执行某一目录下的class文件呢?

根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文件所在目录定义在该变量中

例: set classpath=c :\

classpath变量值是java类文件的目录

path变量是windows程序文件的目录

JVM查找类文件的顺序

  • 如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。

  • 如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。

  • 值的结尾处如果加上分号,那么jvm在类路径目录下没有找到要指定的类文件,会在当前目录下在查找一次。

  • 值的结尾出如果没有分号,那么JVM在classpath目录下没有找到要指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。

  • 建议:配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用"."

注意:

  • Java语言拼写上严格区分大小写

  • 一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类

  • 若源文件中包括了public类,源文件必须和该public类同名

  • 一个源文件中包含N个Java类时,编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同

检查版本号

 

JDK的目录:

  • bin目录:binary 二进制-可执行程序 都是Java在Windows平台上的开发工具

    • javac:编译工具

    • java:运行工具

  • include目录:存放的都是C语言的头文件 JVM需要将字节码的内容转换为本地平台的具体执行指令,用于转换字节码指令的。

  • src.zip压缩文件包:Java的源代码-核心类库

    C:\Users\HENG>cd /
    ​
    C:\>cd "Program Files"
    ​
    C:\Program Files>cd Java
    ​
    C:\Program Files\Java>cd jdk1.8.0_77
    ​
    C:\Program Files\Java\jdk1.8.0_77>cd bin
    ​
    C:\Program Files\Java\jdk1.8.0_77\bin>
    ​
    C:\Program Files\Java\jdk1.8.0_77\bin>javac
    用法: javac <options> <source files>          //javac 源代码文件xxx.java
    ​
    C:\Program Files\Java\jdk1.8.0_77\bin>java
    用法: java [-options] class [args...]         //java 字节码文件xxx [参数列表]
               (执行类)
       或  java [-options] -jar jarfile [args...]
               (执行 jar 文件)

1.7运行Java程序

步骤一:编写

选择记事本或编辑器,敲入代码:

public class Demo{
​
}

将文件保存成Demo. java,这个文件是存放Java代码的文件,称为源文件,扩展名必须是.java

步骤二:编译

有了Java源文件,将其编译成JVM可以识别的文件。在该源文件目录下,通过javac. exe 编译工具对Demo . java 文件进行编译。如果程序没有错误,没有任何提示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是可以执行的Java的程序。

步骤三:运行

有了可执行的Java程序( Demo.class字节码文件)通过运行工具 java.exe对字节码文件进行执行。出现提示:缺少一个名称为main的方法。因为一个程序的执行需要一个起始点或者入口,所以在Demo类中的加入

public static void main(String[ ] args) {}
 

对修改后的 Demo . java源文件需要重新编译,生成新的class文件后,在进行执行。发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。想要和JVM来个互动,只要在main方法中加入一句

system.out.printin( he1io java );

因为程序进行改动,所以再重新编译,运行即可。

完整的程序如下:

public class Demo{
    public static void main(String[] args){
        System.out.println("HelloWorld");
    }
}

第二章基本数据与运算

2.1关键字

关键字是被Java语言赋予了特定含义的一些字符,关键字中所有字母都为小写。好比汉字中的专有名词,例如:中国、北京、上海等。一般我们不能将这些词用在其他地方,改变其含义。

2.2标识符

标志符就是由一些字符、符号组合起来的名称,用于给类,方法,变量等起名字的规矩。

标识符必须遵守以下规则:

  • 标识符是由字母、数字、下划线–和美元符$构成的字符序列

  • 标识符必须以字母、下划线–或美元符$开头,不能以数字开头

  • 标识符不能是关键字

  • 标识符不能是Java内置关键字数据( this , true , false , null , super等)。

  • 标识符不能是API里面的已知类的名称

  • 标识符可以为任意长度,但必须是一个连续的字符序列

  • 标识符严格区分大小写

标识符是用于命名程序中的变量、方法、类和其他项。具有描述性的标识符可提高程序的可读性。避免采用缩写作为标识符,使用完整的词汇会更具有描述性。然而,为了简明,我们也会偶尔在一些代码片段中采用诸如i、j、k、x和y之类的变量名。这样的命名在代码片段中也是有一定普遍性的做法。

不要用字符命名标识符。习惯上,字符只用在机器自动产生的源代码中。

标识符命名规范:

  1. 小驼峰命名法:方法、变量 约定1:标识符是一个单词的时候,首字母小写 范例1:name 约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其它单词首字母大写 范例2:firstName

  2. 大驼峰命名法:类 约定1:标识符是一个单词的时候,首字母大写 范例1:Student 约定2:标识符由多个单词组成的时候,每个单词的首字母大写 范例2:GoodStudent

  3. 常量规范:所有单词大写,单词之间用下划线―分隔

  4. 包名规范:所有单词小写,单词之间用点﹒分隔

2.3注释

------写注释是一个利人利己的好习惯

注释用于解释说明程序的文字就是注释。有利于提高了代码的阅读性。

注释分类:

  • 单行注释 // :

    //后到本行结束的所有字符会被编译器忽略;

  • 多行注释 /* */

    /* */之间的所有字符会被编译器忽略;

  • 文档注释 /** */

    /** */之间的所有字符会被编译器忽略,java特有的(用于生成文档)

注意:多行和文档注释都不能嵌套使用

对于单行和多行注释,被注释的文字,不会被JVM解释执行。对于文档注释,是Java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文

查看class文件的步骤

xyc\xyc\out\production\xyc1\com\xyc

直接拖过来

快捷键

Ctrl + / 单行注释(对当前行进行注释)

Ctrl + Shift + / 对选中的代码进行多行注释

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我和程序有一个能跑就行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值