变量、常量、数据类型
来源:互联网 发布:按摩棒 知乎 编辑:程序博客网 时间:2024/05/16 23:49
常量的概述和使用
A、什么是常量
在程序执行的过程中其值不可以发生改变
B、Java中常量的分类
字面值常量
自定义常量
C、字面值常量的分类
字符串常量 用双引号括起来的内容
整数常量 所有整数
小数常量 所有小数
字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
布尔常量 只有true和false
空常量 null
变量
定义:在程序执行的过程中,在某个范围内其值可以发生改变的量
格式:数据类型 变量名 =变量值
例:int a = 1; String str = “abc”;
为什么要定义变量
用来不断的存放同一类型的变量,并可以重复使用
定义不同数据类型的变量
A:为什么有数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
B:Java中数据类型的分类
基本数据类型
引用数据类型
面向对象部分讲解
C:基本数据类型分类(4类8种)
整数型
byte 占一个字节 -128到127
short 占两个字 -2^15~2^15-1
int 占四个字节 -2^31~2^31-1
long 占八个字节 -2^63~2^63-1
浮点型
float 占四个字节 -3.403E38~3.403E38
double 占八个字节-1.798E308~1.798E308
字符型
char 占两个字节 0~65535
布尔型
boolean
boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小
使用变量的注意事项
a:作用域问题
同一个区域不能使用相同的变量名
b:初始化值问题
局部变量在使用之前必须赋值(我们现在所使用的变量都是局部变量,因为都是定义在方法中的)
数据类型转换之隐式转换
A:案例演示
a:int + int
b:byte + int
B:Java中的默认转换规则
取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
数据类型转换之强制转换
A:强制转换问题
int a = 10;
byte b = 20;
b = a + b;
B:强制转换的格式
b = (byte)(a + b);
C:强制转换的注意事项
如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同
注意:
进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
byte,short,char -- int -- long -- float -- double(依次向右提升)
变量相加和常量相加的区别
题目:
看下面的程序是否有问题,如果有问题,请指出并说明理由。
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
回答:
b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
byte类型的变量在进行运算的时候,会自动类型提升为int类型
byte b4 = 3 + 4;
3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
long与float的取值范围谁大谁小
A:它们底层的存储结构不同。
B:float表示的数据范围比long的范围要大
long:2^63-1
float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
几个基本类型的取值范围如下:byte,short,char < int < long < float < double
不同进制数据的表现形式
A、二进制的数据表现形式
由0,1组成,以0b(b可以大写也可以小写)开头
B、八进制的数据表现形式
由0,1,...7组成,以0开头
C、十进制的数据表现形式
由0,1,2,......9组成,整数默认是十进制的
D、十六进制的数据表现形式
由0,1.....9,a,b,c,d,e,f(大小写均可)组成。以0x开头
- 数据类型、常量和变量
- 数据类型、变量与常量
- 数据类型-变量与常量
- 数据类型 变量与常量
- 变量、常量、标识符、数据类型
- 变量,常量,数据类型
- Java常量、变量、数据类型
- 变量、常量、数据类型
- 常量、变量、数据类型
- 数据类型与常量变量
- 数据类型、变量、常量、数据类型转换
- c++数据类型--文字常量、变量
- C++数据类型-常量和变量
- 3.变量常量和数据类型
- 基本数据类型----常量与变量
- 【基本数据类型】常量与变量
- 关于变量、常量和数据类型
- 2.2数据类型、变量和常量
- MySQL无法正常启动的解决方案及环境变量配置
- 解决jsp页面URL传值中文乱码问题
- 每日一题 No.48 单源最短路径问题2(Dijkstra算法)
- 动画性能优化实用方法整理
- 数据结构mooc课小结(2.1)
- 变量、常量、数据类型
- http://color-themes.com/
- Bridge桥接模式
- python实现简单的汉诺塔问题
- malloc函数是C/C++中常用内存分配库函数,本篇文章将以Linux平台上的malloc为剖析对象,深入了解分配一块内存的旅程。
- C语言常量表达
- iOS开发之检测网络链接的实际状态RealReachability
- java多线程(2):线程通信之生产者消费者模式及等待唤醒机制
- /*****/二叉树经典面试题