热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java学习笔记开篇:序言与概述

本文作为《Java学习笔记》的开篇,旨在为初学者提供一个全面的概览。文章首先介绍了Java的基本概念及其在编程语言中的地位,强调了Java与其他主流编程语言的共通之处,特别是其核心结构,如控制语句的重要性。通过详细的目录和前言,读者可以快速了解Java的基础知识和学习路径。此外,文章还探讨了控制语句在编程中的关键作用,为后续深入学习打下坚实基础。

文章目录

  • 前言
  • 一、Java入门
    • Java和其他主流编程语言类似,都是具有以下核心结构的
      • 1、控制语句(这是所有编程语句的核心,没有控制语句程序几乎没有任何意义[^1])
      • 2、循环结构(两大控制运行顺序的结构之一)
      • 3、选择结构(好像也有叫条件语句的,其实总体上来说都是一样的。)
    • 面向对象的核心(不是回家家里人摸走象棋里一对象的那个暗示的对象T_T)
      • 对象
  • 二、初步上手
    • 1.众所周知的Hello World!
      • 那么接下来一行行一个个词进行解释
  • 三、驼峰命名法
  • 总结(和个人的一些观点)




前言

emmm……
我也不是啥特别喜欢守死规矩的人,所以文章内容可能不会有啥明确的结构。大概的随便写一写自己学习Java过程中的一些知识点啥的尽可能的用都能读懂明白的话来写一写,然后再带几个例子啥的…………希望能帮到大家吧。
当然比较靠后面的实际开发部分我在写这些东西的时候还并没有学到,看以后我自己具体学到了再决定会不会去写吧。
当然我知道肯定有一堆的人已经写过一堆一堆的类似的东西了,所以我更多的是写给那些四处找资料然后正好翻进来的人看的←_←




一、Java入门

Java和其他主流编程语言类似,都是具有以下核心结构的


1、控制语句(这是所有编程语句的核心,没有控制语句程序几乎没有任何意义1)


2、循环结构(两大控制运行顺序的结构之一)


3、选择结构(好像也有叫条件语句的,其实总体上来说都是一样的。)


面向对象的核心(不是回家家里人摸走象棋里一对象的那个暗示的对象T_T)

当然Java最核心的就是面向对象编程了←_←

类是抽象化的对象(这样说可能不太清楚,我会跟下面的对象一起说)

对象

对象是实例化的类(详细的介绍会跟在下方(除非我忘了←_←,如果我忘了请直接骂,不用客气←_←))

所谓的类是抽象化的对象大概举例子就是:
张三跟李四都是人类,但是你不能说所有的人类都是张三,这时的人类是个抽象的概念,并不是特指了某一个特定的人事物。
而对象则正好相反,都是人类但是张三就是张三,张三不是李四,同样是人类但是张三已经是一个具体化的对象,不可能再额外指向其他的人事物等一系列巴拉巴拉乱七八糟的东西。

二、初步上手

1.众所周知的Hello World!

先不废话了,代码如下:

//该代码需要在App.java文件下才可以正常的编译运行
public class App{public static void main(String args[]){System.out.println("Hello World!");}
}
//输出结果应该为
//Hello World!

那么接下来一行行一个个词进行解释

1、第一行的public指访问权限级为“公共”类型,访问权限级在后期会讲,这里简单提一下,一个文件内可以含有多个类,但是只可以拥有一个公共类,在调用main(String[] args)函数时固定会从与文件同名的公共类进行查找。
2、“class”指该数据类型为“”,扩展出来的其他类型有“abstract class”抽象类,“interface”接口等类型,在后面会进行相关的介绍讲解。
3、“App”即公共类的类名,同时作为公共类的类名要和文件名保持一致2)
4、“public”类中的public也是访问修饰符,声明为公共方法,不做过多说明。(可以理解为谁都能见到这个方法。)
5、“static”指静态属性,即该方法(函数)即使类没有进行实例化也可以进行调用,在后续应该也会提到。
6、“void”无返回值类型,这个在部分编译器内如果不使用“void”会报错(其实也无可厚非,因为main函数即便有返回值也不会有其他方法接收)。
7、“main(String args[])”这一大串我就放一起说了,“main”是函数名应该没有任何问题,括号内的形参是个字符串型(String)数组,在部分时候可以直接在编译运行的同时对函数传入参数作为字符串型数组args的数据,这是可以在函数内进行实际调用的。晚些我可能会发一些例子在后续的文章内(如果我没发可以直接私信联系我)。
8、“System.out.println();”是个最常见的方法,这里可以进行些基础拆解:
首先根据驼峰命名法可以看出System是个“类”的类型,所以这一整条方法的意思即在“System”类内的out对象(这里应该是个静态实例化对象,因为没有)的println()方法。在println();内填入参数后会执行输出。



三、驼峰命名法

在Java中的一个声明的规范吧,可以让人更快速的分辨出那些为变量(对象),方法,以及类。
首先我们都知道所有方法(函数)后都会有一个()用以表达这是个方法(函数),所以变量(对象)和方法都遵循小驼峰命名法3
接下来说一下大驼峰命名法,大驼峰命名法仅用于“类”的命名,比如Circle类,Shape类等等,首字母都是大写的(如果仔细观察可以发现System和String首字母都是大写,这也意味着这两个都是类的数据类型)。
接下来可以思考下如果全部都遵循小驼峰命名法或者大驼峰命名法容易出现的问题,单纯的类名将很难分清具体是一个变量还是一个类,构造函数和普通方法也更难分清。虽然可以通过命名为其他的内容以区分,但是这样会导致代码的可读性降低。所以



总结(和个人的一些观点)

1、明确编程时的核心三大块:控制语句,循环结构和选择结构
2、刚入门的时候的确会认为Java比C语言输出个Hello World 要繁复许多,但这只是初期的一种感觉(我个人感觉如果初期连这点改变都受不了那不如直接不学,如果下定决心要学不会在意这么一点小问题,Java能发展到现在自然是有原因的。)
3、规范越早养成越好,不光是为了别人好,也是为了自己。
4、养成写注释的习惯,否则后期会骂骂咧咧骂了半天这货为啥不写注释然后突然发现是自己写的东西(别问,问就是亲身经历)……
5、驼峰命名法越早理解越好,这应该归在规范内说的,但是我身边很多人到现在甚至还在用中文来做类名和变量名方法名(然后再带着电脑来找我问一堆难以名状的问题←_←)…………



  1. 当然我的见识还是比较少……也许也会有?我不太清楚…… ↩︎

  2. (注:在声明变量名或类名时要遵循驼峰命名法,这是规范,越早养成习惯越好,越晚越不规范后期的影响越完蛋(身边几个已经整的自己快傻掉了……)。核心就是只有是在命名时,名称中所有的单词的首字母大写(例:如果要声明一个变量名为“疯狂男孩”,可以大体拆解为“疯狂(crazy)”和“男孩(boy)”两个单词组成,根据驼峰命名法则该类名为“CrazyBoy”。如果为普通变量名或者方法则首字母小写而后续其他单词的首字母大写即疯狂男孩作为普通变量变量名为“crazyBoy”。) ↩︎

  3. 所谓的小驼峰命名法即命名时名称内首字母小写,后续所有连续的单词的首字母都要大写。可见注脚2内的内容 ↩︎



推荐阅读
  • Java集合框架特性详解与开发实践笔记
    Java集合框架特性详解与开发实践笔记 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 本文详细探讨了C语言中`extern`关键字的简易编译方法,并深入解析了预编译、`static`和`extern`的综合应用。通过具体的代码示例,介绍了如何在不同的文件之间共享变量和函数声明,以及这些关键字在编译过程中的作用和影响。文章还讨论了预编译过程中宏定义的使用,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 在探讨C语言编程文本编辑器的最佳选择与专业推荐时,本文将引导读者构建一个基础的文本编辑器程序。该程序不仅能够打开并显示文本文件的内容及其路径,还集成了菜单和工具栏功能,为用户提供更加便捷的操作体验。通过本案例的学习,读者可以深入了解文本编辑器的核心实现机制。 ... [详细]
  • 本文详细探讨了OpenCV中人脸检测算法的实现原理与代码结构。通过分析核心函数和关键步骤,揭示了OpenCV如何高效地进行人脸检测。文章不仅提供了代码示例,还深入解释了算法背后的数学模型和优化技巧,为开发者提供了全面的理解和实用的参考。 ... [详细]
  • 浅析Java泛型及其应用
    Java泛型是自JDK 5引入的一项重要特性,旨在增强代码的类型安全性和复用性。通过泛型,开发人员可以在编译阶段进行类型检查,有效避免运行时的类型转换错误。本文将探讨Java泛型的基本概念、实现机制及其在实际开发中的应用场景,帮助读者深入理解并灵活运用这一强大工具。 ... [详细]
  • 深入解析 UIImageView 与 UIImage 的关键细节与应用技巧
    本文深入探讨了 UIImageView 和 UIImage 的核心特性及应用技巧。首先,详细介绍了如何在 UIImageView 中实现动画效果,包括创建和配置 UIImageView 实例的具体步骤。此外,还探讨了 UIImage 的加载方式及其对性能的影响,提供了优化图像显示和内存管理的有效方法。通过实例代码和实际应用场景,帮助开发者更好地理解和掌握这两个重要类的使用技巧。 ... [详细]
  • 本周课程涵盖了高精度计算、前缀和及差分技术。在高精度计算部分,我们将探讨如何处理任意进制的数值运算,包括但不限于正数的加法、减法和乘法。通过调整基数,可以灵活应对不同进制的需求。前缀和与差分技术则主要用于高效解决数组和区间查询问题,提升算法性能。 ... [详细]
  • 我正在使用 Ruby on Rails 构建个人网站。总体而言,RoR 是一个非常出色的工具,它提供了丰富的功能和灵活性,使得创建自定义页面变得既高效又便捷。通过利用其强大的框架和模块化设计,我可以轻松实现复杂的功能,同时保持代码的整洁和可维护性。此外,Rails 的社区支持也非常强大,为开发过程中遇到的问题提供了丰富的资源和解决方案。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • 设计模式深度解析:桥接模式的应用与实现
    设计模式深度解析:桥接模式的应用与实现 ... [详细]
  • 计算 n 叉树中各节点子树的叶节点数量分析 ... [详细]
  • 工厂方法模式详解:莫勇鹏老师的深入解析与应用实例
    2019年,独角兽企业高薪招聘Python工程师时特别关注工厂方法模式(Factory Method Pattern)。该模式通过定义一个创建对象的接口,让子类决定实例化哪一个类。莫勇鹏老师深入解析了这一设计模式,并提供了丰富的应用实例,帮助开发者更好地理解和运用工厂方法模式,提升软件设计的灵活性和可扩展性。 ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
author-avatar
倾其h所有只为爱你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有