常量、变量、数据类型以及进制的详解(2)

常量、变量、数据类型以及数据类型的详解

常量
1.常量的定义:在程序的执行过程过,其值不发生改变的量称为常量。
2.Java中对于常量的分类:
1. 字面值常量:
字符串常量:用双引号括起来的内容 比如"abc"
整数常量:所有的整数
小数常量:所有的小数
字符常量:用单引号括起来的单个字符 比如"a"
布尔常量:true false
空常量:null
2.自定义常量:人为定义的常量称为自定义常量,变量其实是内存中一小块区域。

变量
1.变量的定义:在程序执行过程中,其值可以发生改变的量称为变量。
为什么要定义变量?
用来不断的存放同一类型的常量,并且可以重复使用。
2.变量的定义格式
数据类型 变量名=变量值
变量只能使用在变量所定义的同一个作用域,意思是说你在定义变量时在哪一个作用域中,变量只在这一个作用域中起作用,在别的作用域中这个变量无效。
变量在使用时,必须要先赋值后使用。

进制
进制:进制就是所谓的进位值,是人为规定的一种进位方法,X进制,就表示逢X进一。
常见的进制有二进制,八进制,十进制,十六进制等等。十进制就是日常所用的进制。而计算机所能识别的只有二进制,二进制只有0和1,如果数据比较大,那么用二进制表示这个数时,数据长度会很长,不方便使用,所以在人为运算中,会将二进制先转换成八进制或十六进制用来表示,之后再进行运算。
Java中表示二进制时在二进制前加0b 例如:ob101010
八进制前加上0 例如:075
十进制则原样写 例如:60
十六进制前加上0x 例如0x10
任意进制转换为十进制采用的是维权展开法。
在这里插入图片描述
十进制转换为任意进制的规则是除基取余,直到商为0,余数逆排序。
例如将十进制 20转换为二进制如图所示在这里插入图片描述
如图所示将十进制的20转换为二进制的结果为10100

数据类型
在Java中数据类型分为基本数据类型和引用数据类型(后面讲)
基本数据类型大致分为四类八种
数值型

整数型字节数范围
byte1(8bit)-128 ~ 127
short2(16bit)-2^15 ~ 2^15-1
int4(32bit)-2^31 ~ 2^31-1
long8(64bit)-2^63 ~ -2^63-1
浮点型字节数范围
float4(32bit)-3.40310^38 ~ 3.40310^38
double8(64bit)-1.79810^308 ~ 1.79810^308
字符型字节数范围
char2(16bit)0 ~ 2^16 - 1 = 65535
布尔型字节数范围
boolean1-

在没有规定变量是整数型中任意一个,默认情况下整数型为int,浮点型为double。
数据类型转换
数据类型转换分为自动类型转换和强制类型转换
自动类型转换又称为隐式转换,规则是两种不同类型的数据在进行运算中,低类型的数据会自动向高类型的数据进行转换。
例如:

class B{
    public static void main(String[] args){
		int a,c;
		byte b;
		a=3002;
		b=10;
		c=a+b;
		System.out.println(c);
    }
}

其结果会自动的转换为int类型。
自动类型转换的规则:
1.boolean类型不能转换为其他的数据类型
2.byte,char,short类型在进行运算时会首先转换为int类型。
3.自动类型转换简要图:
在这里插入图片描述
强制类型转换
强制转换的格式:
目标数据类型 变量名=(目标数据类型)(被转换的数据);
注意:强制类型转换可能会造成精度损失。
例如:
class B{ public static void main(String[] args){ byte b = 130; } }
结果如下所示:
在这里插入图片描述
如果要使这个赋值正确,那么给130的前面加上(byte),将int类型的130转换为byte类型。

当字符串和字符参与运算
在java中"+"号起两个作用,一个是起拼接作用,另一个是起数学运算中加号的作用。
当“+”号两端有一个是字符串时,那么加号起拼接作用。例如:

System.out.println("HelloWorld"+55);

这个结果输出就是 HelloWorld55;
当“+”号两端都是数值时,那么加号起数学运算中的加法运算。例如:

System.out.println(5+5);

这个结果便会输出10。
如果是单个字符参与运算则会有两种情况
一种是用单引号括起来的单个字符和数值进行“+”号运算,那么单引号括起来的的字符在进行加号运算时,会根据ASCII表中这个字符对应的ASCII值进行转换,之后再与数值相加。
例如:

System.out.println('A'+5);

这个结果输出便是70,因为在ASCII中“A”所对应的值是65,转换后再做加法运算之后便是65+5=70。
另一种是双引号括起来的单个字符和数值进行“+”号运算,那么会将双引号括起来的单个字符当成字符串,再与数值进行拼接。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值