[2024.12.25 JavaSE学习]Scanner类 && Java中的方法
今日学习知识点
一、Scanner
next():
- 一定要读到有效字符后才可结束输入
- 对输入有效字符之前遇到的空白,next()会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- 不可得到带有空格的字符串
nextline():
- 以Enter为结束符号,可以获得带有空白的字符串 (凡是属于IO流的类不关闭会一直占用资源,所以要注意用完关闭( scanner.close() ))
二、Java中的方法
- 设计方法的原则:方法本意是功能块,设计方法时,最好保持方法原子性,即一个方法只完成一个功能,有利于后期拓展
- 命名规则:首字母小写,驼峰原则(e.g. public int showMaxValue())
三、一些编译后运行的问题
- 若 src.pkg1.pkg2.pkg3 目录下有一个Demo.java,里面有标注 package pkg1.pkg2.pkg3,使用命令行 javac Demo.java编译后,直接在src/pkg1/pkg2/pkg3目录下无法运行java Demo命令,会显示报错:
找不到或无法加载主类 Demo
- 原因推测:
-
JVM 将当前目录(
src/pkg1/pkg2/pkg3/)作为类路径; -
JVM 尝试在当前目录下查找
Demo.class文件,确实找到了; -
但是,JVM 发现
Demo.class文件的包声明是pkg1.pkg2.pkg3,因此它期望Demo.class文件位于pkg1/pkg2/pkg3/目录下; -
由于当前目录是
src/pkg1/pkg2/pkg3/,JVM 会尝试查找src/pkg1/pkg2/pkg3/pkg1/pkg2/pkg3/Demo.class,显然这个路径不存在; -
因此,JVM 抛出“找不到或无法加载主类”的错误。
- 解决方法:跳转至src/目录下使用 java pkg1.pkg2.pkg3.Demo

浙公网安备 33010602011771号