学习目标:
- 常量;
- 数据类型;
- 变量;
1.常量
定义:常量即程序运行期间,固定不变的量称为常量.
字面常量的分类:
- 字符常量:由 ' ' (单引号)括起来的当个字符,比如:'A'、'1';
- 字符串常量: 由" "括起来的,比如"12345"、"hello"、"你好";
- 整型常量: 程序中直接写的数字(注意没有小数点),比如:100、9999';
- 浮点型常量: 程序中直接写的小数,比如:3.14、0.49
- 布尔常量:只有true和false;
- 空常量: null(在不知道输入什么值时可以进行一个占位)
注意:字符型、字符串型、整型、浮点型、布尔型在Java中都被成为数据类型.
2.数据类型
在Java中数据类型主要分为两类: 基本数据类型 和 引用数据类型 .
基本数据类型的八种:
注意:
- 不论是在32位系统还是64位系统中,int类型都占用4个字节,long都占8个字节.
- 整型和浮点型都是带有符号的.
- 整型默认为int型,浮点型默认为double.
变量
程序运行中有些数值是没有办法一直不变的,所以对于这些经常改变的内容,在java程序中,称为变量,而数据类型就是用来定义不同种类变量的.
语法格式为:
数据类型 变量名 = 初始值;
特殊写法:
long a = 1000_000_000L //可以通过末尾添加L的方式来区分int还是long
//可以通过在数字中间添加下划线来更好计算位数
变量使用注意事项:
- int除以int的值仍然会是int(当结果出现小数会直接舍弃),如果希望得到小数,就需要使用double类型计算;
- 浮点数与整数在内存中的存储方式不同,不能单纯使用
的形式来计算;
- double类型的内存布局遵守IEEE 754标准(和C语言一样),尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值;
类型转换
java是一个强类型的编程语言,不同类型之间的变量互相赋值时,会有严格的校验.
int a = 10;
long b = 100L;
b = a; //可以通过编译
a = b; //编译失败
当参与运算数据类型不一致时,就会进行类型转换。Java中类型转换主要分为两类:自动类型转换(隐式) 和 强制类型转换(显式)。
自动类型转换(隐式):
代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。
特点:数据范围小的转为数据范围大的时会自动进行,超过范围则编译错误。
强制类型转换(显式):
当进行操作时,代码需要经过一定的格式处理,不能自动完成。
特点:数据范围大的到数据范围小的。
使用方法:在需要转换的数据前加上(),在括号中输入要转换的类型。
int a = 10;
long b = 100L;
a = (int)b; //数据类型由大到小,需要强转,否则编译失败
注意事项:
- 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失
- 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查
- 强制类型转换不一定能成功,不相干的类型不能互相转换.
类型提升:
不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。
字符串类型:
在java中使用String类定义字符串类型,比如:
public static void main(String[] args){
String s1 = "hello";
String s2 = "world";
System.out.println(s1+s2); //s1+s2表示将s1和s2进行拼接
}
在有些情况下,需要将字符串与整型数字之间进行转换:
//int转成String
int num = 10;
//方法一
String str1 = num + "";
//方法二
String str2 = String.valueOf(num);
//String转成int
String str = "100";
int num = Integer.parseint(str);
感谢阅读,希望对你有帮助.