前言
上周发表了推荐学java
系列第一篇,内容零基础小白也能看得懂,今天这篇内容就比较多,也是比较重点的内容,小编会先上一个思维导图,有助于大家理解每个知识点和层次结构。
知识导图
说明: 这部分内容可以说是真正进入编程的视界了,因为已经牵扯到逻辑和思维了。首先是最最基础的 Java 编码写法规则和结构,比如导图里的:运算符
、流程控制语句
、循环
、数组
和方法
这些内容;而后面的面向对象
、以及面向对象的三大特点:封装
、继承
和多态
则是偏向思维层面的内容,这就不单要求你掌握 java 基本语法和规则,还要尝试理解面向对象的思想。
下面会逐一进行讲解,具体还是要多写、多练,放能体会其中的奥秘啊!
运算符
其实每一种编程语言都有最基本的运算逻辑,只是各有各的表达形式,向谁表达?(计算机),所以这个内容理解起来没有难度,重点掌握的是写法和运算顺序。
这里最需要注意的细节:
- 自加(++)和自减(--)写在变量的前后,其自身运算时机不同
- Java中的赋值操作符是:
=
而不是==
- 逻辑运算符实际开发中应用的场景特别多,要熟练掌握
流程控制语句
简言之,程序执行过程(顺序执行)中的条件判断处理。主要有三种形式:if
、if-else
、switch-case
,这三种在实际开发中都很常用,属于重点内容。
执行说明与应用场景:
if条件
:单 if 语句或多个单 if 语句连续判断 这种情况都有,程序在处理某个条件是否满足一个或多个条件if-else
:单独使用或复杂条件嵌套使用场景,处理某种业务的多重判断中的某个具体条件是否满足switch-case
:从程序执行结构上来看和多个单 if 的特别像,单switch-case
的判断条件类型要比if语句
多,if
条件接收的是逻辑真假,而switch-case
还可将基本数据类型和String
类型作为条件
以switch-case
为例,相比if
更简洁,而且容易合并和拆分case
private void switchCaseMethod(String language) {
switch (language) {
case "java":
System.out.println("hello " + language);
break;
case "kotlin":
System.out.println("kotlin first for Android Development");
break;
case "c++":
case "c":
System.out.println("c and c++");
break;
default:
System.out.println("default case");
break;
}
}
循环
这些内容同样是重点,尤其是for
循环,实际开发中几乎一直在用,大多数情况是结合后面要学的 数组 和 集合 一起使用,推荐大家多练习几个案例,尤其要注意索引问题,避免越界异常的发生。
数组
开发中用的最多的是一维数组,当然特殊岗位除外(比如:算法工程师)。重点掌握对数组的动态赋值、根据索引取值以及遍历等操作。
方法
这块主要明白如何编写以及编写的规则,方法之间的调用和返回值,简单来讲,你会写各种方法即可,后面学了继承和多态,你就会对方法有更深入的了解。
实际开发中,代码都是通过方法来完成的。方法是执行某个具体任务的单元,遵循单一职责原则。
面向对象
重点要明白这个思想,举个例子,在编程竞赛中,有很多问题的答案可以通过普通的方式(暴力破解)来找出答案,但这就不是面向对象的编程思想,始终要记住,Java是面向对象的,万事万物皆对象。理解清楚后,我们才能创建出合适的类。
要掌握的内容:
- 面向对象的思想
- 创建类
- 类的构成
- 类的构造方法和初始化顺序
- 特点:封装、继承、多态
封装
简单理解就是:
- 类存放在哪个位置?
- 该类对外开放的程度如何?
- 该类要不要被继承?
- 该类的变量是否需要N多个对象共享?
- 该类是否要有共享的代码块?
这块内容要时刻牢记,实际开发中,会创建N多个package
,而每个package
下都有多个class
,那么你在创建类的时候要很清楚这几点内容。
继承
如果你尝试着深入理解的话,继承其实是一种扩展关系
。继承一定发生在子类和父类之间,而且Java只支持单继承(一个子类只能继承一个父类)。如果有需要多继承的情况呢,下一篇会介绍一个叫 interface 的知识点,就解决了这个问题。
重点要明白什么时候应该继承? 以及导图中的细节知识点,反复练习,熟练掌握,这是基础中的核心。
总结
关于多态
的内容会在下一篇中详细讲解。后面的内容会越来越有意思,大家跟进脚步,一起学习java,如果你正在选择学习什么编程语言,那小编推荐你学Java 。
小编特意创建了一个公众号:
推荐学java
,会分享与java
相关的内容,并且以原创为主,欢迎大家搜索关注(关注即送小编挑选的精品视频教程和电子资料),一起学Java!