数据类型
强类型语言:
 要求变量的使用必须严格符合规定,使用变量都必须先定义后才能使用
Java的数据类型分为两大类:
1.基本类型(Primitive type)
- 
数值类型: - 
整数类型: - 
byte(占1个字节) byte num2 = 127; //byte值不超过127
- 
short(占2个字节) short num3 =10;
- 
int (占4个字节) int num1 = 10; //最常用
- 
long (占8个字节) long num4 = 10L; //Long类型要在数字后加一个L
 
- 
- 
浮点类型: - 
float (占4个字节) float num5 = 10.1F; //float类型要在数字后加一个F
- 
double(占8个字节) double num6 = 50.5;
 
- 
- 
字符类型: - 
char (占2个字节) //字符:指计算机中使用的字母、数字、字和符号 char name = '中'; //字符代表的是一个字,用单引号表示 //字符串 //String不是关键字,是一个类。 //name是关键字,所以用namea String namea = "中国";
 
- 
 
- 
- 
boolean(布尔)类型: //代表是非 boolean flag = true; boolean flag1 = false; ```
2.引用类型(reference type)
1.类  2.接口  3.数组
注意点
1.定义了某个变量和数据类型,没有经过转化的话,则永远是这个类型。
2.由于java是强类型语言,进行一些运算的时候,需要用到类型转换
1bit表示1位
1Byte表示一个字节1B=8b
1024B=1KB
1024KB=1M
1024M=1G
1024G=1TB
拓展
▶️整数拓展:
//进制  二进制0b  十进制 八进制0  十六进制0x
int i =10;
int i2 = 010; //八进制0;011输出9,以此类推
int i3 = 0x10; //十六进制0x;0x11输出17,以此类推
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
▶️浮点数拓展:
//float 有限 离散 舍入误差 大约 接近但不等于
//最好不使用浮点数进行比较 
System.out.println("========================");
        float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d);
 System.out.println("========================");
        float f1 = 213133222f;
        float f2 = f1 +1;
        System.out.println(f1==f2);
▶️字符拓展:
//所有的字符本质还是数字
//编码 Unicode表  (a=97  A=65) 
System.out.println("========================");
  char c1 = 'a';
  char c2 = '中';
  char c3 = 'A';
  System.out.println(c1);
  System.out.println((int)c1);
  System.out.println(c2);
  System.out.println((int)c2);
  System.out.println(c3);
  System.out.println((int)c3);
▶️转义字符:
//  \t制表符
//   \n换行
//  .....
System.out.println("========================");
System.out.println("Hello\tWord");
System.out.println("Hello\nWord");
System.out.println("Hello.....Word");
▶️理解:
System.out.println("========================");
String a = "HelloWord";
String b = "HelloWord";
System.out.println(a==b);
String a1 =new String("HelloWord") ;
String b1 = new String("HelloWord");
System.out.println(a1==b1);
//从对象,内存去理解
//两个有new的,比较的是两个对象在堆区所在的地址,显然这个地址是不同的,这就说明,每次对象进行new操作后,系统都为我们开辟堆区   空间,虽然值是一样,但是地址却是不一样的
//两个没有new的,比较的是具体的值,即“HelloWord”
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号