2. java基础知识第一课
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:如上图所示,把不同操作系统比喻成不同国家的人。
假如“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 <DIR> 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(" —————————————————— ——————");
}
}
结果如下:
- 点赞
- 收藏
- 关注作者
评论(0)