欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从头开始学Java(二)

程序员文章站 2022-05-23 11:07:03
...

整型变量

类型 占用存储空间 范围
byte 1字节,8位 -128~127
short 2字节,16位 -215~215-1
int 4字节,32位 -231~231-1
long 8字节,64位 -263~263-1

整型变量用于表示整数
n = 类型所占位数
数据类型所表示的范围=-2(n-1)~2(n-1)-1
变量被赋予的值不能超出它的类型所能表示的范围
long型变量必须以l或L结尾,但为了防止与1混淆,推荐使用以L结尾
通常情况下使用int型定义整型变量

浮点型变量

float(单精度)
只能保留8位有效数字
尾部必须接有f或F
double(双精度)
只能保留16位有效数字
尾部接上的d或D可省去不写
通常使用浮点型类型时选择double

字符型变量

只能被赋予一个字符,可以为空格,但不能不写。
转义字符也是一个字符
char底层的实现也是数字类型,所以他可以和int类型相互转化,也因此,char类型字符可以进行运算。最终运算结果将转换为int类型。
例如:
char a = ‘a’;
char b = 97;
字符变量a和字符型变量b最终的输出结果一致都为a。
Java中还允许使用Unicde值表示字符型变量
例如:
char c = ‘\u0061’;
最终输出的结果也是a。
实际上Java中的字符转化成int整型数值后,再将其转化后的整型数值从10进制转化成16进制就是该字符相对应的Unicode值。
所以我们可以通过Integer.toHexString(“a”.charAt(0))方法来获取字符的Unicode值。

public class Char_test {
	public static void main(String[] args) {
		char a = 'a';
		char b = 97;
		char c = '\u0061';
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println("a的Unicode编码为"+Integer.toHexString("a".charAt(0)));
		System.out.println("a的ASCII编码为"+(int)'a');
	}
}

从头开始学Java(二)

布尔型变量

只有true和false两个值

自动类型转换

自动类型转换
当取值范围小的数据类型与取值范围大的数据类型在做运算的时候,结果将自动提升为取值范围大的数据类型
byte——>short——>int——>long——>float——>double
byte、short、char相互进行运算时应该用int类型数据接收,这三种自身与自身进行运算也需要使用int类型数据接收。

强制类型转换

强制类型转换会导致丢失精度,但并不是一定会发生。
强制类型转换进行的是截取操作。
例如double类型的24.9被强制转换为int类型的值是24

String类型运算

String类型可以和其他类型数据进行运算,但运算都是连接运算,结果都为String类型。
String类型可以与其他类型数据进行运算,但是不能被直接赋予其他类型数据的值。可以通过与字符串运算的方式或String java.lang.String.valueOf()的方式进行赋值。
从第一个String变量参与运算后,之后所有的运算都为连接运算,但是在第一个String变量之前的运算还是按照常规运算顺序来