1.标识符:
    包含:英文字母 数字 $ _
    规范:
    类:首字母大写,后面每个单词首字母大写
    方法:首字母小写,后面每个单词首字母大写
    变量名:全部小写
    2.常量:整数,小数,字符,字符串,布尔,空(null)
    3.变量:
    基本数据类型:

    数据类型 关键字 包装类 取值范围 内存占用
    字节 byte Byte -128~127 1字节
    短整型 short Short -32768~32767 2字节
    整形 int Integer -32768~32767 4字节
    长整型 long Long -2^63~2^63-1 8字节
    单精度浮点数 float Float 1.4013E-45~3.4028E+38 4字节
    双精度浮点数 double Double 4.9E-324~1.7977E+308 8字节
    字符型 char Character 0-65535 2字节
    布尔类型 boolen Boolean true,false 1字节


    格式:数据类型 变量名 = 数据值;
    例子:long l =12345678900L ; float f = 5.5F ;
    注意:long 和 float 类型数据后面建议加L和F
    4.数据类型转换:
    自动转换:将取值范围小的类型自动升为取值范围大的类型
    byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
    强制转换:数据类型 变量名 =(数据类型)被转数据值;
    原理:浮点数转整数直接取消小数点
    整数之间转换,去掉范围小的类型前面的字节
    3.运算符:
    三元运算符:数据类型 变量名 = 布尔表达式 ? 结果1:结果2 ;
    意义:若布尔表达式的为true,则变量赋值结果1,否则赋值结果2。
    4.方法:
    修饰符 返回值类型 方法名(参数列表) { 代码片段 }
    注意:简单来说就是比c中的函数多了之前的修饰符,而这个修饰符因为java本身就是在一个类里面写的所以有public和private之分,还可以加static表示静态,通常写的话就是public static。
    5.流程控制语句:if~else switch for while do~while break continue
    6.Java项目结构:
    一个项目中,分为几个模块,而每个模块内又有几个包,包内包含我们的class类,类写源代码。
    image.png
    7.方法
    格式:

    1. 修饰符 返回值类型 方法名(参数列表) {
    2. 代码;
    3. return 结果;
    4. }
    5. 修饰符:public static 固定写法

    方法重载:在一个类中允许存在同名方法,但是参数列表不同
    调用:通过写入不同类型或者数量的参数来调用不同方法
    注意:不同的仅仅是参数列表,返回值,名称,修饰符都不变
    8.数组
    定义格式:数据类型[] 变量名 = new 数据类型[长度];
    方法:通过length方法可以获得数组长度
    注意:
    a.与c不同的一点是java数组可以用变量作为数组长度
    b.数组可以作为方法的参数或者返回值,实质上地址传递
    9.JAVA内存划分
    栈(Stack):存放的都是方法中的局部变量,方法运行在栈内存中,使用完之后出栈。
    作用域:大括号内,一旦超出作用域,立刻从栈内存中消失
    堆(Heap):new出来的变量
    特点:
    a.堆内存里的东西都有一个16进制的地址值,用来传递和使用
    b.堆内存里的东西都有默认值:整数(0) 浮点数(0.0) 字符(‘\u0000’) 布尔(false) 引用类型(null)
    方法区(Method Area):存储类(class)相关信息,包含方法的信息(但是方法运行还是在栈当中)
    本地方法栈(Native Method Stack):与操作系统有关
    寄存器(pc Register):与CPU有关
    10.增强for循环:
    格式:for(集合/数组存储的数据类型 自定义变量名:集合名/数组名){ 遍历操作 }
    注意:增强for循环只能是集合或者数组使用