01-Java基本语法

  1. 四类八种基本数据类型,不包括字符串;引用数据类型包括数组……
  2. 常量:程序运行期间内容不可改变的量。
    在这里插入图片描述
  3. 变量:每次每个变量只能保存一个数据变量,必须确定数据类型,
  4. 类型转换:
    ·  自动类型转换:范围小的类型向范围大的类型提升。
    byte、short、char -》int -》long-》float-》double
     与字节数不一定相关。
    在这里插入图片描述
    · 强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型
     例如:int i = (int)1.5;
  5. 数组:引用数据类型
    ·  数组的长度在程序运行期间不可改变。可以改变称号。
    在这里插入图片描述
    · 初始化:
  6. 动态初始化(指定长度)
    int[] a = new int[3]; // 定义可以存储3个整数的数组容器
    可拆分成:
    int[] a;
    a = new int[3];
  7. 静态初始化(指定内容)自动推算出长度
    标准格式:
    int[] a = new int[] {1, 2, 3}; // 一个数组,里面有1,2,3
    可拆分成:
    int[] a;
    a = new int[] {1, 2, 3};
    省略格式:(不能拆成两个步骤)
    int[] a = {1, 2, 3};
  8. java内存划分:
    Java 内存需要划分成5个部分:
  9. 栈(Stack):存放的都是方法中的局部变量。方法运行一定要在栈当中。
    局部变量:方法的参数或是方法体内部的变量
    作用域:一旦超出作用域,立即从栈内存中消失
  10. 堆(Heap):new出来的都在堆中
    堆内存里面存放的东西都有一个地址值:16进制(0x)
整数 默认0
浮点数 0.0
字符
布尔
引用 Null
  1. 方法区(Method Area):存储.class相关信息,包含方法的信息。(名字,参数,返回值)
  2. 本地方法栈(Navitive Method Stack):与操作系统相关
  3. 寄存器(pc Register):与cpu相关

一个数组的内存图
在这里插入图片描述

两个引用指向同一个内存图
在这里插入图片描述

  1. 数组的长度:a.length
  2. 数组可以作为方法的参数,当调用方法的时候,传参进去的是地址值。
  3. 方法只能有一个或者0个返回值。多个数据返回,可用数组。返回的也是数组的地址值。
    public static int[] calculate(int a, int b, int c) {
    ……
    int[] array = {sum, avg};
    return array;
    }