知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技  > Android

Java第一章概述

发表时间:2022-03-24来源:网络

1.人机交互

我们想和计算机说话,就要先了解下用什么方式和计算机沟通
和计算机交互的方式有两种:

图形界面(Graphical User Interface GUI):
这种方式简单直观,使用者易于接 受,容易上手操作命令行方式(Command Line Interface CLI):
需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。

若想和计算机沟通,可以选择其中一种。

2.常用DOS命令

通过命令行可以和计算机进行相应的沟通,也就是说只要我们输入命令即可完成和计算机沟通的目的。
那么命令都有那些呢?
这里主要介绍一些常用的dos命令:

dir:列出当前目录下的文件以及文件夹 md:创建目录rd:删除目录 remove directory cd:进入指定目录cd…:退回到上一级目录cd:退回到根目录del:删除文件exit:推出dos命令行help:帮助命令cls:dos窗口中清屏可以使用

早期操作电脑常用dos命令,因为需要记住很多命令,不利于普及,后期发展成图形界 面,通过鼠标点击界面的形式完成对电脑的操作,其实内部运行的还是这些命令掌握了基本的常用dos命令后,发现这些命令不好记,后期都使用图形界面代替这些命令,那么图形界面是怎么把这些命令封装的呢?要了解图形界面是怎么封装这些命令的,就 要先知道图形界面是用什么做出来的

3.Java的三种技术结构

Java语言这门分为三种技术架构:
可帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。
Java EE 是在Java SE 的基础 构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构 (service-oriented architecture,SOA)和Web 2.0 应用程序。
J2SEJava 2 Platform Standard Edition)标准版 它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序,能为Java EE提供开
基础。比如Java版的扫雷。
J2ME(Java 2 Platform Micro Edition)小型版用来开发移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)。现在使用的越少用了, Android会逐渐的取代J2ME的市场份额。
Java5.0版本后,更名为 JAVAEE JAVASE JAVAME J2EE(Java 2 Platform Enterprise Edition)企业版
知道Java的技术架构,现在需要我们了解Java自身的一些特性,先从Java的跨平台说起

4.Java语言跨平台原理

什么是跨平台性?

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

跨平台的原理是什么?

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

因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实 现了Java程序的跨平台性。也称为Java具有良好的可移植性
Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上, 而是需要在哪里运行,就在哪里(如Windows平台)事先准备好自己的Java平台,而这只是 仅仅是安装和配置一个软件而已

JVM介绍

Java Virtual Machine ,简称JVM;它是运行所有Java程序的抽象计算机,是Java语言 的运行环境,它是Java 最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字 节码(class)文件
注意:
Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行 而Java虚拟机JVM是不跨平台的,不同的操作系统需要安装与此对应的Java虚拟机
JVM
在使用任何一门语言之前,必须先安装这门语言的运行环境!因此在使用Java语言之 前,必须安装Java应用程序的运行环境。Java运行环境分为JRE和JDK

5.Java开发环境搭建

JRE和JDK的区别

JRE(Java Runtime Environment Java运行环境):包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中 只需要安装JRE即可
JDK(Java Development Kit Java开发工具包):JDK是提供给Java开发人员使用的, 其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其 中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
简单而言:使用JDK开发完成的java程序,交给JRE去运行

为什么JDK中包含一个JRE呢

其一,开发完的程序,总需要运行一下看看效果。
其二,也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便 使用才打包成exe文件,如果没有JRE,那么这些工具是运行不了的
在测试JDK安装是否成功时,发现了一个问题。只有把目录切换到java或javac所在目 下来才可以运行java或javac命令,而windows系统中的一些命令为什么不管在什么目录下 都可以运行,这是为什么呢?java这样的命令能不能也在任何目录下都可以运行呢

6.环境变量path配置

在dos命令行中敲入javac,出现错误提示:
'javac’不是内部或外部命令,也不是可运行的程序或批处理文件
错误原理:当前执行的程序在当前目录下不存在,windows系统会在系统中已有的一 个名为path的环境变量指定的目录中查找。如果还没有找到,就出现以上的错误提示。所 以进入到 jdk安装路径\bin目录下,执行javac。看到javac参数提示信息
根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环 境变量中,让系统帮我们去找运行执行的程序

环境变量配置步骤 我的电脑–属性–高级–环境变量编辑path环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其 他值分隔开即可。打开DOS命令行,任意目录下敲入javac如果出现javac 的参数信息,配置成功配置技巧

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

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

新创建一个环境变量 JAVA_HOME 记录住jdk的目录。 2. 在path中通过%%动态的获取JAVA_HOME的值即可。 3. JAVA_HOME=C:\mysoft\Java\jdk1.7.0_21path=%JAVA_HOME%\bin;%path%%path%:动态获取path环境变量的值。%JAVA_HOME%:动态获取名称为JAVA_HOME环境变量的值
到目前为止,我们的Java开发环境基本搭建完成。有了开发环境,就可以在此开发环境 下书写java代码

7.classpath配置

classpath配置

既然class文件(字节码文件)是java的运行文件,可不可以实现,在任意目录下都可以执 行某一目录下的class文件呢
根据path环境变量的原理,可以定义一个名为classpath环境变量,将要运行的class文 件所在目录定义在该变量中
例:set classpath=c:
classpath变量值是java类文件的目录
path变量是windows程序文件的目录

JVM查找类文件的顺序

如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。
如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件
值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下在查找一次
值的结尾出如果没有分号,那么JVM在classpath目录下没有找到要指定的类文件,不会在当前目录下查找,即使当前目录下有,也不会运行。

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

注意:
Java语言拼写上严格区分大小写 一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成
public类
若源文件中包括了public类,源文件必须和该public类同名 一个源文件中包含N个Java类时,编译后会生成N份字节码文件,即每个类都会
生成一份单独的class文件,且字节码文件名和其对应的类名相同

8.一些简单程序的书写

步骤一:编写

选择最简单的编辑器记事本或editplus编辑器。敲入代码

class Demo{ }

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

class:是java中的关键字,用于定义类,java语言的程序代码都需要定义在类中关键字:被java语言赋予了特殊含义的单词Demo:为了方便使用这个类,给类自定义的类名{}:定义该类中代码的范围步骤二:编译

有了java源文件,将其编译成JVM可以识别的文件 在该源文件目录下,通过javac编译工具对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.println(“hello java”); 因为程序进行改动,所以再重新编译,运行即可

完整Hello World class Demo { public static void main(String[] args) { System.out.println("Hello World!"); } } 1.1

class Demo01_01{ public static void main(String[] args) { System.out.println((9.5*4.5-2.5*3)/(45.5-3.5)); } } 1.2

代码如下:

class Demo01_02{ public static void main(String[] args){ /* 14 / (45 * 60 + 30) (km/s) 14 / (45 * 60 + 30) / 1.6 (mi/s) 14 / (45 * 60 + 30) / 1.6 * 60 * 60 (mi/h) */ System.out.println(14 / (45 * 60 + 30.0) / 1.6 * 60 * 60); } } 1.3


代码如下

class Demo01_03{ public static void main(String[] args){ /* 第一年:312032486+365*24*60*60/7- 365*24*60*60/13+365*24*60*60/45 */ System.out.println(312032486 + 365 * 24 * 60 * 60 / 7 - 365 * 24 * 60 * 60 / 13 + 365 * 24 * 60 * 60 / 45); /* 第二年:314812582+365*24*60*60/7- 365*24*60*60/13+365*24*60*60/45 */ System.out.println(314812582 + 365 * 24 * 60 * 60 / 7 - 365 * 24 * 60 * 60 / 13 + 365 * 24 * 60 * 60 / 45); /* sum=1000 开始的总人口 sum=sum+in-out 第一年过后的总人口 sum=sum+in-out 第二年过后的总人口 */ } } 1.4

1.5

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜