计算机内存
##内存的作用
内存的作用主要是用来平衡CPU的处理速度和硬盘的读取速度。一块正常的机械硬盘连续读取速度是100M/s。而CPU的处理速度远远超过这个速度。所以如果没有内存的参与,可能会产生硬盘全力读取,CPU却一直空闲的状态。
##内存工作原理
1.数据分类
不同类型的数据进行存储要提前分类,内存要确保自己存储的信息能被认知!
2.数据形式
计算机是个“傻子”,它根本不认识任何的数据,但我们通常希望计算机能帮助我们记录数据。而计算机是通电运行的,所以理所当然我们用电流来表达数据。通常情况下,在计算机大部分硬件中,通电表示1,断电表示0。这样就形成了大量的01组合,也就产生了数据。
3.数据储存
将大量0、1组成的数据在内存中用元器件的通电与断电形式进行存储,所以内存只能临时存储数据
4.进制
计算机要进行各类信息的处理,并不是只有01两种,所以就产生了各类进制
变量
#什么是变量
变量是指一个包含值的存储地址以及对应的符号名称。从定义上来看,变量大概可分为两部分:变量的名字和变量的值,可通过变量名来访问变量值。简单来说,变量就是存储数据的载体。
#创建变量
int age=19;
//左边的 age是变量名 ,右边的19是赋值
//声明变量 int a;
//给变量赋值 a=1;
#变量注意事项
1.变量一般用英文单词表示,首字母小写,遵循驼峰命名规范(变量的名称可以包含字母、数字、下划线、美元符号,但不能以数字开头)。
2.不能用iavo的关键字做变量名,ideo里面有颜色的一般 (变量的名称不能是Java中的关键字和保留字,但可以包含关键字和保留字。
3. 变量的名称是严格区分大小写的。
4. 变量的名称尽量做到见名知意。
#java常见关键字
JAVA数据类型
基本数字类型(整数)
byte、short、int、long
小数
float、double
非数字
char 、 boolean
引用数字类型
class(类)、interfacce(接口)、array(数组)
类型 | 占用空间 | 取值范围 | 默认值 |
---|---|---|---|
byte | 1字节 | -128~127 | 0 |
short | 2字节 | -215 ~215 -1 | 0 |
int | 4字节 | -231~231-1 | 0 |
long | 8字节 | -263 ~263 -1 | 0L |
float | 4字节 | -3.403E38~3.403E38 | 0.0F |
double | 8字节 | -1.798E308~1.798E308 | 0.0D |
char | 2字节 | -~65535 | \u0000 |
boolean | true 、false |
储存信息
#数据储存
内存其实是个大网,像一张表格一样充满了行和列,行列交错也就产生了单元格,每个单元格存储1位信息,通常每段信息的第一个单元格被称为”内存起始地址”,用来记录数据在内存中的位置。
#JAVA是如何使用内存呢?
堆里是主要数据存储空间,大量的数据本体会被存储在这里空间内,同时这个区域的空间是动态的,当需要空间时进行申请,堆就会分配一块区域给你,用完之后再归还给堆。它像一条管道一样,先进先出。
但由于堆的特性,导致数据在存入堆后检索速度受限,所以栈是一种对堆的使用方法。我们主要用它来存储Java中的标识符,也就是给放在堆里的数据做个标记,让我们能通过栈更快速的定位到数据在堆里的位置。它像是一个桶一样,先进后出
运算符
在编程语言中,存在各种各样的计算,这些计算包括人类认知的所有计算,帮助人类解决现实生活中发生的问题。
#赋值运算
=就是赋值运算符,目的是将=右边的数据,赋值给=左边的空间。
即:=右边永远都是数据,或可以得到数据的表达式;=左边永远都是一块可以存放对应数据类型的空间
int num = 10;
System.out.println(num);
#算术运算
常见的运算符
+、-、、/、%、++、–、+=、-=、=、/=、%=
+比较特殊,在几个数字的运算中,+扮演了“加”的角色。
在字符串中却扮演了“连接”的角色。
int num1=10;
int num2=5;
System.out.println(num1+num2);
在编程语言中,除法运算被拆分成了两部分,求商和求余数。
/要用来求商,%用来求余数。
int num1 = 10;
int num2 = 5;
System.out.println(num1/num2);
int num1 = 5;
int num2 = 2;
System.out.println(num1%num2);
num1++,是num1 = num1 + 1;的缩写,也就是让num1本来的值加1。
num1–,是num1 = num1 - 1;的缩写,也就是让num1本来的值减1。
如果一行代码里面只用++或者–, 那么无论++在前还是在后,结果都是一样的。如果一行代码里面既有++又有输出语句,那么++在前,先自增1,再输出;++在后,先输出,再自增1
int num1 = 5;
num1 ++;
System.out.println(num1);