程序到底是怎么回事

程序到底是怎么回事

本文是记录笔者在读《老马说编程》这本书的第一章的观后感
CPU、内存、硬盘和输入输出设备就组成了计算机。计算机上面跑着操作系统,操作系统上运行着各种应用程序。
进程 :操作系统将时间分为很多细小的时间片,各个程序占用一段时间片。
本质上,计算机只会执行预先写好的指令而已,这些指令也只是操作数据或者设备。
比如说:
读文档,就是将数据从磁盘加载到内存,然后输出到显示器上
写文档,就是将数据从内存写回磁盘。
播放音乐,就是将音乐的数据加载到内存,然后写到声卡上。
聊天,就是从键盘接收聊天数据,放到内存,然后传给网卡,通过网络传给另一个人的网卡,再从网卡传到内存,显示在显示器上。

数据

数据在计算机中都是二进制,高级语言会引入"数据类型"和"变量"的概念。

数据类型

数据类型就是对数据的归纳,方便理解和操作,计算机是不知道数据类型的。java有8种数据类型,每种数据类型都有对应的数组类型,用于表示固定长度的同种数据类型的多条记录,这些数据在内存中是挨着一起存放的。

变量

为了操作数据,需要把数据存放到内存中,所谓内存在程序看来就是一块有地址编号的连续的空间,放到内存中的某个位置后,为了方便地找到和操作这个数据,需要给这个位置起一个名字。编程语言通过变量这个概念来表示这个过程。

声明一个变量,比如 int a其实就是在内存中分配了一个空间,这个空间存放int数据类型,a指向这个内存空间所在的位置,通过对a操作即可操作a指向的内存空间,比如a=5这个操作即可将a指向的内存空间的值改为5。

算术运算

取模(%)就是数学中的求余数,例如,5%3是2,10%5是0。

加减乘除注意事项

运算时要注意结果的范围,使用恰当的数据类型。两个正数都可以用int表示,但相乘的结果可能就会超,超出后结果会令人困惑,例如:
int a = 2147483647*2; //2147483647是int能表示的最大值

a的结果是-2。为什么是-2我们暂不解释,要避免这种情况,我们的结果类型应使用long,但只改为long也是不够的,因为运算还是默认按照int类型进行,需要将至少一个数据表示为long形式,即在后面加L或l,下面这样才会出现期望的结果:
long a = 2147483647*2L;

另外,需要注意的是,整数相除不是四舍五入,而是直接舍去小数位,例如:
double d = 10/4;

结果是2而不是2.5,如果要按小数进行运算,需要将至少一个数表示为小数形式,或者使用强制类型转化,即在数字前面加(double),表示将数字看做double类型,如下所示任意一种形式都可以:
double d = 10/4.0;
double d = 10/(double)4;

持续更新中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值