前言
上周发表了推荐学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!
相关推荐
编程知识+技术开发+Springboot入门知识,一文掌握Springboot体系;编程知识+技术开发+Springboot入门知识,一文掌握Springboot体系;编程知识+技术开发+Springboot入门知识,一文掌握Springboot体系;编程知识+技术...
在本文中,我们将深入探讨《从小白到大神,一文掌握 Python 密集知识点》这份资料所涵盖的丰富Python编程知识。Python是一种高级、通用的编程语言,以其易读性、简洁的语法和强大的库支持而备受青睐。无论你是初学者...
Java中的`volatile`关键字是多线程编程中的一个重要概念,它的主要作用是确保共享变量的可见性和禁止指令重排序。本文将深入探讨`volatile`的关键特性、工作原理以及使用注意事项。 1. 可见性: `volatile`关键字...
Spring框架是Java EE应用开发中最流行的轻量级框架之一,它简化了企业级应用的开发过程,尤其是对于依赖注入(DI)、面向切面编程(AOP)、事务管理等方面有着强大的支持。
Java中的Class类和Object类 Java异常 解读Java中的回调 反射 泛型 枚举类 Java注解和最佳实践 JavaIO流 多线程 深入理解内部类 javac和javap Java8新特性终极指南 序列化和反序列化 继承、封装、多态的实现原理 容器...
- **JAVA设计模式**:详细解析了JAVA中的各种设计模式,如单例模式、工厂模式等,对于提高代码质量和可维护性具有重要意义。 - **JAVA与数据库(JDBC)**:讲解了JAVA如何与数据库交互,包括连接数据库、执行SQL语句...
Python基础知识,一文了解列表知识
Java中的String类是编程中最常用的数据结构之一,它在日常开发中扮演着至关重要的角色。本文将深入探讨String类的特性、构造、方法以及在内存中的表现,帮助你全面理解这个核心类。 首先,String类在Java中是不可变...
一文弄懂UFS协议,快速入门
鲍捷在其所著的《金融知识图谱的发展近况和应用回顾》一文中,详细回顾了金融知识图谱的发展历史、应用领域以及行业现状。 知识图谱是一种基于语义的网络表示方式,它将信息转化为图结构,以节点和边的形式展现实体...
Java中的IO(Input/Output)系统是编程中处理数据输入和输出的重要部分。在Java的发展历程中,IO模型经历了三个主要阶段:BIO(Blocking IO)、NIO(Non-blocking IO)和AIO(Asynchronous IO),这三种模型各自有其...
- Java中的整数类型包括byte、short、int和long,它们分别占用1、2、4、8个字节,具有不同的取值范围。例如,int类型范围为-2147483648至2147483647。 - 字符类型char在Java中占用2个字节,用于存储单个Unicode...
学习Java作为编程语言是一个系统的过程,下面是一份适合初学者的Java学习路线图以及每个阶段的关键知识点和实践指南
这份名为“房地产行业研究:一文回顾EH50房企2020H1业绩会”的报告,聚焦了这些企业在2020年上半年的表现,为我们揭示了在经济环境和政策影响下的房地产业动态。 报告首先可能对2020年上半年的整体市场环境进行了...
根据标题"读书笔记,一文读懂如何调优JAVA程序"和描述"多年经验总结加读书笔记",我们可以总结出以下知识点: 一、异常处理 * 在 JAVA 中,异常可以分为编译错误、逻辑错误和运行时错误三种/non-normal situations...
Java内存管理机制的核心任务是确保高效地使用内存,特别是如何识别和回收不再使用的对象,以避免内存泄漏。本文将深入探讨这一主题,重点关注垃圾标记的过程。 首先,我们要明白JVM如何确定哪些对象是存活的。有两...
Kotlin协程官方文档提供了详细的入门指南和进阶教程,涵盖了协程的基础知识、取消和超时、组合挂起函数、协程上下文和调度器、异步流、通道和异常处理等 Topic。 在使用Kotlin协程时,需要了解协程的生命周期和上...
本篇报告标题为“汽车行业投资策略:一文回顾2021上海车展-拥抱汽车产业电动智能变革”,是一份证券研究报告,主要回顾了2021年在上海举办的车展并分析了汽车行业在电动化、智能化趋势下的发展以及投资策略。...
- Java 中默认的整数类型是 `int`,除非显式指定为 `long`。 #### 5. `case` 语句 - **功能**: `case` 语句用于 `switch` 结构中,标记不同的分支。 - **示例**: ```java int arg = /* 一些值 */; switch (arg)...