【JavaSE学习笔记】数据类型与变量
- 一、字面常量
- 二、数据类型
- 三、变量
- 变量种类
- (一)整型变量
- (二)浮点型变量
- (三)字符型变量
- (四)布尔类型变量
- 类型转换
- (一)自动类型转换(隐式)
- (二)强制类型转换(显式)
- 类型提升
- 四、字符串类型
- 五、结束语
一、字面常量
- 概念
常量就是程序在运行期间,固定不变的量。 - 分类
(1)字符串常量
(2)整型常量
(3)浮点数常量
(4)字符常量
(5)布尔常量
(6)空常量
public class Main {
public static void main(String[] args) {
System.out.println("Hello");//字符串常量
System.out.println(123);//整型常量
System.out.println(1.23);//浮点数常量
System.out.println('A');//字符常量
System.out.println(true);//布尔常量
//还有一种空常量null无法打印。
}
}
二、数据类型
在Java中数据类型主要分为两种:基本数据类型和引用数据类型。
基本数据类型有四类八种。
- 四类:整型、浮点型、字符型以及布尔型。
- 八种:
数据类型 | 关键字 | 包装类 | 内存占用 |
---|---|---|---|
字节型 | byte | Byte | 1字节 |
短整型 | short | Short | 2字节 |
整型(默认) | int | Integer | 4字节 |
长整型 | long | Long | 8字节 |
单精度浮点数 | float | Float | 4字节 |
双精度浮点数(默认) | double | Double | 8字节 |
字符型 | char | Character | 2字节(与C语言有差异) |
布尔型 | boolean | Boolean | 无明确规定 |
注:
- 字符串属于引用数据类型。
- 由于Java基本数据类型的内存占用固定,所以具有较好的可移植性。
- 浮点型和整型都是带符号的。
三、变量
变量就是程序中经常改变的量。数据类型就是用来定义不同种类的变量的。
定义变量的格式为:
数据类型 变量名=初始值;
变量种类
(一)整型变量
- 整型变量
- 长整型变量
- 短整型变量
- 字节型变量
同一类变量的不同种类型各有自己的作用,就像不同的人穿不同尺码的衣服,使用时选择合适的数据类型才是最好的。
(二)浮点型变量
- 双精度浮点型
在Java中, int除以int的值仍然是int。
浮点数是个近似值,并不是精确值。 - 单精度浮点型
(三)字符型变量
单引号加单个字母表示。
C语言用ASCII码表示字符(占一个字节),Java用Unicode表示字符(占两个字节),表达含义更丰富,甚至可以表示中文。
(四)布尔类型变量
只有两种取值:true表示真,false表示假,不能与int相互转化。(C语言中0为假,非0为真,可以与int相互转化。)
类型转换
当参与运算的数据类型不一样时就需要进行类型转换后,才能继续运算。
(一)自动类型转换(隐式)
数据范围小的转化为数据范围大的,会自动进行。(不用任何处理,编译器在代码编译时自动处理。)
public class Test001 {
public static void main(String[] args) {
int a=10;
long b=a;//a自动转换为long类型,再进行赋值。
System.out.println(b);
}
}
(二)强制类型转换(显式)
数据范围大的转化为数据范围小的,不会自动进行。有可能会造成精度丢失,使用即代表你对这个转换造成后果负责。
public class Test001 {
public static void main(String[] args) {
long b=10;
int a=(int)b;//b被强制转换为int类型,再赋值给a,如果超过int范围会丢失精度。
System.out.println(a);
}
}
类型提升
- 不同类型数据之间相互运算,数据类型小的会被提升到数据类型大的。
- 计算机CPU通常按四个字节为单位从内存中读写数据,byte和short(小于四个字节的类型)一般会提升成int,再运算。
public class Test001 {
public static void main(String[] args) {
byte a=10;
byte b=20;
int c=a+b;//若此处c为byte类型,会报错(因为a+b已经被系统默认转换为int类型了)。
System.out.println(c);
}
}
四、字符串类型
- 把int转换为String。
public class Test001 {
public static void main(String[] args) {
int a=100;
//方法一:数字与""拼接。
String s1=a+"";
//方法二:调用类方法。
String s2=String.valueOf(a);
System.out.println(s1+s2);
}
}
- 把String转换为int。
public class Test001 {
public static void main(String[] args) {
String s1="100";
//调用类方法。
int a=Integer.parseInt(s1);
System.out.println(a);
}
}
五、结束语
我是小邓,一个励志写好代码挣大钱的男人。希望通过博客在记录自己的学习历程的同时,认识更多志同道合的朋友。如果您觉得我的文章对您有帮助的话,请不要吝惜您的一键三连(点赞关注加收藏),这对我很重要,谢谢!