JAVA基础之常量、进制、变量
2016-05-22 13:04
309 查看
常量:表示不能改变的数值。
常量的分类:
1.整数常量。包括所有整数。
2.小数常量。包括所有小数。
3.布尔型(boolean)常量。特殊常量,只有两个数值。true和false。
4.字符常量。用单引号表示,引号内只能有一个字符。例如:'a'
5.字符串常量。用双引号表示,引号内可以有多个字符。例如:"abc"
6.null常量,只有一个数值。null
对于整数,有四种表现形式,这就是进制。
1.二进制。只有0和1两个数。逢二进一。
2.八进制。用0-7表示。逢八进一。
3.十进制。也就是生活中所用到的计数方法。不赘述。
4.十六进制。0-9,A-F表示。逢十六进一。0x开头。
一个字节是一个八位。即0000-0000
整数默认是4个字节,就是4个八位。即 0000-0000 0000-0000 0000-0000 0000-0000
负数在内存里的表现形式为该数的正数取反加1.
例如 -8 在内存中表示为
0000-0000 0000-0000 0000-0000 0000-1000 这是-8的正数8的表现形式
取反就是将0变1,1变0。
得到的数就是
1111-1111 1111-1111 1111-1111 1111-01111
还要再加1 就是
1111-1111 1111-1111 1111-1111 1111-1000
以上就是-8的二进制表现形式。
我们可以看出,凡是负数。它的二进制表现形式的最高位是1.
变量:内存中的一个存储区域。
该区域有自己的名称(变量名)和数据类型。
该区域的数据可以在同一类型中不断变化。
注意:变量只在一对{}之间内有效。
变量的类型:基本数据类型,引用数据类型(后面会学到,暂时作为了解、)
基本数据类型:数值型,字符型,布尔型(boolean)
数值型:整数类型:byte 取值范围是-128至127 任何数据的基本单元、
short 取值范围是-32768至32767
int 取值范围上亿,不需要记。整数的默认类型。
long 更大,更不用记。
浮点类型(小数):float(单精度) 四个八位表示
double(双精度)
八个八位表示。默认类型,精度更高。
字符型:char 可以放入一个中文。因为一个中文刚好是一个字节。
自动类型提升:当低字节数与高字节相加时,低字节数会自动提升为高字节数。
例如:
常量的分类:
1.整数常量。包括所有整数。
2.小数常量。包括所有小数。
3.布尔型(boolean)常量。特殊常量,只有两个数值。true和false。
4.字符常量。用单引号表示,引号内只能有一个字符。例如:'a'
5.字符串常量。用双引号表示,引号内可以有多个字符。例如:"abc"
6.null常量,只有一个数值。null
对于整数,有四种表现形式,这就是进制。
1.二进制。只有0和1两个数。逢二进一。
2.八进制。用0-7表示。逢八进一。
3.十进制。也就是生活中所用到的计数方法。不赘述。
4.十六进制。0-9,A-F表示。逢十六进一。0x开头。
一个字节是一个八位。即0000-0000
整数默认是4个字节,就是4个八位。即 0000-0000 0000-0000 0000-0000 0000-0000
负数在内存里的表现形式为该数的正数取反加1.
例如 -8 在内存中表示为
0000-0000 0000-0000 0000-0000 0000-1000 这是-8的正数8的表现形式
取反就是将0变1,1变0。
得到的数就是
1111-1111 1111-1111 1111-1111 1111-01111
还要再加1 就是
1111-1111 1111-1111 1111-1111 1111-1000
以上就是-8的二进制表现形式。
我们可以看出,凡是负数。它的二进制表现形式的最高位是1.
变量:内存中的一个存储区域。
该区域有自己的名称(变量名)和数据类型。
该区域的数据可以在同一类型中不断变化。
注意:变量只在一对{}之间内有效。
变量的类型:基本数据类型,引用数据类型(后面会学到,暂时作为了解、)
基本数据类型:数值型,字符型,布尔型(boolean)
数值型:整数类型:byte 取值范围是-128至127 任何数据的基本单元、
short 取值范围是-32768至32767
int 取值范围上亿,不需要记。整数的默认类型。
long 更大,更不用记。
浮点类型(小数):float(单精度) 四个八位表示
double(双精度)
八个八位表示。默认类型,精度更高。
字符型:char 可以放入一个中文。因为一个中文刚好是一个字节。
自动类型提升:当低字节数与高字节相加时,低字节数会自动提升为高字节数。
例如:
class Demo { public static void main(String[] args) { int x = 7; byte y =4; x = x+y ; //因为x是int类型 所以与y相加时y会自动提升为int类型。 // 强制类型转换:当高字节数与低字节数相加时,结果设为低字节数据类型的话,会丢失精度。就需要强制类型转换。 // 例如: byte a = 7; a = (byte)(a+3);//因为3是整数,默认是int类型,相加在编译的时候会报错。所以我们强制转换为byte类型。 System.out.println(a); } }
相关文章推荐
- mysql java.sql.SQLException: Unknown system variable 'language
- 重温Java基础之第一天
- JAVA学习笔记二之(1)注释
- Java正则表达式—小应用—简易爬虫
- Java正则表达式—小应用—简易爬虫
- JAVA SE 8 学习笔记(五)并发增强
- Convention 插件(1)
- 在windows上实现java6和Java8共存解决办法
- MyEclipse安装插件的几种方法 转
- Config Browser 插件
- java的重载、覆盖和隐藏的区别
- Java数据持久层框架 MyBatis之背景知识二
- Java 中的“点点点” 什么意思? Java中 … 三个点是什么意思?
- 国内国外最好的java开发论坛及站点 [转]
- Java-final修饰符
- Android+ eclipse开发快捷键
- MyEclipse集成Gradle
- Spring+SpringMVC+mybatis入门(环境搭建+crud)
- Java反射机制详解
- java中ListView的item点击事件监听拟人理解。