003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
Java程序长啥样?
首先编写一个Java程序
记事本编写程序
打开记事本
1、win7下步骤:
开始
搜索框中输入“notepad”
单击notepad

2、win10下步骤方式一:
同时按“win+x”,点击“运行”

运行界面的打开框中输入“notepad”,点击“确定”

3、win10下步骤方式二:
同时按“win+q”,选择“应用”,输入“notepad”,点击“记事本”

4、win10下步骤方式三:
同时按“win+r”,运行界面的打开框中输入“notepad”,点击“确定”

win10下的步骤方式三最简单一些
记事本中编写Java 程序
这是大家第一次接触Java程序
开始编写
以后我们会知道,HelloImooc是类(Java中的类)的名字,也是稍后我们需要保存的文件名。

然后一对大括号,大括号中是类的内容

然后写一个主方法,主方法就是程序执行的入口,程序就是从这里开始执行的。
主方法按照下图中的格式写,一字不差即可:

在主方法中输出一句话:Hello,imooc!,这句话用英文的双引号“”引起来。

下面,我们就把这个文件进行保存
记事本中保存Java 程序
选择:文件,另存为

比如,我们将文件存到E盘下的Java文件夹目录下。这时,我们要注意下,如何去存储?

记事本中第一种保存Java程序的方式
第一种存储方式是:写一个双引号,注意是英文的双引号。

之后,在双引号中写入文件的名字。文件的名字写什么呢?前面提到过,文件名需要和文件内容中class后所跟的单词名称一致,同时注意:要跟上后缀 .java

因为默认情况下,文件是一个.txt格式的文本文件,加上“.java”后缀之后,就变成了一个Java文件,而不是文本文件了。
点击“保存”

之后,转到盘下的Java文件夹目录下,就出现了一个文件:HelloImooc.java

提示一下(这也是程序员使用windows电脑的基本习惯),为了避免出错,我们要看一下电脑中的扩展名是否被隐藏了:
win7中:
打开一个文件夹目录,依次点击“组织”,“文件夹搜索选项”

点击“查看”,下划找到“隐藏文件和文件夹”,
默认是选择“不显示隐藏的文件、文件夹和驱动器”,我们点选“显示隐藏的文件、文件夹和驱动器”。
默认是勾选“隐藏已知文件类型的扩展名”的,我们去掉勾选

win10中:
我们任意打开一个文件目录,在管理菜单的顶部,单击“查看”,勾选上“文件扩展名”和“隐藏的项目”

这样操作之后,我们看到,HelloImooc文件的扩展名就是.java,是没有问题的。

有时候,如果我们没有注意,保存错了,可能出现“HelloImooc.java.txt”这种形式(后缀多了.txt),所以一定要注意,要将电脑文件的扩展名取消隐藏。
除了写一个在双引号中写名称之外,还有一种保存方式
记事本中第二种保存Java程序的方式
依次点击:文件、另存为
输入文件名:HelloImooc.java
保存的时候,保存(文档)类型选择“所有文件”

这是保存Java文件的2种方式,需要注意,否则,后面编译的过程中,就可能出现找不到Java文件的情况。
程序写好以后,如何去执行程序,在控制台输出:Hello,imooc 呢?
执行Java程序
打开控制台
win下的搜索框中,输入:cmd,之后回车

或者最简单的方式:同时按“win+r”,打开运行窗口,输入“cmd”后点击确定即可

首先调大命令行cmd窗口的字体:
点击窗口左上角的标志,选择“属性”,然后点击“字体”,之后调大字体即可


之后,如何执行Java程序呢?
控制台中编译和执行Java程序
因为,我们的Java文件HelloImooc.java文件是在E盘的Java文佳夹下,所以我们首先要做的就是cmd中目录转到E盘的Java文佳夹下。
如何转呢?
需要知道几个cmd下的一些命令:
进入E盘,输入:e: 引文下的冒号

转到Java目录下,输入:cd java
cd命令是用来转到某一个指定目录下的,注意:命令中的目录名是不区分大小写的


但是,编写Java程序时,Java中的所有内容都是区分大小写的
进入目录后,做什么呢?就是要编译Java程序。前面内容踢到多,执行Java程序有2个步骤:
1、第一步是编译
2、第二步是解释执行
那编译用什么呢?编译用javac命令
命令格式:
javac + Java文件名(即Java类名).java

注意:javac命令要注意区分大小写的

这时,给了我们一个提示,“‘javac’不是内部或外部命令,也不是可运行的程序活批处理文件”
说白了,就是不知道javac是什么?
前面的内容,我们已经安装完成JDK了,为什么仍然没有作用无法识别javac命令呢?因为少了一步:配置环境变量
那如何配置环境变量呢?
配置Java环境变量
依次:计算机点击右键、属性、高级系统设置、高级、环境变量
(这里有很多环境变量,有用户环境变量,有系统环境变量;很多教程中有要配很多环境变量的,其实我觉得我们这里配一种环境变量就好了,因为我们后面大部分的开发都是在工具下进行的。)


找到系统环境变量中的path,点击编辑,在其变量值中加入我们自己的环境变量值,即jdk的安装目录下的bin文件夹



jdk安装路径下的bin文件夹里面的javac.exe和java.exe
javac.exe就是我们刚才在cmd命令行窗口中输入的编译程序的命令
java.exe是我们用来解释执行程序用的


所以,我们就明白了,配置这些环境变量,向path中添加环境变量值,即添加bin文件夹目录路径的目的就是:让这些编译解释执行java程序的命令可用。
所以,我们把这个jdk安装路径下的bin文件夹的目录复制一下

如何添加环境变量值呢?
切记不要删除path的变量值
而是在pah变量值的末尾写一个分号(分号的作用是把不同的环境变量值进行分隔)

之后粘贴刚才拷贝jdk安装路径下的的bin文件夹的目录:c:\java\bin

之后,确定、确定、确定


这样,我们的环境变量就配置好了,那是不是就可以在cmd中用javac命令了?
编译Java程序
打开cmd命令行窗口,依然输入命令:
javac HelloImooc.java

为什么依然提示不认识javac命令,javac依然不能使用?
这里,也是一个需要提醒大家注意的问题:设置完环境变量之后,命令行需要重启

关闭cmd窗口重新打开再输入命令即可
如果想知道文件夹下都有哪些文件,使用dir命令即可

执行编译命令:
javac HelloImooc.java
执行完后,发现啥也没有?没有任何报错,也没有任何提示

我们回到Java目录下, 发发现生成了一个HelloImooc.class文件。该文件即我们之前提到过的:二进制字节码文件。

所以,经过亲自编码并命令执行,发现:Java编译过程中确实会生成二进制字节码文件。
生成字节码文件之后,Java执行流程的第二步就是: 解释执行
解释执行Java程序
用到的命令是:java命令
命令格式:
java + Java文件名(即Java类名) 不需要加后缀
所以,我们输入命令:
java HelloImooc
回车,发现cmd窗口控制台输出了结果:Hello,imooc! 即我们程序中编写的输出内容,没有任何问题。


这就是Java程序的执行流程
003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程的更多相关文章
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)
091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包
090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包
089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点
087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...
随机推荐
- checkbox手动样式改变
.image_input_checkbox{ width:18px; height:18px; display: inline-block; vertical-align: middle; -webk ...
- 【学习中】Fitness Schedule
章节 内容 签到 第1周:步伐 √第1课(34分钟) 跑步1分钟 行走2分钟 共做8次 4月24日 √第2课(28分钟) 跑步1分钟 行走2分钟 共做6次 4月27日 √第3课(31分钟) 跑步1分钟 ...
- Codeforece E. Anton and Permutation
主席树算贡献l,r中交换位置,算出>=rank(h) 和 <=rank(h) a[l],a[r] 先不统计 a[l]比a[r]大的话交换后ans-1,a[l]比a[r]小的话交换后ans- ...
- Linq 下的扩展方法太少了,您期待的 MoreLinq 来啦
一:背景 1. 讲故事 前几天看同事在用 linq 给内存中的两个 model 做左连接,用过的朋友都知道,你一定少不了一个叫做 DefaultIfEmpty 函数,这玩意吧,本来很流畅的 from. ...
- Java并发编程:volatile关键字解析【转载】
介绍 volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字 ...
- ElasticSearch7.6.1 概述
本来打算重新回去看 并发编程的,之前看过一遍,现在基本忘完了,然后因为考虑到项目的需要,就先看ES了 然后再B站上看到一个视屏比较火,就看这个吧 给大家推荐一下 https://www.bilibil ...
- 案例:ADG环境遇到redo日志member路径有误以及RMAN-6571错误
最近先后帮客户做了两套从虚拟化环境到物理机的数据库迁移,都是Linux系统,Oracle 11.2.0.4的RAC,最终选定ADG方案实现迁移,简单高效. 在之前的文章Oracle 11g ADG 部 ...
- ES6语法笔记
迭代器 // log let arr = ['一', '二', '三'] let iter = arr[Symbol.iterator]() console.log(iter.next()) cons ...
- 自定义 NSLog以便发版和调试
问题 开发中用了大量的 NSLog,但是发布时想取消这些 NSLog 开发中是否经常用过 NSLog(@"%s", __FUNCTION__); 解决问题 新建 ExtendNSL ...
- USB 设备驱动(写给自己看的)
集线器与控制器(USB地址7bit) 设备,配置,端点,接口 USB1.0(低速1.2),1.1(全速450m),2.0(高速,电流传输)区别 引脚4根(V,D-,D+,gnd),miniUSB增加 ...