Java

原因:2017年4月3日 星期一 拖延症之学习Java(个人兴趣)
说明:自从学了C之后变得懒惰至极,一直在前端和运维厮混没有入坑Java,自2014年唠叨入坑Java感受面向对象的乐趣至今仍旧没有刚过强迫症,本文定会是长文,排版及格式随时间线会更新,由于日常工作及健身时间较少,只能利用琐碎时间进行学习,故而定下flag学习周期为100天。
状态:updating now 2017-04-10 进度6/27
状态:updating now 2017-04-19 进度11/27

学习资料

  • 学习Java 8因为目测O司年底会放出Java 9,趁着版本稳定入坑慕课的Java职业成长路径,懒人不想自读官方文档及看书了,推视频毕竟能加快效率。
  • 使用版本:JDK 1.8.152
  • 系统版本:macOS Sierra 10.12.4
  • 使用编辑器:Intellij IDEA Ultimate 2017.1.2 EAP 及 Sublime。

基础语法

常量与变量

标识zhi





数据类型转换


  • 上图中自动类型转换虚线表示可能会有信息丢失的转换,实线表示无丢失的转换。

运算符




流程控制之选择结构

  • 这一部分讲解ifif elseswitch等常用流程控制选择结构,无难点不多言。

流程控制之循环结构

  • 这一部分讲解do whilewhilefor三种循环以及breakcontinue语句,无难点不多言。

数组之一维数组

  • 这一部分讲解数组的声明、创建等过程,与C语言不同的是,[]的位置比较有趣,比如创建一个长度为6的整型数组:
int[] intArray = new int[6]; //java整型创建默认值为0
  • 同样类似C的语法也可以写作:
int intArray[] = new int[6];

数组之二维数组

  • 二维数组的声明和创建
  • 二维数组的初始化
  • 二维数组的引用
package com.imooc.array;

public class ArrayDemo5 {
    public static void main(String[] args){
        //二维数组的声明
        //三种形式
        //声明int类型的二维数组
        int[][] intArray;
        //声明float类型的二维数组
        float floatArray[][];
        //声明double类型的二维数组
        double[] doubleArray[];
        //创建一个三行三列的int类型的数组
        intArray=new int[3][3];
        System.out.println("intArray数组的第3行第2列的元素为:"+intArray[2][1]);
        //为第2行第3个元素赋值为9
        intArray[1][2]=9;
        System.out.println("intArray数组第2行第3列的元素为:"+intArray[1][2]);
        //声明数组的同时进行创建
        char[][] ch=new char[3][5];
        //创建float类型的数组时,只指定行数
        floatArray=new float[3][];
        //System.out.println(floatArray[0][0]);
        //每行相当于一个一维数组,需要创建
        floatArray[0]=new float[3];//第一行有三列
        floatArray[1]=new float[4];//第二行有四列
        floatArray[2]=new float[5];//第三行有5列
        System.out.println(floatArray[0][0]);
        //System.out.println(floatArray[0][3]);//数组下标越界
        //二维数组的初始化
        int[][] num={{1,2,3},{4,5,6},{7,8,9}}; 
        System.out.println("num数组第1行第2列的元素为:"+num[0][1]);
        System.out.println("num数组的行数为:"+num.length);
        System.out.println("num数组的列数为:"+num[0].length);
        int[][] num1={{78,98},{65,75,63},{98}};
        System.out.println("num1数组的第1行的列数为:"+num1[0].length);
        //循环输出二维数组的内容
        for(int i=0;i<num1.length;i++){
            for(int j=0;j<num1[i].length;j++){
                System.out.print(num1[i][j]+"     ");
            }
            System.out.println();
        }
    }
}

方法

什么是方法?

  • 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。

主要内容

  • 方法的声明
  • 方法的重载

方法声明

  • 语法格式
访问修饰符  返回类型  方法名(参数列表){

}

方法分类

  • 根据方法是否带参数、是否有返回值,可分为四类:
  • 无参无返回值
  • 无参带返回值
  • 带参无返回值
  • 带参带返回值

方法重载

  • 方法名相同,参数列表不同

可变参数列表总结

  • 可变参数一定是方法中的最后一个参数
  • 数组可以传递给可变参数的方法,反之不行
  • 在重载中,含有可变参数的方法是最后被选中的

面向对象

面向对象

Java异常

Java集合

应用场景

  • 无法预测存储数据的数量
  • 同时存储具有一对一关系的数据
  • 需要进行数据的增删
  • 数据重复问题

Java集合框架

一、List概述

  • ArrayList可以看做长度可以动态增长的数组;
  • LinkedList可以看做链表。

文章目录
  1. 1. 学习资料
  2. 2. 基础语法
    1. 2.1. 常量与变量
      1. 2.1.1. 标识zhi符
      2. 2.1.2. 数据类型转换
    2. 2.2. 运算符
    3. 2.3. 流程控制之选择结构
    4. 2.4. 流程控制之循环结构
    5. 2.5. 数组之一维数组
    6. 2.6. 数组之二维数组
    7. 2.7. 方法
  3. 3. 面向对象
    1. 3.1. 面向对象
  4. 4. Java异常
  5. 5. Java集合
    1. 5.1. 应用场景
    2. 5.2. Java集合框架
      1. 5.2.1. 一、List概述
| | 65.4k