Java基础语法-变量和数据类型

计算机内存

内存的作用

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

内存工作原理

1.数据形式
在计算机中其实没有数据的概念,只有0、1。也就是电信号,0表示断电,1表示通电
2.进制
计算机要进行各类信息的处理,并不是只有01两种,所以就产生了各类进制

二进制:01,逢二进一
八进制:01234567,逢八进一
十进制:0123456789,逢十进一
十六进制:0123456789ABCDEF,逢十六进一

二进制是硬件最原始的数据记录方式,但由于二进制会产生大量01组合,记录的数据越大数位越长,很难阅读和理解。所以根据不同的情况,会使用不同的进制。
3.数据分类
计算机要存储数据,就必须将数据进行合理分类,不同类型的数据对应使用不同的方式进行处理
4.数据存储
将大量0、1组成的数据在内存中用元器件的通电与断电形式进行存储,所以内存只能临时存储数据

Java内存


堆里是主要数据存储空间,大量的数据本体会被存储在这里空间内,同时这个区域的空间是动态的,当需要空间时进行申请,堆就会分配一块区域给你,用完之后再归还给堆。它像一条管道一样,先进先出

但由于堆的特性,导致数据在存入堆后检索速度受限,所以栈是一种对堆的使用方法。我们主要用它来存储Java中的标识符,也就是给放在堆里的数据做个标记,让我们能通过栈更快速的定位到数据在堆里的位置。它像是一个桶一样,先进后出

堆和栈关系图
使用内存

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

变量

什么是变量

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量。 变量本质上就是代表一个”可操作的存储空间”。

使用变量

使用变量时,因为有标识符的存在,所以什么地方需要使用只需要写标识符即可。
要存储不同的数据,必须创建对应类型的变量!
目的都是在堆内申请空间,并放入一个数据!

变量的命名规范

  1. 只能用英文、下划线、数字、$结尾;
  2. 只能用英文、_、$开头;
  3. 不能使用关键字命名;
  4. 有意义;
  5. 首个单词首字母小写其余首字母大写;
  6. 虽然可以但一般不使用_$。

常用的关键字

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

数据类型

Java数据类型分为基本数据类型引用数据类型
基本数据类型分为数字类型非数字类型
整数类型:(byte、short、int、long)
小数类型:(float、double)
非数字数据类型:(char、boolean
引用数据类型:类(class)、接口(interface)、数组(array)

数据类型详解

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

运算符

算术运算符

+、-、、/、%、++、–、+=、-=、=、/=、%=

		int num1 =10;
        int num2 =20;
//算数运算符
        System.out.println(num1+num2);
        System.out.println(num1-num2);
        System.out.println(num1*num2);
        System.out.println(num1/num2);
        System.out.println(num1%num2);
        int num3 = 30;
        num3++; //num3++ 相当于 num3 = num3 + 1 = 30 + 1 = 31
        System.out.println(num3);
        int num4 = 30;
        num4--; //num4-- 相当于 num4 = num4 - 1 = 30 - 1 = 29
        System.out.println(num4);
        int num5 = 10;
        num5 += 5; //num5 = num5 + 5 = 10 + 5 = 15
        System.out.println(num5);
        int num6 = 10;
        num6 -= 5; //num6 = num6 - 5 = 10 - 5 = 5
        System.out.println(num6);
        int num7 = 10;
        num7 *= 5; //num7 = num7 * 5 = 10 * 5 = 50
        System.out.println(num7);
        int num8 = 10;
        num8 /= 5; //num8 = num8 / 5 = 10 / 5 = 2
        System.out.println(num8);
        int num9 = 10;
        num9 %= 5; //num9 = num9 - 5 = 10 % 5 = 0 余数为0
        System.out.println(num9);
        结果:
		        30
				-10
				200
				0
				10
				31
				29
				15
				5
				50
				2
				0

逻辑运算符

&、|、!、&&、||

//逻辑运算符
        int num1 =10;
        int num2 =20;
        System.out.println(num1>num2 && num2 >10);
        System.out.println(num1>num2 || num2 >10);
        System.out.println(num1!=10);
        结果:
		     false
			 true
			 false

比较运算符

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

//比较运算符
        System.out.println(num1>num2);
        System.out.println(num1<num2);
        System.out.println(num1>=num2);
        System.out.println(num1<=num2);
        System.out.println(num1==num2);
        System.out.println(num1!=num2);
        //equals专门用来判断两个字符串的值是否相等。
        String str1 = "欣知";
        String str2 = "欣知";
        System.out.println(str1.equals(str2));
        String str3 = "大数据";
        System.out.println(str1.equals(str3));
        结果:
	        false
			true
			false
			true
			false
			true
			true
			false

赋值运算符

=就是赋值运算符,目的是将=右边的数据,赋值给=左边的空间。
即:=右边永远都是数据,或可以得到数据的表达式;=左边永远都是一块可以存放对应数据类型的空间

		int num1 =10;
        int num2 =20;
        String str = "欣知大数据";
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(str);
        结果:
              10
			  20
			 欣知大数据

三目(三元)运算符

?是三目运算符,当表达式结果为true,则执行?后面的代码;当表达式结果为false,则执行:后面的代码。

//三目运算
        String str4 = "欣知";
        String str5 = "架构师";
        int num10 = str4.equals(str5)?521:666;
        System.out.println(num10);
        结果:
        	666
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值