Java SE基础知识:变量作用域与printf格式化输出

需积分: 10 8 下载量 130 浏览量 更新于2024-09-11 收藏 9KB MD 举报
"Java SE基础,包括变量作用域、printf输出格式和switch语句的使用" 在Java SE基础知识中,变量的作用域是一个非常重要的概念。在给出的代码示例中,可以看到`Var`类中有一个静态变量`a`和一个局部变量`a`。静态变量`a`属于类级别,它的生命周期始于类加载,结束于类卸载,可以通过类名直接访问。而局部变量`a`在`main`方法内部定义,只在其定义的块级作用域内有效。当在`main`方法中输出`a`时,它指的是局部变量`a`,因此输出4。在`b()`方法中输出`a`,由于该方法是静态的,它访问的是静态变量`a`,所以输出3。 接下来是关于`printf`输出格式的讲解。`printf`方法是Java中用于格式化输出的一种方式。例如,`printf("%f", d)`将按照浮点数的格式输出变量`d`的值。通过指定不同的格式化参数,可以控制输出的精度、宽度和对齐方式。例如,`"%9.2f"`表示输出宽度为9,其中2位是小数,如果数值不够9位,左边会自动填充空格;如果数值超过9位,超出部分仍会显示。`"%+9.2f"`则会显示数值的正负号,`"%-9.4f"`表示左对齐输出,`"%+-9.3f"`则同时保留正负号和左对齐。对于整数,可以用`%d`输出十进制,`%o`输出八进制,`%x`输出十六进制,`%#x`输出带有十六进制标志的整数。对于字符串,使用`%s`。`printf`方法还可以接受多个变量,通过位置索引`$`来指定输出哪个变量。 最后提到了`switch`语句,这是Java中用于多条件分支的选择结构。在JDK 1.7及以后的版本,`switch`语句支持了`String`类型,但不支持`long`类型,因为`long`可能会导致精度丢失。`switch`语句的变量可以是`int`、`char`或`byte`,在较新版本中扩展到了`short`和`String`,但不能是`long`、`float`或`double`,因为这些类型可能不适合用作枚举类型。 这些内容涵盖了Java SE的基础知识,包括变量作用域的理解、`printf`格式化输出的使用以及`switch`语句的注意事项,这些都是编写Java程序时必备的技能。理解并掌握这些知识点,能够帮助开发者编写更加高效、清晰的代码。
2013-05-30 上传