2. java基础知识第一课

网友投稿 566 2022-05-28

1、什么是计算机程序?

为了让计算机执行某些操作或解决某个问题,而编写的一系列有序指令的集合。编写程序的工具就是语言。

2、语言的发展

机器语言—>汇编语言—>高级语言

具体参考以下文章:https://blog.csdn.net/qq_40184552/article/details/89214909

3、Java语言最重要的特点

1)可移植性:与平台(操作系统)无关的特性,使Java程序可以方便地被移植到网络上。

2)垃圾回收机制:以后慢慢体会,目前没用到也没体会到。

上图的解释:“java源程序”就是写好的想要执行某一功能的程序。程序写好了,我们需要去运行它,得到某个结果。因而就需要java对应的软件去运行它,而应用软件又是装在操作系统上面的,上面所写的“java源程序”想要运行,就必须要操作系统去正确识别它。但是,操作系统并不能直接看懂“java源程序”。

为什么计算机不认识呢?因为“java源程序”是我们自己编写的,由一些英语单词、汉字等组成的高级语言,而操作系统只认识一些机器语言,像0、1这样的二进制语言。鉴于此,操作系统想要正确识别“java源程序”,就必须有一个小翻译,将“java源程序”翻译成各种不同操作系统可以懂的0、1二进制语言。

不同的操作系统,它所支持的机器语言的二进制语言不一样。同样的一段话, 在windows操作系统上可能是1010,在linux上可能是0101,在其他操作系统上可 能是0011。因此,需要有不同的“小翻译”。 机器指令是CPU能直接识别并执行的指令,以二进制编码的形式来表示。由于 机器指令与CPU紧密相关,所以,不同种类的CPU对应的机器指令也不同,而且往往 相差很大。

eg:如上图所示,把不同操作系统比喻成不同国家的人。

2. java基础知识第一课

假如“java源程序”使用的是汉语编写的,德国人怎么听懂?韩国人怎么听懂?俄罗斯人怎么听懂?那就需要找翻译了。

首先是小编译器javac将“java源程序”编译成一个与平台无关的“java字节码的文件(.class)”,相当于英语吧。编译的过程其实是想让java虚拟机能够读懂所写的java源代码。但是德国人、韩国人、俄罗斯人还是听不懂,就需要进一步找一个翻译。

这一个翻译就是“java的虚拟机JVM”了。不同的操作系统有不同的java安装版本(因为在不同系统上安装jdk,不同的java安装版本,有不同的JVM)。JVM利用“不同操作系统下的字节码解释程序”将“java字节码的文件”可以解释成不同操作系统可以看懂的机器程序。

注:你把JVM虚拟机当作一个多操作系统翻译就好了,负责用不同操作系统的语言,和该操作系统交流。

4、运行java需要的两个小工具:javac.exe、java.exe

1)javac:编译器,进行java语法检查,同时将“java源文件”翻译成“字节码文件”,供JVM虚拟机读懂,字节码文件就是上述提到的二进制文件,不同操作系统对于同一句话的识别不太一样,因此,需要进一步对字节码文件,进行翻译,即需要JVM虚拟机进行进一步的解释。

2)java:调用JVM虚拟机,将javac翻译得到的字节码文件,进一步翻译成各个操作系统可以看懂的程序,进行程序的执行。

5、JVM工作原理

6、写java代码需要注意的地方

# 下面定义一个文件名为Hello.java的文件 public class Hello{ public static void main(string[]args){ System.out.println("Hello World") } }

1)java区分大小写;

2)要有缩进;

3)public修饰的类名,应该与java文件名一致;

4){ }成对出现,写的时候,最好成对写;

5)语句结束用分号;

6)一行只写一句代码;

7、常见的DOS命令

1)切换盘符

f:

例子:

2)查看文件目录清单

dir dir /s:显示盘符下的目录和所有子目录下的内容 dir /p:分屏显示。eg:dir /s/p

例子:

3)改变目录结构

cd 目录名 cd ..:返回上一级目录 cd\:回退到盘符下

例子:

4)新建目录(以F盘为例)

md 目录名

例子:

5)创建文件(分为以下3步操作)

copy con 文件名.扩展名 # 后面必须要写扩展名 输入内容 ctrl + z结束操作

例子:

6)查看文件中的内容

type 文件名.扩展名

例子:

7)复制

copy 原文件 目标路径

例子:

8)文件重命名

ren 原文件名 新文件名

例子:

9)移动(也叫“剪切”)

move 原文件 目标路径

例子:

10)删除目录(空目录)

rd 目录名

删除某一个目录,一定先要切换到其上级目录下,再执行删除操作。

11)删除文件

del 文件名.扩展名

假如文件少,可以一个个删除

假如文件很多,使用通配符删除

12)清屏

cls

13)退出DOS窗口

exit

8、习题一

使用DOS命令,完成上述操作:

F:\>dir 驱动器 F 中的卷没有标签。 卷的序列号是 DA18-EBFA F:\ 的目录 2019/09/16 20:20

1 CentOS 0 个文件 0 字节 1 个目录 302,682,828,800 可用字节 F:\>md myFir # 创建一个目录 F:\>md myPic F:\>md backup F:\>copy con f:\myFir\a.txt # 创建一个文件 abc def^Z 已复制 1 个文件。 F:\>copy con f:\backup\a.txt afd sdf ^Z 已复制 1 个文件。 F:\>ren myFir File # 文件夹重命名(也可以给文件重命名) F:\>copy f:\backup\a.txt f:\myPic # 复制文件到指定文件夹 已复制 1 个文件。 F:\>del f:\backup\a.txt # 删除某个文件 F:\>rd backup # 删除空文件夹

9、习题二

代码如下:

public class Test{ public static void main(String[] args) { System.out.println(" O \t O"); System.out.println(" \\ \t /"); System.out.println(" \\ \t /"); System.out.println(" \\ /"); System.out.println(" \\ /"); System.out.println(" ———————— ———————— ——————"); System.out.println(" | | | -- |"); System.out.println(" | ———————— | | |"); System.out.println(" | () | ^ ^ | ()| | -- |"); System.out.println(" | () | o o | ()| | -- |"); System.out.println(" | () | | | | | | -- |"); System.out.println(" | () |- * -| ()| | -- |"); System.out.println(" | () || ___ || ()| | -- |"); System.out.println(" —————————————————— ——————"); } }

结果如下:

Java JVM

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:DayDayUp:编程语言之以python为例带你理解什么叫做【面向对象】
下一篇:消息队列之 RabbitMQ
相关文章