1.C/C++语言属于编译型语言,而脚本、php、python属于解释型语言
编译型:执行效率高
解释型的执行效率相对较低,它的优势是开发效率高
java编译型和解释型都有涉及,它具有编译型的特点,我们写好的代码xx.java是需要通过java的编译器javac把它编译成xx.class,这个xx.class文件是二进制的,但是它不能在计算机上直接执行,能在计算机上执行的二进制文件在Linux上是ELF结尾的,在Windows是PE格式的,这个文件既不是ELF文件也不是PE文件,它需要通过Java的虚拟机去解释执行,Java虚拟机并不是跨平台的,它有Linux版本、有Windows版本,也有mac版本,这个class文件是跨平台的,如果在Linux版本上运行,就用Linux版本的虚拟机去解释class文件,如果在Windows版本上运行,就用Windows版本的虚拟机去解释class文件,所以Java一次编译生成class文件可以到处执行,无论在Linux上还是Windows上,Java的运行效率没有C和C++高,所以Java也属于编译型也属于解释型,都有涉及
main.c或者main.cpp是无法直接执行的,必须要经过编译生成可执行程序main.exe,直接就可以在计算机上运行,不需要再使用其他的工具
而解释型是当我们写好文件(xx.sh)以后,是不能直接去执行的,需要借助解释器,在解释器中解释执行,解释器会读取文件中的内容,然后去执行
解释型就像是音乐播放器,我们不能直接听歌本身,而是需要打开音乐播放器来听歌,音乐播放器就起到了一个读取音乐文件本身的这么一个作用
2.为什么要使用脚本编程呢?
使用脚本编程可以花很少的代价去完成我们想要完成的事情,比起C和C++来讲,可以做很少的事情可以完成很复杂的功能
3.脚本文件的后缀是.sh,也可以不写,它不是强制的
第一行写#!/usr/bin/bash,就是使用/usr/bin/bash解释器来解释脚本,如果没有写,就用系统默认的解释器
输出命令echo “hello” 可以打印出hello
exit 0 可以退出程序
直接./my.sh是不能运行的,会提示权限不够
bash ./my.sh 可以将bash运行起来,然后读取my.sh文件中的内容
可以通过给my.sh增加执行权限,先把解释器启动,然后把文件作为参数传给解释器,就可以执行了
4.在Linux系统中,如果将一个文件中的浮点数的整数部分拿出来放到另一个文件中?
5.python有2.x版本也有3.x版本的,3.x的版本是不兼容2.x版本的
在.py文件中打印hello,python3是python的一个解释器
6.脚本中变量的使用
双引号可以加也可以不加,加上双引号表示一个整体,但是对于mystr=“hello world"来说,如果不加双引号,mystr的值是hello,而不是hello world,因为中间有一个空格,对于val=100来说,可以加双引号变成"100”,它并不是表示是一个字符串,也可以加单引号,变成’100’,变量没有类型,定义变量时等号的左边和右边不能有空格,有空格后意义就变了,就不是赋值的意思了,当要打印变量值的时候在变量前面加一个$,就能打印出变量的值
单引号引起来的,单引号里面什么样输出出来就是什么样,里面的$失去了它的功能
如果变量的值中没有$,那么用单引号和双引号或者什么都不用的效果是一样的,但是对于mystr="hello world"来说,如果不加双引号,mystr的值是hello,而不是hello world,因为中间有一个空格
a=$val意思就是把val的值赋值给a
从键盘上读数据,read a,a是保存读的内容
7.用python3进行编写程序,定义a的值为12,然后将a的值修改为13,会发现a的ID号变了,它并不是把12改成13了,而是引用了另外的空间,当把a的值改成hello的时候,会发现它的ID号变的很长,而修改为13的时候,它们的长度是一样的,大小也相差不多,这是因为12、23和hello的类型不一样,hello离12、23和遥远,12和23很近