【JavaSE初识】Java新手在程序中的常犯错误

Java基础 3.11 在控制台编译 javac Hello.java 后在控制台运行 java Hello。.java 源文件 .class 字节码文件。cmd table键 快速补全。 阅读详情

新手程序中的错误

程序中的错误
  第一类:语法错误——就像是英语表达中的语法错误一样;
  第二类:逻辑错误——程序执行后的结果并不是预期的结果,答案出错;
  第三类:运行时错误——程序运行过程过程中出错,系统会阻止其继续运行;

第一类:语法错误

1、文件名和主类名不一致:public class后紧跟的类名和程序源文件名不是一致的;

//文件名Hello.java
public class HelloWorld { //public class后跟的类名是主类,也就是在执行时是先从这个类开始的。
	……
}

2、单词拼写错误:Java语言是区分大小写的(就如同Linux一样)

System.out.prin("hello"); //print
system.out.print("hello"); //System

3、缺少必要组件:写类时忘写类名、写方法时忘写方法名或关键字、写语句时忘写分号、写字符串时忘写双引号;

public Hello { //出错
	public void (String[] args) { //出错
		System.out.println("hello,world.) //出错
	}
}

第二类:逻辑错误

这是由于你的编程思想考虑不全面所导致的错误,比如:
  在计算1.1加2.2时,你用的是int型变量存储;

第三类:运行时错误

示例:

public class RuntimeError {
	public static void main(String[] args) {
		oops();
	}
	public static void oops() {
		System.out.println("Go. Go. Go.");
		oops();
	}
}

输出结果:


//输出结果:
Go. Go. Go.
Go. Go. Go.
……
Go. Go. Go.
Exception in thread "main" java.lang.StackOverflowError
	at java.base/sun.nio.cs.UTF_8$Encoder.encodeLoop(Unknown Source)
	at java.base/java.nio.charset.CharsetEncoder.encode(Unknown Source)
	at java.base/sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
	at java.base/sun.nio.cs.StreamEncoder.implWrite(Unknown Source)
	at java.base/sun.nio.cs.StreamEncoder.write(Unknown Source)
	at java.base/java.io.OutputStreamWriter.write(Unknown Source)
	at java.base/java.io.BufferedWriter.flushBuffer(Unknown Source)
	at java.base/java.io.PrintStream.write(Unknown Source)
	at java.base/java.io.PrintStream.print(Unknown Source)
	at java.base/java.io.PrintStream.println(Unknown Source)
	at kyle.HelloWorld.oops(HelloWorld.java:28)
	at kyle.HelloWorld.oops(HelloWorld.java:29)
	……
【PLIO学习总结】laserMapping中的时间戳与状态更新逻辑 本文仅用于个人学习总结记录。如有错误,请批评指正。 阅读详情

相关推荐

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。

阿玥的小博客 3122

第一个Java程序Hello World

javac Java源文件名.后缀名

qq_41555595的博客 330

【电子电力】IEEE33节点系统参数及拓扑图visio

IEEE33节点系统是一种广泛用于电力系统分析和研究的标准配电网络。该系统具有典型的辐射结构,适用于负载流分析、分布式发电优化及电力系统的可靠性评估。本报告主要基于IEEE33节点系统的拓扑图,讨论其在电子电力系统中的应用。通过MATLAB仿真分析了节点的电压分布、功率损耗等关键参数,并验证了系统的稳定性和有效性。

2401_84610415的博客 1万+

java 拼写矫正_java 英文单词拼写纠正(错误检查)框架

问题引入平时工作学习中,对于单词拼写检查也是很常见的需求。一直没找到特别好用的版本,就自己写一个。方便以后拓展和他人使用。项目简介本项目用于英文单词拼写检查。快速开始JDK 版本JDK1.7 及其以后入门例子maven 引入本项目已经上传到 maven 仓库,直接引入即可com.github.houbbword-checker0.0.1测试案例Main.javapublic static void...

weixin_35241415的博客 957

BERTopic模型入门教程(附代码+参数调节)

BERTopic 是一种用于从文本数据中提取主题模型的新型方法。通过结合 BERT嵌入和传统的主题模型来生成语义丰富的主题。传统的主题模型(如LDA)主要依赖于词频矩阵,而 BERTopic 通过预训练语言模型生成高维语义嵌入来捕捉词语间的复杂关系,因此可以更好地处理上下文信息。BERTopic模型可以看作是创建其主题表示的一系列步骤。核心原理如下:就本质而言,BERTopic就是一个拼装框架,可以把每部分都替换成其他模型,只要完成任务即可。

m0_52069102的博客 1万+

Unity透明视频播放全攻略:AVPro Video插件实战与避坑指南

在游戏开发与交互式内容创作中,视频播放是常见的多媒体需求。其核心原理在于通过解码器将压缩的视频数据流转换为连续的图像帧,再经由图形API渲染至屏幕。这项技术的价值在于能够高效地呈现动态视觉内容,广泛应用于游戏过场动画、UI特效、AR/VR虚拟展示等场景。当需求进阶到需要背景透明的视频时,技术实现复杂度显著增加,这涉及到对视频Alpha通道的编码、解码与渲染管线的特殊处理。本文聚焦于Unity引擎中实现高质量透明视频播放的工程实践,深入解析了AVPro Video这一专业插件如何解决原生VideoPlayer

weixin_30368981的博客 376

JAVA基础--异常

程序运行时发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,就是异常。

m0_56161893的博客 1915

OpenCompass实战:从零部署大模型评测平台,量化模型能力选型

在大模型技术选型与评估中,客观、可量化的评测体系是工程实践的关键。其核心原理在于通过标准化的数据集、统一的评测方法与自动化流程,将主观的模型体验转化为可比较的指标数据。这种评测框架的技术价值在于解决了模型能力评估的模糊性问题,为开发者提供了模型选型、效果对比与迭代优化的科学依据。典型的应用场景包括对比不同开源模型在代码生成、逻辑推理等特定任务上的性能,或是评估微调后模型在业务数据集上的提升效果。OpenCompass作为开源的大模型全能力评测平台,正是这一理念的工程化实现。它通过模块化的四层流水线架构和配置

weixin_28725037的博客 626

内存溢出的解决思路

内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。 引起内存溢出的原因有很多种,常见的有以下几种:   1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;   2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;   3.代码中存在死循环或循环产生过多重复的对象实体;   4.使用的第三方软件中的BUG;   5.启动参数内存值设定的过小; 内存溢出的解决方案: 第一步,修改JVM启动参数,直接增加内存...

咖啡的博客 6279

[数学建模][2012年A国赛模拟] 3. 葡萄酒的评价

暑期学校数学建模培训第三次模拟:2012年国赛A题,一道完全统计方面的题目。据老师反映当年有位老师所带领小组取得“全国10佳优秀论文奖”,我们大组搞统计的老师建模能力不行,但其统计理论非常扎实,在此期间给予我们非常大的帮助,十分感谢老师的倾囊相授。我们小组的定位也不在统计方向,主攻物理建模及优化模型,故本次模拟就用SPSS软件简单做了下,还是学到了多元统计的许多知识,达到了本次训练的目的。 ...

Y-puyu 的博客 3万+

PyTorch生成式人工智能(1)——神经网络与模型训练过程详解

在本节中,我们介绍了传统机器学习与人工神经网络间的差异,并了解了如何在实现前向传播之前连接网络的各个层,以计算与网络当前权重对应的损失值;实现了反向传播以优化权重达到最小化损失值的目标。并实现了网络的所有关键组成——前向传播、激活函数、损失函数、链式法则和梯度下降,从零开始构建并训练了一个简单的神经网络。

盼小辉丶的博客 1万+

【JavaSE基础】Java 基础知识

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。Dos: Disk Operating System 磁盘操作系统,简单说一下 windows 的目录结构。[原理图如下]md: make directory 创建目录rd: remove directory 删除目录相关的知识补充:相对路径,绝对路径相对路径: 从当前目录开始定位,形成的一个路径。绝对路径: 从顶级目录d开始定位。

AcsdnHZB的博客 1442

华为OD机试真题2025双机位C卷 Java&Go 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 392

javase试写

韩顺平Javase Day1

a931394057的博客 251

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【JavaSE基础】Java概述-章节作业

【代码】Java概述-章节作业。

AcsdnHZB的博客 350

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Java从新手到大牛,如何训练?

在我们的一生中,常常会听到别人说某某人家的孩子又考了100分,这孩子真聪明。在教室里,总有那么一个或两个令人羡慕嫉妒恨的娃,明明看他一直在玩,只是偶尔翻看点书,做做题,可是他考试下来就是让人惊叹,总能获取相当高的分数。还记得当年坐在教室的角落,一直勤勤恳恳地抱本书看的孩子吗?他也付出了很多,最起码从时间上的确如此。可是,每次考试下来,他的成绩还是一团糟。哦,我们会说,这个孩子学习没天赋,那个孩子天生聪明,所以学习好。那么,问题来了,天赋就真的是天生的吗?

2401_84049040的博客 925

Java中获取路径的文件_Java中获取文件路径

由于自己一知半解,所以在开发的过程中,涉及到Java文件路径的问题,在不同的系统中,不同IDE,不同的项目环境下,总是犯错误,每次通过百度搜索,动手实验,最终能够解决问题。但是,再下次遇到问题的时候,依然如故!而网络上的文章也是良莠不齐,复制粘贴,没有很好的梳理这个问题。所以,我自己想尝试把这个问题讲清楚。一、开发环境首先,我们要保持一致我们的开发环境,否则,一切都无从谈起。1.操作系统:在Win...

weixin_39615741的博客 322

Java学习第一天 Java概念及规范等

使用到的工具类: 菜鸟工具:https://c.runoob.com/compile/10/ 这个工具不需要安装任何软件就可以实现简单的变成 JDK下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 是Java JDK下载地址 Matools:https://www.matools.com/ 该工具可以查看Java Api文档及代码处理工具,编码转换器 注:因为是初学,所以没使用eclipese 和 Idea来写代码,使用

weixin_64081258的博客 356

javaSE_8系列博客——集合——简介部分

集合(有时称为容器)仅仅是将多个元素组合成一个单元的对象。集合用于存储,检索,操纵和传达聚合数据。通常,它们表示形成自然组的数据项,例如扑克牌(卡片集合),邮件文件夹(字母集合)或电话簿(名称与电话号码的映射)。如果您使用Java编程语言 - 或任何其他编程语言,您已经熟悉了集合。什么是集合框架?集合框架是用于表示和操作集合的统一架构。所有集合框架包含以下内容: 接口:这些是表示集合的抽象数据类型。

softwareCraftsman 414

(一)java基础

(一)java基础

XCL1670的博客 269

Java入门保姆级教程

1972年C语言诞生,它的特点:贴近硬件,运行快,效率高;应用在操作系统、编译器、数据库、网络系统等方面;指针和内存管理给予程序员权限的同时,也大大提高了犯错误的概率1982年C++诞生,它是一种面向对象,兼容C的程序语言,多用于图形领域、游戏等。为了创建一个更加高效稳定且具备可移植性、编写一次可以到处运行的程序,Java诞生。它语法有点像C,没有指针没有内存管理,运行在JVM虚拟机上面1955年图像简单而粗糙,JAVA写出了图形界面的程序Applet。

2503_92409357的博客 1300

零基础学Java-Day 1

从零开始,男大学Java,Day1,加油! 记录每一天学习笔记,有大佬路过可指点一二,将感激不尽~

weixin_75226793的博客 1799

Java内存区域与内存溢出异常

Java内存区域与内存溢出异常 概述: 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的“皇帝”又是从事最基础工作的“劳动人民”——既拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题,...

复制乔布斯 147

Java学习笔记--第二章:java概述

javaSE,EE,ME, java的重要特点, JVM,JDK,JRE的说明, 用sublime编写一个java程序-更改sublime中代码字体大小-编译输入javac hello.java出现错误:编码GBK的不可映射字符-sublime里没有设置文件编码方式,增加GBK的方法, Java编写注意事项, 转义字符, 编写代码时易犯错误及错误提示, 单行,多行文档注释, java编写的7个规范, DOS命令(了解), 复习

qq_48457459的博客 560
上一篇: 十几年的教育到底给了我们什么?
下一篇: 【JavaSE初识】Java发展历史概要
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值