第一天学习:数据类型、运算符、数组

编写HelloWorld

  1. JDK和JRE关系     JRE:JVM+核心类库。    JDK:  JRE+开发人员使用的工具。        JDK > JRE > JVM
  2. DOS常用命令:盘符名:  (盘符切换命令)           dir(查看当前文件夹)        cd 文件夹名 (进入文件夹命令)            cd..(退出文件夹命令)     cd\(退出到磁盘根目录)              cls(清屏)       
  3. 编译:javac 源文件名.后缀名(举例:java HelloWorld.java)
  4. 运行:java 类名字(java HelloWorld)
  5. 关键字:public class static void 
  6. 标识符: 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。
  7. 基本数据类型分类:四类八种基本数据类型:整数、浮点数、字符、布尔。               字节型、短整型、整型、长整型、单精度浮点数、双精度浮点数、字符型、布尔类型。
  8. 引用类型:类、接口、数组

数据类型转换

  1. 自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型 。
  2. 强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。
  • 数据类型 变量名 = (数据类型)被转数据值;
  •  // double类型数据强制转成int类型,直接去掉小数点
  •   int i = (int)1.5;

注意:浮点转成整数,直接取消小数点,可能造成数据损失精度。

     int 强制转成 short 砍掉2个字节,可能造成数据丢失。

运算符

  1. 算术运算符:注意a++和++a区别复制与那算符
  2. 赋值运算符:=          +=(+= 是一个运算符,只运算一次,并带有强制转换的特点,)            -=           /=          %=
  3. 比较运算符:==                       <                          >                        <=                         >=                !=
  4. 逻辑运算符:        &&短路与        ||短路或        !取反
  5. 三元运算符:

    数据类型 变量名 = 布尔类型表达式?结果1:结果2

    布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。

    布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

     

    方法入门

  6. 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。

    修饰符 返回值类型 方法名 (参数列表){

    代码...

    return ;

     

    举例:

    public static void methodName() {

    System.out.println("这是一个方法");

    }

    JShell脚本工具

  7. 当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运 行,这个时候可以使用JShell工具。 启动JShell工具,在DOS命令行直接输入JShell命令。JShell工具,只适合片段代码的测试,开发更多内容,建议编写在方法中。
    流程控制语句
     
  8. 判断语句、选择语句、循环语句、跳出语句(break、continue)、死循环、嵌套循环
  9. IDEA的使用
  10.  调用方法的三种形式:直接调用、赋值调用、输出语句调用
  11. 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返

    回值类型无关。

    参数列表:个数不同,数据类型不同,顺序不同。

    数组3种定义和访问

  12. 数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。

    1. 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度];
      int[] arr = new int[3];
    2. 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
      int[] arr = new int[]{1,2,3,4};
    3. 数据类型[] 数组名 = {元素1,元素2,元素3...};
      int[] arr = {1,2,3,4,5};
    4. 索引访问数组中的元素:
      数组名[索引]=数值,为数组中的元素赋值   arr[0] = 1;
      变量=数组名[索引],获取出数组中的元素   int i = arr[0];
  13. JAVA虚拟机的内存划分
    寄存器                     给CPU使用,和我们开发无关。
    本地方法栈            JVM在使用操作系统功能的时候使用,和我们开发无关。
    方法区                    存储可以运行的class文件。
    堆内存                    存储对象或者数组,new来创建的,都存储在堆内存。
    方法栈                    方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
  1. 一个数组内存图
    1. 第一天学习:数据类型、运算符、数组
  2. 两个数组内存图
    1. 第一天学习:数据类型、运算符、数组

  3. 两个变量指向同一个数组第一天学习:数据类型、运算符、数组

  4.  

     

     

    typora

数组异常

  1. 数组越界异常:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 
  2. 数组空指针异常:Exception in thread "main" java.lang.NullPointerException

数组遍历(重点)

  1. 遍历、数组获取最大值元素、数组反转

数组作为方法参数和返回值

  1. 数组作为方法参数传递,传递的参数是数组内存的地址。
  2. 数组作为方法的返回值,返回的是数组的内存地址

方法的参数类型区别(易错)

方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值
 
 

面向对象 三大基本特征:封装、继承、多态

  • 类的定义
定义类:就是定义类的成员,包括成员变量成员方法
成员变量:和以前定义变量几乎是一样的。只不过位置发生了改变。在类中,方法外
成员方法:和以前定义方法几乎是一样的。只不过static去掉static的作用在面向对象后面课程中再详细
讲解。
public class Student {
    //成员变量
     String name//姓名
     int age//年龄
     //成员方法
     //学习的方法
     public void study() {
          System.out.println("好好学习,天天向上");
}
     //吃饭的方法
    public void eat() {
    System.out.println("学习饿了要吃饭");
    }
}
  • 对象的使用
创建对象:类名 对象名 = new 类名();
使用对象访问类中的成员:  对象名.成员变量;    对象名.成员方法()