两种语言类型:
- Java 是强类型语言: - Java要求变量的使用严格符合规定,所有的变量必须先定义后使用。意思是,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了。 强类型语言包括Java、.net 、Python、C++等语言。 
 
- Java要求变量的使用严格符合规定,所有的变量必须先定义后使用。
- 弱类型语言: - 某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。
- 弱类型语言包括vb 、PHP、javascript等语言。
 
区别:
判别的根本是是否会隐性的进行语言类型转变。
强类型语言在速度上略逊于弱类型语言,但是强类型定义语言带来的严谨性又能避免不必要的错误。
数据类型:
Java的数据类型分两大类:
- 基本类型(Primitive type) - byte,占1字节范围(1B),-128 - 127
- short,占2字节(2B),-32768 - 32767
- int ,占4字节,(4B), -2147483648 - 2147483647
- long,占8字节,(8B)
- float,占4字节(4B),
- double,占8字节,(8B)
- char,占2字节(2B),(2B)
- boolean,点1个位(1b),
- PS: - 位(bit)是计算机内部存储的最小单位。
- 1个字节在计算机的存储形式为二进制 占8位,如11001100,
- 1b代表1个位,1B代表1个字节
- 1B= 8b,1024B = 1KB,1024KB =1MB,1024MB =1 GB
 
 
- 引用类型(Reference Type) 
示例,新建 Demo02.java
public class Demo2 {
    public static void main(String[] args) {
       //八大数据类型
        //数值
        //整数
        byte numByte = 10;
        short numShort = 20;
        int numInt = 30;
        long numLong = 40L; //long 数字后面加L表示
        //小数,浮点数
        float numFloat = 50.1F; //float 数字后面加F表示
        double numDouble = 50.2112;
        //字符
        char nameChar = 'a';
        //char nameChar1 = "a"; //不能""赋值,""是String类型
        //char nameChar11 = '国'; //一个中文是可以的
        //char nameChar12 = '中国'; //两个中文是不可以的
        //布尔值 只有2值,true or false
        boolean flag = true ;
        boolean flag2 = false ;
        //八大数据类型,都有对应Java定义好的类,
        //如 Byte Integer
        String a = "a";
        System.out.println(a);
    }
}
 再从头|再回首
再从头|再回首