Java初学者容易犯的错误,Java程序员必须知道的学习路线

news2024/11/19 12:39:24

万事开头难,java 编程的初学者常常会遇到各种各样的问题。对于自学的读者来说,则是需要花费更多的时间、精力来解决这些问题,而且一旦遇到的问题几天都得不到解决,往往会带来很大的挫败感。

所以本节介绍一些初学者经常出现的错误,以便减少读者在学习中的障碍。

1)大小写问题

之前我们已经提到,Java 是区分大小写的语言。但由于大部分读者都是 Windows 操作系统的忠实拥护者,因此对大小问题往往都不够重视(Linux 平台是区分大小写的)。

例如,有的读者编写的 Java 程序的类是 HelloJava,但当他运行 Java 程序时,运行的则是 java hellojava 这种形式,这种错误的形式没有严格按 Java 程序中编写的来写,可能引起系统提示如图 1 所示的错误。
 

大小写问题错误


图 1  大小写错误


因此这里必须提醒大家,在 Java 程序里,HelloJava 和 hellojava 是完全不同的,必须严格注意 Java 程序里的大小写问题。

不仅如此,读者按照教程中示例编写 Java 程序时,必须严格注意 Java 程序中每个单词的大小写,不要随意编写。例如 class 和 Class 是不同的两个词,class 是正确的,但是如果写成 Class,则程序无法编译通过。

实际上,Java 程序中的关键字全部是小写的,无需大写任何字母。

2)路径里包含空格的问题

这是一个更容易引起错误的问题。由于 Windows 系统的很多路径都包含了空格,典型的例如 Program Files 文件夹,而且这个文件夹是 JDK 的默认安装路径。

如果 CLASSPATH 环境变量里包含的路径中存在空格,则可能引发错误。因此,推荐大家安装 JDK 以及 Java 相关程序、工具时,不要安装在包含空格的路径下,否则可能引发错误。

3)main 方法的问题

如果需要用 java 命令直接运行一个 Java 类,这个 Java 类必须包含 main 方法,这个 main 方法必须使用 public 和 static 来修饰,必须使用 void 声明该方法的返回值,而且该方法的参数类型只能是一个字符串数组,而不能是其他形式的参数。对于这个 main 方法而言,前面的 public 和 static 修饰符的位置可以互换,但其他部分则是固定的。

定义 main 方法时,不要写成 Main 方法,如果不小心把方法名的首字母写成了大写,编译时不会出现任何问题,但运行该程序时将给出如图 2 的错误提示:
 

错误提示


图 2  错误提示


这个错误提示找不到 main 方法,因为 Java 虚拟机只会选择从 main 方法开始执行。对于 Main 方法,Java 虚拟机会把该方法当成一个普通方法,而不是程序的入口。

main 方法里可以放置程序员需要执行的可执行性语句,例如 System.out.println("Hello Java!"),这行语句是 Java 里的输出语句,用于向控制台输岀“Hello Java!”这个字符串内容,输出结束后还输出一个换行符。

在 Java 程序里执行输岀有两种简单的方式:System.out.print(需要输出的内容) 和 System.out.println (需要输出的内容),其中前者在输出结束后不会换行,而后者在输出结束后会换行。后面会有关于这两个方法更详细的解释,此处读者只能把这两个方法先记下来。

Java程序员必须知道的学习路线

你现在是不是想学 java,但又很迷茫,不知从何下手,不知道该从哪里学起,不知道需要学些什么?那么看完这篇文章你会有一种豁然开朗的感觉。

学习 Java 的第一步,就是制定自己的 Java 学习路线。对 Java 主要的重点知识归纳如下:

对于学习 JavaSE 的读者,分为 JavaSE 初级中级和高级水平,下面分别介绍达到这些水平我们需要掌握什么。

JavaSE 初级水平要求掌握计算机入门:DOS 命令,什么是程序,如何配置 Java 开发环境,Java 编程的过程是怎样的,Java 有什么特点,程序是如何运行的。

编程基础:变量,基本数据类型,进制,转义字符,运算符,分支语句和循环语句等。方法与数组,还有彻底掌握面向对象的思想。如果能掌握这些,你已经入门 Java 语言了。

JavaSE 的中级水平是要求掌握 Eclipse 用法与异常处理技术,Debug 调试技术,Java 常用类库,文件与 IO,集合框架,多线程并发技术,网络编程,反射和泛型特点,正则表达式,枚举和注解,XML 和 JSON,GUI 事件处理,Web 前端开发基础和框架​ ,Servlet 和 JSP 在 Web ​后端的应用,MVC 和分层架构,以及项目开发流程以及 CASE 工具的使用。

JavaSE 高级水平便是​ 要求掌握 Mybatis 框架,Spring 框架,使用 Hibernate 实现持 ​久层 RESTful 架构和移动端接口,设计第三方接口和在线支付功能,MyBatis 的应用和 SSM 整合。

分布式基础知识点:Linux 常见命令,Jdktomcat 配置,maven 私服,阿里云配置 redis 和 mysql 等,JVM 高级特性,JVM 性能监控和调优等等。主要都是向着 Web 开发方面的技术加深。最好还是要有一点 HTML 网页设计基础和数据库理论知识,学习起来会更加轻松一些。

建议大家,如果没有任何编程基础的读者,先学习C语言的语法,Java 的语法和C语言的大同小异;若是有一定编程基础了,那么就可以开始学习 Java 或者直接进入面向对象思想的教程部分了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1088895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter笔记:电商中文货币显示插件Money Display

Flutter笔记 电商中文货币显示插件 Money Display 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/1338…

【数据结构】什么是线性表?

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 线性表的定义 生活中常见的线性表 结语 线性表的定义 线性结构的特点: 在数据元素的非空有限集中: 存在唯一的一个被称作"第一个"的数据元素;存在唯一的一个…

Linux系统编程_文件编程第1天:打开、写入、读取、关闭文件等编程

1. 文件编程概述(399.1) 内容超多: 文件系统原理及访问机制文件在内核中的管理机制什么是文件信息节点inode文件的共享文件权限,各种用户对其权限。。。。。。 应用为王,如: 账单游戏进度配置文件等 关心如…

WEditor的安装和使用

WEditor 编辑器能够提供辅助编写脚本,查看组件信息,调试代码等功能。 Screenshot 安装 依赖项目 Python3.6 uiautomator2facebook-wda Only tested in Google Chrome, IE seems not working well. pip3 install -U weditor # uiautomator2, faceboo…

龙迅LT86102UXE HDMI2.0转二路HDMI2.0/1.4,支持音频剥离,支持4K60HZ

龙迅LT86102UXE 1.描述: 龙迅 LT86102UXE HDMI2.0 分路器具有符合 HDMI2.0/1.4 规范的 1:2 分路器、最大 6Gbps 高速 数据速率、自适应均衡 RX 输入和预加重 TX 输出(用于支持长电缆应用)、内部 TX 通道交换以 实现灵活的 PCB…

天眼查最新方式工商信息爬取(公开信息)

本章教程,主要介绍利用python效率提取天眼查公开工商信息。 官网地址:天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 教程仅供参考,请勿滥用,由此带来的法律责任,需由自己承担。 1、数据预览 2、程序代码 #!/usr/bin/python # -*- coding: UTF-…

vue3结合elemplent-plus组件初始化选择日期范围

实现的效果: 在使用时踩了个坑,耽搁了俩小时时间,气人!!!! 注意: 1.获取上个月时间时必须使用正确的时间格式去获取,在获取时间的时候不能操作-等 2.获取到的时间必须…

物联网AI MicroPython传感器学习 之 HX711称重传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 下图是一款量程为5kg的称重传感器,采用悬臂梁方式安装。传感器主体结构是一个开孔金属条,金属条上下表面各贴有两个应变电阻,当金属条受力发生变形时时&…

接口测试如何高效管理接口文档 !

痛点 如果你负责测试的项目是一个前后端分离的项目。 回忆下是不是有如下场景: 某个项目开发完成,接口文档发布在了 swagger 上,前后端各自进行开发。此时你负责这个项目的服务端测试。 首先进行接口测试,熟练的打开 postman 导入 swagger 文档,然后开始进行接口测试。 接口…

自动化办公篇之python

1、如果没有安装xlwings库,先在控制台pip install xlwings,然后点击运行,创建四个空excel表 。 import xlwings as xw app xw.App(visibleTrue,add_bookFalse) for dept in ["技术部","销售部","运营部","财务部&q…

2023年中国渔业研究报告

第一章 行业概况 1.1 定义 渔业,作为全球经济的重要支柱之一,其核心活动包括捕捞、水产养殖、产品加工与销售等。其不仅是食物安全的重要保障,还是许多沿海和内陆地区经济发展的重要动力。 首先,捕捞活动是渔业的基础。通过海洋…

中国走向碳中和:零碳联盟的关键角色

随着近期联合国大会上主席宣布的中国碳中和目标,国家的低碳转型和绿色可持续发展再次成为焦点。面对这样的国家大政方针,不少企业和机构纷纷响应,其中零碳联盟的努力与成果更是备受瞩目。 零碳联盟,作为中国投资协会联合多家机构…

微信小程序生成海报

效果: js1: const cloudHelper = require(../../../helper/cloud_helper.js);async function config1({cover,title,desc,qr,bg = }) {var qr1 ="images/qr.png"var qr2 ="https://636c-cloud1-0gu29f2j63906b7e-1319556650.tcb.qcloud.la/activitycomm/setu…

C++入门 —— 命名空间

命名空间 前言1. 什么是命名空间2. 命名空间的定义3. 命名空间的使用3.1 域作用限定符 ::3.2 使用using将命名空间中某个成员引入3.3 使用using namespace 命名空间名称 引入 4. cin/cout 输入输出4.1 C中的输入输入与C中的输入输出对比 所属专栏:C“嘎嘎" 系统…

快速自动化处理JavaScript渲染页面

在进行网络数据抓取时,许多网站使用了JavaScript来动态加载内容,这给传统的网络爬虫带来了一定的挑战。本文将介绍如何使用Selenium和ChromeDriver来实现自动化处理JavaScript渲染页面,并实现有效的数据抓取。 1、Selenium和ChromeDriver简介…

AN基础工具——动画人物上色

【AN基础工具——动画人物上色】 基本操作滴管工具填充工具画笔工具流畅画笔工具 实例,给多啦A梦上色注意事项 本篇内容:动画人物绘制基础 重点内容:滴管工具,画笔工具,填充工具 工 具:Adobe Animate 2022 …

17个开源的Go语言博客和CMS解决方案

Go语言,也称为Golang,是一种为构建高效、可靠和可扩展软件而设计的开源编程语言。它于2007年在Google开发,现在广泛用于开发Web应用程序、网络工具和系统软件。 为什么使用基于Go的CMS解决方案? 这些优势使Go成为开发可扩展、高…

鼠标划过改变子元素的属性 vue

鼠标划过改变子元素的属性 vue (未完成) 一、需求 我想做一个类似词句大爆炸的效果,将一个句子炸成多个词条,然后手动选择需要的内容。 结构是这样的 wordList -> word 需要的操作是鼠标左键划过的时候将划过的字词选中。 …

【Proteus仿真】【51单片机】水箱液位监控系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、按键、蜂鸣器、液位传感器、PCF8591 ADC转换器、水泵等。 主要功能: 系统运行后,LCD1602显示当前水位、上下限…