当前位置: 首页 > article >正文

java请编写程序,分别定义8种基本数据类型的变量,并打印变量的值。

为什么输出的是总和,而不是单个的换行的8行输出

public static void main(String[] args) {
        byte a =100;
        short b=12345;
        int c= 654321;
        long d =123456789;
        float e =1.5f;
        double f =123.456;
        boolean g =false;
        char h ='a';
        System.out.println(a+'\n'
                +b+'\n'+c+'\n'+d+'\n'
                +e+'\n'+f+'\n'+String.valueOf(g)+
                '\n'+h);
    }
  • 对于 a + '\n''\n' 是一个字符,其 ASCII 值为 10。所以 a + '\n' 实际上是将 byte 类型的 a 的值和字符 '\n' 的 ASCII 值相加,得到一个整数结果。后续的操作以此类推,会将不同类型的数据(如 bc 等)不断与前面的结果相加,最终形成一个总和,而不是将它们作为单独的元素进行字符串拼接。

修改方案

  • 将 System.out.println() 中的内容修改为使用字符串拼接的方式,将每个变量都作为字符串的一部分,中间用 "\n" 分隔,这样能确保每个变量都单独输出在新的一行。
    public class Main {
        public static void main(String[] args) {
            byte a = 100;
            short b = 12345;
            int c = 654321;
            long d = 123456789;
            float e = 1.5f;
            double f = 123.456;
            boolean g = false;
            char h = 'a';
            // 使用字符串拼接,将变量的值和换行符一起作为字符串输出
            System.out.println(a + "\n" + b + "\n" + c + "\n" + d + "\n" + e + "\n" + f + "\n" + g + "\n" + h);
        }
    }
    public class Main {
        public static void main(String[] args) {
            byte a = 100;
            short b = 12345;
            int c = 654321;
            long d = 123456789;
            float e = 1.5f;
            double f = 123.456;
            boolean g = false;
            char h = 'a';
            // 使用 String.format 方法格式化输出字符串
            System.out.println(String.format("%d\n%d\n%d\n%d\n%f\n%f\n%s\n%c", a, b, c, d, e, f, g, h));
        }
    }

    更简洁的代码,可以使用 String.format() 方法


http://www.kler.cn/a/508286.html

相关文章:

  • WOA-CNN-GRU-Attention、CNN-GRU-Attention、WOA-CNN-GRU、CNN-GRU四模型对比多变量时序预测
  • windows配置 Conda 使用阿里云镜像源
  • SQL Server 导入Excel数据
  • 03JavaWeb——Ajax-Vue-Element(项目实战)
  • Kafka常用命令
  • [Collection与数据结构] PriorityQueue与堆
  • 左神算法基础提升--2
  • MySQL(高级特性篇) 06 章——索引的数据结构
  • 深入浅出:Go语言中的Unicode与字符编码详解
  • C++ K2 (4)
  • 【专题一 递归】面试题 08.06. 汉诺塔问题
  • 20250117在Ubuntu20.04.6下使用灵思FPGA的刷机工具efinity刷机
  • STM32入门教程-示例程序(按键控制LED光敏传感器控制蜂鸣器)
  • Excel文件按部门切分成多个文件
  • 54,【4】BUUCTF WEB GYCTF2020Ezsqli
  • HJ11 数字颠倒(Java版)
  • 俄语画外音的特点
  • 如何在Mac上使用Brew更新Cursor应用程序
  • 记录点android升级内容
  • Dart语言的语法糖
  • [Bug]libGL.so.1: cannot open shared object file: No such file or directory
  • Golang Gin系列-1:Gin 框架总体概述
  • 北京市房屋建筑物轮廓shp数据arcgis高度字段内容下载分析
  • 电路笔记(信号):Python 滤波器设计分析工具pyfda
  • 黑马Java面试教程_P1_导学与准备篇
  • LoadBalancer负载均衡服务调用