一、变量类型分类
一个变量的类型,决定了该变量可以包含什么样的值。
- Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。
-
这八种基本类型分别是:
- 整型 (4种)
- 字符型 (1种)
- 浮点型 (2种)
- 布尔型(1种)
二、整型
-
整型变量用于存放整数
- byte
- short
- int
- long
-
区别在于不同类型的整型,最大值,最小值不一样
- 如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误,这个时候就需要进行类型转换
public class HelloWorld{
public static void main(String[] args){ byte b = 1; short s = 200; int i = 300; long l = 400;
/*如果试图给byte类型的变量赋予超出其范围的值,就会产生编译错误*/ byte b2 = 200; } } |
三、字符型
- char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
- 其长度和short一样,也是16位的
- 只能存放一个字符,超过一个字符就会产生编译错误
public class HelloWorld{ public static void main(String[] args){ char c = '新'; //char 只能存放一个字符,超过一个字符就会产生编译错误 char c2 = '新疆'; //报错 char c3 = 'xj'; //报错 } } |
四、浮点型
-
浮点数类型有两种
- float 长度为32位
-
double 长度为64位
- 注意:默认的小数值是double类型的
- 所以 float f = 54.321会出现编译错误,因为54.321的默认类型是 double,其类型 长度为64,超过了float的长度32
- 在数字后面加一个字母f,直接把该数字声明成float类型
- float f2 = 54.321f,
- 这样就不会出错了
public class HelloWorld{ public static void main(String[] args){ double d = 123.45; //该行会出现编译错误,因为54.321是double型的 float f = 54.321; float f2 = 54.321f; } } |
五、布尔型
- 布尔型用于表示真假
- 其长度为1
boolean b1 = true; boolean b2 = false; |
- 分别代表真假
- 虽然布尔型真正存放的数据是0(false) 1(true)
-
但是,不能直接使用0 1 进行赋值
public class HelloWorld { public static void main(String[] args) { boolean b1 = true; boolean b2 = false; // 虽然布尔型真正存放的数据是0(false) 1(true) // 但是,不能直接使用0 1 进行赋值 boolean b3 = 1; } } |
六、String类型
- String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。
- String类型是Immutable的,一旦创建就不能够被改变,请参考String
public class HelloWorld { public static void main(String[] args) { String str = "Hello Java"; } } |
七、练习
题目:
分别为如下值,找到合适的类型来定义
3.14
2.769343
365
12
'吃'
false
"不可描述"
比如3.14就使用double
double a = 3.14; |
官方答案:
public class HelloWorld { public static void main(String[] args) { double pi = 3.14; double e = 2.769343; short days = 365; byte months = 12; char chi = '吃'; boolean die = false; String fucking = "不可描述"; } } |
个人整理答案: