Java的基础语法: 常量,数据类型,变量
Posted Mr.Sherlock
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的基础语法: 常量,数据类型,变量相关的知识,希望对你有一定的参考价值。
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的基础语法: 常量,数据类型,变量的主要内容,如果未能解决你的问题,请参考以下文章