码迷,mamicode.com
首页 > 编程语言 > 详细

Java的基础语法(二): 常量,数据类型,变量

时间:2019-10-20 18:08:11      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:strong   body   编译   代码块   json   基础   大写   char   计算   

4.常量

①.定义: 在程序执行过程中,其值不可以发生改变

②.分类:

整数常量: 所有整数

小数常量: 所有小数

字符常量: 用单引号括起来的内容,里面只能放单个数字/单个字母/单个符号(可以是空格字符,但不能什么都不放)

字符串常量: 用双引号括起来的内容(长度可以为0,即空字符串"")

布尔常量: 只有true和false

空常量: null

5.数据类型

①.意义: Java是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配配了不同大小的内存空间

②.分类: 基本数据类型, 引用数据类型

基本数据类型(4类8种): 整数型, 浮点型(小数型), 字符型, 布尔型

类型 种类 占用字节大小 取值范围
整数型 byte 一个字节 -128 ~ 127
short 两个字节 -2^15 ~ 2^15-1
int 四个字节 -2^31 ~ 2^31-1
long 八个字节 -2^63 ~ 2^63-1
浮点型 float 四个字节 单精度
double 八个字节 双精度
字符型 char 两个字节 0 ~ 65535
布尔型 boolean 无明确大小 true 和 false

 

 

 

 

 

 

 

 

 

引用数据类型: 字符串, 数组, 类, 接口等

注意:

a.Java中整数默认是int类型, 小数默认是double类型 

b.给变量赋值时, 如果是float/long类型, 需要在变量值后加F或L做标识(建议用大写字母)

③.数据类型转换

隐式转换: 数据范围由小 -> 大

int a = 10;
byte b = 20;
隐式转换: a = a+b;  //计算时,系统会默认把byte类型提升为int类型

强制转换: 数据范围由大 -> 小

int a = 10;
byte b = 20;
强转格式: b = (byte) (a+b);  //计算时,a+b结果默认是int
注意: 如果超出了被赋值变量的数据类型的取值范围,则整数会数据溢出, 小数会损失精度

6.变量

①定义: 在程序执行过程中,在某个范围内其值可以发生改变的量

格式: 数据类型 变量名 = 变量值;

注意: 

a.同一区域内不能使用相同的变量名

b.局部变量在使用之前必须先赋值(如果只声明而不使用,可以不赋值)

c.一条语句可以定义多个变量(栗子: int a,b,c ... ;)

d.变量使用不能超过其作用域范围(栗子: 局部代码块内声明的变量只在该代码块{}内有效)

☆.拓展:

①.变量相加和常量相加的区别:

byte a = 3;
byte b = 4;
//变量相加
byte c1 = a+b;
//常量相加
byte c2 = 3+4;
结论:
变量相加: 变量存储的值是变化的,在编译时无法判断该变量具体的值,相加的结果可能会超出byte取值范围
常量相加: Java编译器有常量优化机制,3和4提升为int在计算后会判断其结果是否在byte取值范围内

②.混合运算时的类型转换:

1.整数型,浮点型,字符型的混合运算:
byte,short,char -> int -> long -> float -> double
1).byte,short,char之间不会相互转换,都会自动提升为int类型;
2).其他类型进行混合运算时,小的数据类型会自动提升为大的;
2.字符和字符串参与运算: 任何数据类型用+号与字符串相连接,都会产生新的字符串
栗子:
‘a‘+1: 输出98(ASCII码表中,a字符对应int数值97) (char)(‘a‘+1): 输出b字符 "hello"+‘a‘+1: 输出helloa1 ‘a‘+1+"hello": 输出98hello

③.ASCII码表

↓ASCII码对照表,请戳这里:↓

https://www.sojson.com/asciitable.html

 

Java的基础语法(二): 常量,数据类型,变量

标签:strong   body   编译   代码块   json   基础   大写   char   计算   

原文地址:https://www.cnblogs.com/Baker-Street/p/11707079.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!