Tag: javase

Java 取得使用者输入 java.util.Scanner用法

Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档: public final class Scanner extends Object implements Iterator<String>, Closeable 可见,Scanner是没有子类的。 在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考: 构造方法: public Scanner(File… Read More

深入分析Java中的length和length()

在开始正文之前,请你快速回答如下问题: 在不使用任何带有自动补全功能IDE的情况下,如何获取一个数组的长度?以及,如何获取一个字符串的长度? 这个问题我问过不同水平的程序员,包括初级和中级水平的。他们都不能准确而自信地回答这个问题(如果你能很准确很自信的回答这个问题,那么证明针对这一知识点你比大多数中级程序员掌握的好)。由于现在很多IDE都有代码补全功能,这使得开发人员在很多问题上都理解的很肤浅。本文将介绍几个关于Java数组的关键概念。 上面问题的正确回答姿势应该是这样的: int arr = new int[3]; System.out.println(arr.length);//使用length获取数组的程度 String str = "abc"; System.out.println(str.length());//使用length()获取字符串的长度 那么问题来了,为什么数组有length属性,而字符串没有?或者,为什么字符串有length()方法,而数组没有? 为什么数组有length属性? 首先,数组是一个容器对象(Java中的数组是对象吗?),其中包含固定数量的同一类型的值。一旦数组被创建,他的长度就是固定的了。数组的长度可以作为final实例变量的长度。因此,长度可以被视为一个数组的属性。… Read More

Java源代码编译工具javac用法详解

众所周知,我们平常编写的Java代码需要先被编译为二进制的字节码,例如Hello.java源文件会被编译为Hello.class字节码文件,然后才能被Java虚拟机执行。 通常情况下,我们大多使用Eclipse(MyEclipse、NetBeans)等集成开发环境进行Java程序开发,我们只需要编写Java代码,Eclipse等开发工具就能够轻松地为我们完成编译、打包、部署等一系列工作。那么将源代码文件编译为字节码文件的工作到底是谁来做的呢?今天,我们就来给大家介绍这位幕后英雄——javac。 javac,即javac.exe,是JDK中自带的一个Java源代码编译工具。Eclipse等开发工具实际上也是调用javac来编译Java源代码的。javac.exe一般位于JDK安装目录/bin文件夹中,想要在命令行窗口中直接使用javac命令,我们需要将该路径追加到系统环境变量path中(如果你安装的JDK是Windows安装版(.exe),则可以忽略这一步)。 下面我们就来介绍javac的命令行用法,并尝试在不使用Eclipse等IDE的情况下,使用javac来编译Java源文件。 首先,点击系统左下角的【开始】->【运行】,输入”cmd”然后点击【确定】(或直接回车),即可进入命令行窗口。 在命令行窗口中,输入命令javac -help并回车,从而查看javac的用法帮助信息。 从上图可知,javac命令相对较多,且较为复杂。不过,就一般使用而言,我们只需要了解几个常用的javac编译命令即可。 在这里我们以文件D:/Java/test/Hello.java(其中test为包名)为例,来介绍如何使用javac编译Java源文件,其源代码如下所示: package test; public class Hello { public static void… Read More