(Java) 变量。输出格式


如果计算机不能在其内存中存储各种信息并能够使用相同的算法处理相同类型的信息,那么就不需要计算机了。 
为了创建更有趣的程序,必须学习如何将信息存储在计算机的内存中。同时,我们需要学习如何以某种方式访问​​计算机的存储单元。 
在编程中,就像在生活中一样,为了引用计算机内存的任何部分,它都是通过名称出现的。使用此名称,您既可以读取信息,也可以将信息写入其中。

变量 是计算机内存中的一个位置,它有一个名称并存储一些与类型相对应的值。

“变”字告诉我们它的值可以在程序执行期间改变。  当一个新的变量值被保存时,旧的值被擦除


对于计算机来说,所有信息都是它内存中的数据——零和一的集合(简单地说,计算机中的任何信息都只是数字,它以相同的方式处理它们)。但是,我们知道整数和小数的工作方式不同。因此,每种编程语言都有不同类型的数据,使用不同的方法进行处理。

例如,
整数 变量 –类型 int (来自英文integer – whole),占用内存4个字节;
real 可以有小数部分的变量(类型 float –来自英文floating point – floating point)在内存中占用4个字节< br /> - characters (类型 char –来自英文字符–符号),占用内存1个字节

让我们尝试向我们的程序中添加一些变量。
在使用一个变量之前,你需要告诉计算机在内存中为它分配空间。为此,必须声明变量,即指定它将存储什么类型的值,并为其命名。
此外,如果需要,您可以为其分配初始值。 

我们以一个程序为例
public class Main {  
    public static void main(String[] args) {  
        int a=6, b;  //在变量a中声明了两个整数类型的变量,立即保存了值6。变量b没有设置初始值;在这种情况下我们不知道内存中会有什么。
    }
}

现在自己试试吧。

让我们试着写一个素数计算器

我们的任务是在屏幕上显示一些算术表达式并让计算机计算它。
例如: 
5+7=12
此外,可以有不同的数字代替 5 和 7,具体取决于程序中变量 a 和 b 的值。

在输出语句中,您不仅可以显示文本,还可以显示变量的值,以及算术表达式的结果。此外,输出顺序可能不同。例如,为了显示上面的表达式,需要这样写: <前> System.out.print(a+"+"+b+"="+(a+b)); 如果我们想显示一个变量的值,那么我们只需要指定它的名字,不带引号。如果我们想显示一个算术表达式的结果,那么只要正确地写出算术表达式就可以了。

*** 深入:格式化输入 ***
在格式字符串中,输出说明符的数量没有限制,格式字符串后的每个说明符主要是列出所有以逗号分隔的值,这些值将被替换为模板。例如:System.out.printf("%d+%d=%d",a,b,a+b);格式字符串指定了三个说明符来代替打印整数值。  ;替换顺序是直接的。  那些。将显示变量 a 的值,而不是第一个模板 %d;而不是第二个 -  变量的值 b;  而不是第三个 - 表达式的值 a+b 现在我们将编写一个程序来显示使用这些变量的基本算术运算的结果

为了让用户能够自己设置变量的值,需要能够从键盘输入值。为此,使用了 in 对象,它是这样写的: <前> 扫描仪输入=新扫描仪(System.in); 但要使其正常工作,您必须先使用 import java.util.Scanner
导入它
要获取整数值,请使用   in.nextInt();,其结果必须分配给变量。
例如,  <前> int a = in.nextInt();
其他数据类型还有其他方法: 
  • next():读取输入行直到第一个空格
  • nextLine():读取整个输入行
  • nextInt():读取输入的int
  • nextDouble():读取输入的double
  • nextBoolean():读取一个布尔值
  • nextByte():读取输入的字节数
  • nextFloat():读取输入的浮点数
  • nextShort():读取输入的数字短

*** 深入资料:针对那些对 Java 语言感兴趣的人 ***
额外的输出说明符允许您控制特定格式的数字输出。

最小字段宽度
示例:
%04d  - 数字将显示在 4 个位置,如果少于四位,则第一个为零
<代码>int a=34; System.out.printf("%04d",a); //在屏幕上:0 0 3 4   
下划线放在这里是为了直观显示数字的输出。   

%4d –相同,但会有空格而不是零
int a=34; System.out.printf(“%4d”,a); //在屏幕上:     3 4 < /代码

具有一定精度的输出-用于输出实数。默认情况下,显示的实数最多精确到小数点后 6 位。但是有些情况需要以不同的精度输出。在这种情况下,您需要指定为数字本身分配多少熟悉位以及小数点后多少位。
例如,
%9.3f   - 一个实数将显示在9位,小数点后三位。

<代码>双 a=34.24356; System.out.printf("%9.3f",a); // 在屏幕上:_ _ _ 3 2 . 2 4 4

让我们尝试在实践中使用这些信息。

本材料旨在进行更深入的研究。我们将分析如何使用 Java 输出运算符 (printf) 打印变量
***深料***


如何在屏幕上显示变量的值?
为此,在输出语句的格式字符串中,您必须指定一个模板,以代替显示变量的值。
使用哪个模板取决于变量的类型。 
这些模式称为输出说明符,并显示在表中。给出了足够数量的说明符。没必要全部背下来。 
在大多数情况下,我们会使用说明符来输出整数、实数以及字符和字符串。但您可以随时返回本课并查看您需要的模板。
  <头> <正文>
补充:
显示像 short int 这样的变量 使用了 h 修饰符(例如,\(\%hd\)
要显示long int类型变量的值,使用l修饰符(例如,\(\%ld \))
L 修饰符可以用作 efg 说明符之前的前缀。这意味着屏幕上显示了一个 long double 类型的值。  (例如 \(\%Lf\)

让我们看一个实践中的例子

 

代码 格式
%c 符号
%d 有符号十进制整数
%i 有符号十进制整数
%e 科学格式(小写e)
%E 科学格式(大写E)
%f 真正的浮动 
%g 根据哪种格式更短,使用 %e 或 %f
%G 根据哪种格式更短,使用 %E 或 %f
%o 有符号八进制
%s 字符串
%u 无符号十进制整数
%x 无符号十六进制数(小写)
%X 无符号十六进制数(大写)
%p 索引
%n 指向整型变量的指针。说明符导致此整数变量被分配到它之前打印的字符数
%% 符号 %                           
去 一个实数的输出是用一个点作为分隔符来保证的,你必须使用美式布局,它与:
  语言环境setDefault(语言环境.美国);