一、数据类型
**java中的变量必须先定义后使用,否则报错**
示例1:未初始化
示例2:赋的值不符合定义的类型
示例3:正确用法
二、基本类型
1、整数类型
byte:占1个字节
short:占2个字节
int:占4个字节
long:占8个字节
2、浮点类型
float :占4个字节
double:占8个字节
3、字符类型
char:占2个字节
4、boolean类型
占1位,只有 true 与 false 2个值
5、示例:
public class Demo02 {
public static void main(String[] args) {
//8个基本类型
int num1 = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //Long类型要在数字后加个L
float num5 = 40.5F; //float类型后加F
double num6 = 3.141592653589793238462643;
char name = 'a';
String name1 = "love java";
boolean flag = true;
boolean flag1 = false;
System.out.println(name1);
System.out.println(num1);
}
}
6、拓展
1、Java中的进制表示:
二进制:0b
八进制:0
十进制:
十六进制:0x
示例:
2、转义字符
\t:制表符
\n:换行
3、一个面试问题
public class Demo3 {
public static void main(String[] args) {
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb);
String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd);
//从内存角度分析
}
}
运行结果:
二、类型转换
1、java是强类型语言,有些运算中需要用到类型转换
2、转换优先级
低----------------------------------------------------------------->高
byte, short, char----->int----->long----->float----->double
3、不同类型的数据必须转换成同类型的,再进行运算
强制转换:高–>低
自动转换:低–>高
4、一个问题
public class Demo04 {
public static void main(String[] args) {
int a = 128;
byte b = (byte) a; //强制转换
System.out.println(a);
System.out.println(b);
}
}
输出:
5、注意点
1、不能对布尔值进行转换
2、不能把对象类型转换成不相干的类型
3、在把高容量转换成低容量的时候,强制转换,反之不动
4、转换的时候可能存在内存溢出的问题,或者精度的问题!