为什么需要变量
变量是程序的基本组成单位
不论是使用哪种高价程序语言编写程序,变量都是其程序的基本组成单位。
//变量有三个基本要素(类型+名称+值)
1
2
3
4
5
6
7
8
9
|
class Test{ public static boid main*=(String []args){ int a = 1 ; // 定义了一个变量,类型int整形,名称a,值1 int b = 3 ; // 定义了一个变量,类型int整形,名称b,值3 b = 89 ; // 把89值赋给b变量 System.out.println(a); // 输出a变量的值 System.out.println(b); // 输出b变量的值 } } |
变量的基本原理
变量在计算机领域里等于是人。
而计算机(人)包括内存。
内存里等于是人的大脑。
根据上述的 int a = 1;
简单来说就是内存(大脑)里会分配一个空间放入a整形(a = 1)。
上述的 int b =3; b = 89;
等于是把内存(大脑)中的b整形(b = 3)替换为整形(b = 89)。
变量的介绍
变量概述
变量相当于内存中一个数据存储空间的表示,你可以把变量看做成是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
变量使用的基本步骤
1.声明变量
int a;
2.赋值
a = 60; // 把60赋给a
3.使用System.out.println(a); // 输出变量a
也可以一步到位[int a = 60;]通常都是一步完成的。
1
2
3
4
5
6
7
8
9
10
11
12
|
public class Test{ // 创建一个Test测试类 // 编写一个main方法 public static void main(String[] args){ // 声明变量的第一种方式 int a; // 定义变量a a = 100 ; // 将变量100赋值给变量a System.out.println(a); // 输出变量a的值 // 声明变量的第二种方式 int b = 80 ; // 定义变量b,且将变量80赋值给变量b System.out.pringln(b); // 输出变量b的值 } } |
变量中常用的数据类型
基本数据类型:系统会分配固定的内存空间,一共分为八种(四形八种)。
整形
byte(字节型), short(短整形)、int(整型)、long(长整形)。默认值:long的为0l,其余为0。取值范围如下:
类型 | 占用存储空间 | 表数范围 |
---|---|---|
float | 4个字节 | 3.402823e+38 ~ 1.401298e-45 |
double | 8个字节 | 1.797693e+308~ 4.9000000e-324 |
可以看到byte和short的取值范围比较小,而long的取值范围太大,占用的空间多,基本上int可以满足我们的日常的计算了,而且int也是使用的最多的整型类型了。
浮点型(非整数)
float(单精度浮点型)、double(双精度浮点型)。默认值:float 0.0f,double 0.0 。取值范围如下:
类型 | 占用存储空间 | 表数范围 |
---|---|---|
float | 4个字节 | 3.402823e+38 ~ 1.401298e-45 |
double | 8个字节 | 1.797693e+308~ 4.9000000e-324 |
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F” 。
char型(非数值类型)
用于存放字符的数据类型,占用2个字节,采用unicode编码,它的前128字节编码与ASCII兼容 字符的存储范围在\u0000~\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1, char c = ' 1 '; 。
boolean型(布尔型)
这个类型只有两个值,true和false(真和非真) 。
变量使用注意事项
- 变量表示内存中的一个存储区域[不同的变量,类型不同,占用的空间大小不同,比如:int 4个字节,double 就是8个字节]。
- 该区域有自己的名称[变量名]和类型[数据类型]。
- 变量必须先声明,后使用。即有顺序。
- 该区域的数据可以在同一类型范围内不断变化。
- 变量在同一作用域内不能重名。
- 变量 = 变量名 + 值 +数据类型,这一点请大家注意,变量三大要素。
基本数据类型转换
自动类型转换
在Java程序在进行赋值或运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。
数据类型按精度大小顺序为:
- char>int>long>float>double
- byte>short>int>long>float>double
自动转换细节
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
- 当我们把精度大的数据类型赋值给精度小的数据类型时,就会报错,反之就会进行自动类型转换。
- byte,short和char之间不会相互自动转换
- byute,short,char它们三者可以计算,在计算时首先转换为int类型。
- boolean不参与转换
- 自动提升原则:表达式结果的类型自动提升为操作数中最大的类型。
强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或一处,格外要注意。
强制转换细节
- 当数据的大小从大到小,就会使用到强制转换
- 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
- char类型可以保存int的常量值,但不能保存int的变量值,需要强转
- bute和short类型在进行运算时,当做int类型处理。
基本数据类型和String类型的转换
在程序开发中,我们经常需要将基本数据类型转换成String类型,或者将String类型转换成基本数据类型,。
基本数据类型转String类型
将基本类型的值+""即可
String类型转基本数据类型
语法:通过基本类型的包装类调用parse方法即可
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/qq_39527814/article/details/119192537