变量和数据类型的学习

文章讲述了计算机内存的作用,强调了内存平衡CPU速度和硬盘读取速度的功能。内存工作原理涉及读取和写入数据,包括RAM和ROM两种类型。在Java编程中,变量是内存中的存储区域,有数据类型、名称和值,分为基本和引用数据类型。变量的存储位置包括栈和堆。文章还介绍了数据类型的分类,如基本数据类型和引用数据类型,并提及了赋值和算术运算符的使用。
摘要由CSDN通过智能技术生成

计算机内存

内存的作用

内存的作用主要是用来平衡CPU的处理速度和硬盘的读取速度。 一块正常的机械硬盘连续读取速度是100Ms。而CPU的处理速度远远超过这个速度。所以如果没有内存的参与,可能会产生硬盘全力读取,CPU却一直空闲的状态。

内存的工作原理

内存的工作原理可以分为读取和写入两个方面。 当需要读取数据时,内存会向CPU发送请求,CPU会查找存储单元并将数据发送回内存。当需要写入数据时,内存会向内存发送请求,CPU会查找存储单元并将数据存储在该存储单元中。内存的速度和容量也很重要。内存可以分为随机存取存储器和只读存储器。RAM是一种易失性存储器,ROM是一种非易失性存储器。

Java内存

里是主要数据存储空间大量的数据本体会被存储在这里空间内,同时这个区域的空间是动态的,当需要空间时进行申请,堆C会分配一块区球给你,用完之后再归还玲堆。它像一条管道一样,先进先出
但由于堆的特性,导致数据在存入堆后检索速度受限,所以栈是一种对堆的使用方法。我们主要用它来存储Java中的标识符,也就是给放在堆里的数据做个标记,让我们能通过栈更快速的定位到数据在堆里的位置。它像是一个桶一样,先进后出。

变量

什么是变量

内存中的一个存储区域,该区域有数据类型、名称和存储的值。

  • 声明:由于堆的特性,我们在使用内存时需要先向内存堆申请一块空间,这块空间的申请必须注明数据类型。
  • 标识:由于栈的特性,我们需要首先定义一个标识符,表示我们通过这个标识去寻找这块空间。
  • 赋值:内存堆的使用必须有意义,无效的内存堆空间(null)是一种浪费,不被内存所认可,所以必须申请空间后进行赋值。
  • 使用:前三步已经完成了对内存的使用,接下来就是通过标识符来使用它。

变量的存储方式

1、全局(静态)存储区
2、栈
3、堆
4、自由存储区(和堆类似)
5、常量区

变量和内存的关系

在Jaca中,变量和内存之间有着密切的关系。当我们在Java程序中定义一个变量时,实际上就是在内存中分配一块存储空间来存储该变量的值。
Java中的变量类型包括基本数据类型和引用数据类型。对于基本数据类型的变量,其值直接存储在分配的存储空间中;而对于引用数据类型的变量,则是存储了一个指向对象内存地址的引用。因此,当我们在Java程序中创建一个对象时,实际上是在内存中分配一块对象所需的存储空间,并将该对象的内存地址存储在引用类型的变量中。
此外,在Java中,内存空间的管理是由JVM负责的。当我们在程序中使用变量时,JVM会自动管理该变量所需的内存空间的分配和回收,以确保程序运行的效率和安全性

使用变量

使用变量时,在已经声明了变量后,因为有标识符的存在,所以什么地方需要使用只需要写标识符即可。

变量的命名规范

变量的命名规则:
1. 变量一般用英文单词表示,首字母小写,遵循驼峰命名规范(变量的名称可以包含字母、数字、下划线、美元符号,但不能以数字开头)。
2. 不能用java的关键字做变量名,idea里面有颜色的一般都是关键字 (变量的名称不能是Java中的关键字和保留字,但可以包含关键字和保留字。)
3. 变量的名称是严格区分大小写的。
4. 变量的名称尽量做到见名知意。

常用关键字

  • 用于定义数据类型的关键子:
    Class , Interface , Byte , Short
    Int , long ,double , char , boolean void
  • 用于定义数据类型值的关键字:
    true , false , null
  • 用于定以流程控制的关键字:
    if , else , switch , case ,default ,while
    do, for , break , continue , return

    不经常使用但需要熟悉认识:
    用于定义访问权限修饰符的关键字
    private , protected , public
    用于定义类承数,变量修饰符的关键字
    abstract , final , static ,synchronized
    用于定义类与类之间关系的关键空
    extends ,implements
    用于定义建立实例及引用实例…判断实例的关键字
    new , this , super , instanceof
    用无异常处理的关键字
    try, catch , finally , throw , throws
    用于包的关键字
    package , import
    其他修饰符关键字
    native , strictfp , transient , volatile , assert

数据类型

数据形式

计算机是个“傻子”,它根本不认识任何的数据,但我们通常希望计算机能帮助我们记录数据。而计算机是通电运行的,所以理所当然我们用电流来表达数据。通常情况下,在计算机大部分硬件中,通电表示1,断电表示0。这样就形成了大量的01组合,也就产生了数据。

数据类型的分类

计算机有很多数据类型,为不同类型的数据所准备,也就是说不同类型的数据存放在内存所对应类型的空间中。
Java中的数据类型:

 基本数据类型:整数(byte、short、int、long)
	          小数(float、double)
 引用数据类型:接口(interface) 
              类(class)
              数组(array)

在这里插入图片描述
在这里插入图片描述

数据类型详解

计算机要存储数据,就必须将数据进行合理分类,不同类型的数据对应使用不同的方式进行处理,计算机要存储数据,就必须将数据进行合理分类,不同类型的数据对应使用不同的方式进行处理

类型转换

二进制是硬件最原始的数据记录方式,但由于二进制会产生大量01组合,记录的数据越大数位越长,很难阅读和理解。所以根据不同的情况,会使用不同的进制。
二进制:01,逢二进一
八进制:01234567,逢八进一
十进制:0123456789,逢十进一
十六进制:0123456789ABCDEF,逢十六进一

运算符

赋值运算符

赋值运算符: = 的左边是变量, =的右边是数据 (将右边的值赋值给左边的变量)。

算数运算符

+、-、、/、%,++ 、 – 、+=、-=、=、/=、%=java

public static void main(String[] args) {
       int a = 100;
       int b = 50;
       System.out.println(a+b);
       System.out.println(a-b);
       System.out.println(a*b);
       System.out.println(a/b);
       System.out.println(a%b);
public static void main(String[] args) {
      	int a = 100;
        int b = 50;
        int c = 10;
        int d = 20;
        System.out.println(a++);
        System.out.println(b--);
        System.out.println(a+=c);
        System.out.println(a-=c);
        System.out.println(a*=b);
        System.out.println(a%=d);
        System.out.println(d/=a);
        System.out.println(a);
               

逻辑运算符
逻辑运算符有&、|、&&、||
&&按位或&,要依次判断前后表达式结果,||逻辑或,左边为true就为true
|按位与||,要依次判断前后表达式结果,&&逻辑与,左边为false就为false

 public static void main(String[] args) {
		int a = 10;
		int b = 5;
		int c = 7;
			if (a > b && a < c) {
    	System.out.println("a大于b且小于c");
			}
			if (a > b || a < c) {
    	System.out.println("a大于b或小于c");
			}
			if (!(a > b)) {
        System.out.println("a不大于b");
			}
}

比较运算符

、<、>=、<=、==、!=、equals

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值