Java入门-变量

什么是变量

是内存中的一个存储区域,该区域的数据可以在同一数据类型范围内不断变化。

Java中声明并初始化变量的基本格式:

数据类型 变量名 = 变量值;

变量都有其作用域,变量只在其作用域内有效,出了作用域就失效了,在同一作用域内不能声明两个相同名字的变量。

Java的数据类型

八大基本数据类型

整型:byte short int long

浮点型:float double

字符型:char

布尔类型:boolean

整型

类型所占用存储空间赋值范围
byte1字节(8比特)-128 ~ 127(2^7 -1)
short2字节-2^15 ~ 2^15-1
int4字节-2^31 ~ 2^31-1
long8字节

-2^63 ~ 2^63-1

定义long类型的变量,赋值时以" L "结尾

整型常量默认为int类型

浮点类型

类型所占用存储空间赋值范围
单精度float4字节-3.403E38 ~ 3.403E38
双精度double8字节-1.798E308 ~ 1.798E308

定义float类型的变量,赋值时以" f "结尾

浮点型常量默认为double类型

float f = 1.03f;
double d1 = 0.03;
double d2 = .03; //如果整数位为0则可以省略
double d3 = 3.0E-2; //科学计数法表示

浮点数在计算机中存放形式简单说明:

浮点数 = 符号位 + 指数位 + 尾数位

并不是所有的小数都可以使用二进制浮点数表示,二进制浮点数不能表示0.1、0.01这样的10的负次幂,所以在开发中如果需要极高的精度,需要使用BigDecimal类替换浮点型变量

System.out.println(0.1 + 0.2); //打印:0.30000000000000004

字符型

char类型的变量所占用存储空间:2字节

java中的所有字符都使用Unicode编码

char ch1 = 'A'; //单引号内有且只能有一个字符,不能没有字符
char ch2 = '\t'; //转义字符
char ch3 = 97; //表示ASCII码中的 a
char ch4 = '\u0000' //字符的Unicode码点值
转义字符
转义字符说明
\n换行符
\t制表符
\"双引号
\'单引号
\\反斜杠

布尔类型

boolean类型的数据只有falst和true这两个值,常常在流程控制语句中使用

引用数据类型

类class 数组array 接口interface        枚举enum 注解annotation 记录record

自动类型提升

Java中可以做运算的数据类型有byte、short、int、long、float、double、char

自动类型提升的规则:当数据类型容量小的变量与容量大的变量做运算时,结果自动转换为容量大的数据类型。此处的容量大小并非值得时所占的内存空间大小,而指的是可以赋值范围的大小。如long(8byte)与float(4Byte)做运算时结果转化为float类型。

float f = 10L; //long类型自动类型提升为float类型
float f1 = 10L + 10.0f; //long类型自动类型提升为float类型

当byte、short、char类型的变量进行运算的时候,会自动类型提升为int类型。

byte b1 = 1;
byte b2 = 1;
short s1 = 1;
short s2 = 1;
char c1 = 1;
char c2 = 1;
int sum1 = b1 + b2;
int sum2 = s1 + s2;
int sum3 = c1 + c2;
int sum4 = b1 + s1;

byte、short、char --> int --> long -> float --> double

强制类型转换

如果需要将容量大的数据类型赋值给容量小的数据类型,需要使用到强制类型转换

float f = 10L;
long l = (long) f; //float类型的变量强制类型转换为int类型的变量

注意:强制类型转换容易出现精度损失

float f = 12.9f;
int i = (int) f;
System.out.println(i); //打印:12
int i = 128;
byte b = (byte) i;
System.out.println(b); //打印:-128

引用数据类型-String类

String类型的变量使用一对双引号进行赋值

String str1 = "Hello World !";
String str2 = "";

字符串拼接

String类型的变量与基本数据类型的变量只能做拼接运算,使用 + 进行字符串拼接,运算结果是String类型

String str = "Hello";
int i = 123;
short s = 1;
boolean b = true;
String str1 = str + i + b; //字符串拼接
String str2 = i + s + str; //字符串拼接
String str3 = i + ""; //表示"123"
System.out.println(str1); //打印:Hello123true
System.out.println(str2); //打印:124Hello

那么如何把String类型的数字字符串转换为int类型呢?

String str = "123";
int i = Integer.parseInt(str);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值