[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

  • 原因推测:
    1. JVM 将当前目录(src/pkg1/pkg2/pkg3/)作为类路径;

    2. JVM 尝试在当前目录下查找 Demo.class 文件,确实找到了;

    3. 但是,JVM 发现 Demo.class 文件的包声明是 pkg1.pkg2.pkg3,因此它期望 Demo.class 文件位于 pkg1/pkg2/pkg3/ 目录下;

    4. 由于当前目录是 src/pkg1/pkg2/pkg3/,JVM 会尝试查找 src/pkg1/pkg2/pkg3/pkg1/pkg2/pkg3/Demo.class,显然这个路径不存在;

    5. 因此,JVM 抛出“找不到或无法加载主类”的错误。

  • 解决方法:跳转至src/目录下使用 java pkg1.pkg2.pkg3.Demo
 

 

posted @ 2024-12-25 03:06  Luna-Evelyn  阅读(17)  评论(0)    收藏  举报