目录
前言
我们将在这篇文章中,了解并梳理数据类型和变量的相关知识
一. 字面常量
public class Test {
public static void main(String[] args) {
//字面常量的分类:
System.out.println("hello"); //字符串常量
System.out.println(100); //整形常量
System.out.println(10.5); //浮点数常量
System.out.println('S'); //字符常量
System.out.println(false); //布尔常量
System.out.println(true); //布尔常量
}
}
二.数据类型
数据类型分为两大类:基本数据类型,引用数据类型
1. 基本数据类型
总的来说,基本数据类型有 : 4类8种
2.引用数据类型
string 数据 接口 类
三.变量
相信大家都知道变量的含义,在这里在提一下变量定义的语法格式哈
数据类型 变量名=初始值
这就是数据类型和变量之间的关系,接下来,我们看看8个变量
1.整型变量
1.1整型变量
整型变量在定义时,在使用前必须进行初始化赋值,否则会咋i编译期间报错
Integer是int的包装类型
//int变量的取值范围:
System.out.println (Integer.MIN_VALUE); -2147483648
System.out.println (Integer.MAX_VALUE); 2147483647
//若超过取值范围,也会报错
1.2长整型变量
//长整形 8个字节,63个比特位表示数值位
long a=10L;// 数值后加 L 表示是长整型变量
System.out.println(a);
System.out.println(Long.MAX_VALUE); 9223372036854775807
System.out.println(Long.MIN_VALUE); -9223372036854775808
1.3短整型变量
//短整形 4个字节,31个比特位表示数值位
short a=10;
System.out.println(a);
System.out.println(Short.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
1.4字节类型变量
byte b=1;
System.out.println(b);
System.out.println(Byte.MAX_VALUE);
System.out.println(Byte.MIN_VALUE);
2.浮点数变量
2.1双精度变量
double的包装类型为Double
int a=1; int b=2; System.out.println(a/b);在这里输出的值为0,和c一样,但是在double情况下,会输出0.5,
还可以这样:会输出0.5,
int a=1;
int b=2;
System.out.println(a*1.0/b);
有个点在这里提一下
double c=1.1;
System.out.println(c*c);
如上,输出结果为1.2100000000000002,这说明什么?
小数,并不是精确的数,知识精确到小数点后几位而已。
2.1单精度变量
t=1.0默认状态下是double型,所以避免错误,在后面加个f
float t=1.0f;
System.out.println(t);
注:出来int型的包装类型为integer,其余的都是首字母大写
3.字符型变量
char c1='a';
char c2='2';
System.out.println(c2);
注意:Java中使用单引号+单个字母 的形式表示字符字面值
Java中可以存放整型
Java中使用uncoide表示字符,一个字符两个字节,表示的字符种类就多
char的包装类型为Character
4,布尔型变量
boolea 类型的变量只有两种取值,true和false
Java的boolean类型和int不能相互转换,不粗在1表示true,0表示false这样的用途
boolean的包装类型是Bolean
四.类型转换
java作为一个强类型的编程语言,当不同类型之间的变量相互赋值的时候,就会有严格的校验
当运算数据类型不一致的时候,就会进行类型转换,java中分为两类转换:
1.自动类型转换(隐式),2强制类型转换
1.1.自动类型转换(隐式)
自动类型转换,:代码不需要经过任何处理在代码编译是,编译器会自动进行处理
特点:数据范围小的转化为数据范围大的时候会自动进行
System.out.println(1021);//默认为int型 System.out.println(10.2);//默认为double型
上面提到过,数据类型的转换需要注意:小换大,大换小(可能会出现报错)
2.强制类型转换(显示)
强制类型转换:当金星操作是,代码需要经过一点过的格式处理,不能自动完成
特带你:数据范围大的到数据范围小的
int =10;
long b=100;
a=(int)b;//long-->int,数据范围大的到数据范围小的,需要强转,否则编译失败
五.字符串类型(引用数据类型)
在Java中,看下面的代码,hello后面不跟任何东西,仅有这5个,而在C语言中后面是/0结尾;
String str ="hello";
System.out.println(str);
System.out.println(str.Length());//求长度
字符串和整形的转换可以是这样的:
将字符串变为整形打印输出
String str1 ="234";
int val=Integer.valueOf(str1);
System.out.println(val);
将整形变为字符串打印输出
int val2=123;
String str2=String.valueOf(val2);
System.out.println(str2);
还有几个有趣的代码:
int a=10; int b=20; System.out.println("a="+a+"b="+b);//字符串 拼接 其他==字符串 System.out.println(a+b); 答案是:
int a=10;
int b=20;
System.out.println("a+b="+a+b);//字符串 拼接 字符串==字符串
System.out.println(a+b+"a+b=");
总结
---------------------------------------------------------------------------------------——-------------===-------------------------------------=====