java基础(二):变量和数据类型
1. java的基本数据类型
java是一种强类型语言,每个变量都必须声明其类型。
2.变量
变量:一个数据存储空间的表示。
不同数据存入具有不同 内存地址的空间,相互独立
使用变量的步骤:
变量命名规则:
变量命名规范:
通常第一个单词的首字母小写,其后单词的首字母大写。
关键字/保留字:
先声明变量并赋值,然后才能使用。
int %hour = 18; 代码错误 ,变量名不能以%开始
局部变量和实例变量
局部变量:方法或语句块内部定义的变量 在使用前必须先声明和初始化(赋初值)。
实例变量(成员变量): 方法外部、类的内部定义的变量 如果不自行初始化,他会自动初始化成该类型的默认初始值(数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0 ,布尔型默认是false)
常量定义:
使用关键字 final
final double PI = 3.14;
常量只能被初始化一次。
命名规范
- 所有变量,方法,类名:见名知意
- 变量、方法名:
- 首字母小写,和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则
java语言支持的运算符
^ 按位异或
~ 取反
>>> 无符号右移:忽略符号位,空位都以0补齐
例如:4的2进制表示为 100
>> 1 右移1位 二进制为 10 ,十进制为2
<< 1 左移1位,二进制为1000, 十进制为8
>>> 1 无符号右移1位 二进制为 10
二元运算符类型提升:
整数运算: 如果两个操作数有一个为Long, 则结果也为long 没有long时,结果为int。
即使操作数全为shot,byte,结果也是int.
浮点运算: 如果两个操作数有一个为double, 则结果为double. 只有两个操作数都是float, 则结果才为float.
逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。
字符串连接符
“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。
三目条件运算符
语法格式: x ? y : z
自动类型转换:
容量小的数据类型可以自动转换为容量大的数据类型。
优化: 可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围
例如:
short b = 12; //合法
short b = 1234567; //非法
黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。
自动类型转换规则:
1.满足自动类型转换的条件 两种类型要兼容: 数值类型(整型和浮点型)互相兼容
2.目标类型大于源类型: 例如:double 型大于 int 型
强制类型转换
又被称为造型,用于显式的转换一个数值的类型.
在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
语法:
(类型名)表达式
int b = (int)10.2;
小数格式化:
import java.text.DecimalFormat double a = 2.3659874; //小数格式化,引号中的0.000表示保留小数点后三位(第四位四舍五入) DecimalFormat df = new DecimalFormat("0.000"); String num = df.format(a); System.out.println(num);