Java——输入输出

article/2025/9/12 15:18:57

本篇主要介绍Java的输入与输出,当然,这里说的是控制台下的输入与输出,窗口程序的设计将会再后续篇章中有详细说明。  

Java的输出很简单,调用System.out.println()即可打印输出你想要输出的内容。我们之前也已经看到过。调用println()方法时,会自动在后面加上换行符,如果不希望它加换行符的话,就要使用print()方法了,之后的打印输出会紧跟其后,而不是另起一行。另外,还有一个很常用的方法,那就是printf(),学过C或者C++的话,对这个printf()应该很熟悉,没错 ,在Java里几乎是一模一样的。可以用来格式化输出内容。第一个参数代表格式,格式中会有一个或者多个转换符,后续参数代表替换内容,用于替换转换符。说这么多也没用,直接上代码。

package pers.frank.test;

import java.util.Date;

public class Test{

    public static void main(String[] args) {

        /*** 输出字符串 ***/

        // %s表示输出字符串,也就是将后面的字符串替换模式中的%s

        System.out.printf("%s", new Integer(1212));

        // %n表示换行

        System.out.printf("%s%n", "end line");

        // 还可以支持多个参数

        System.out.printf("%s = %s%n", "Name", "Zhangsan");

        // %S将字符串以大写形式输出

        System.out.printf("%S = %s%n", "Name", "Zhangsan");

        // 支持多个参数时,可以在%s之间插入变量编号,1$表示第一个字符串,3$表示第3个字符串

        System.out.printf("%1$s = %3$s %2$s%n", "Name", "san", "Zhang");

        /*** 输出boolean类型 ***/

        System.out.printf("true = %b; false = ", true);

        System.out.printf("%b%n", false);

        /*** 输出整数类型***/

        Integer iObj = 342;

        // %d表示将整数格式化为10进制整数

        System.out.printf("%d; %d; %d%n", -500, 2343L, iObj);

        // %o表示将整数格式化为8进制整数

        System.out.printf("%o; %o; %o%n", -500, 2343L, iObj);

        // %x表示将整数格式化为16进制整数

        System.out.printf("%x; %x; %x%n", -500, 2343L, iObj);

        // %X表示将整数格式化为16进制整数,并且字母变成大写形式

        System.out.printf("%X; %X; %X%n", -500, 2343L, iObj);

        /*** 输出浮点类型***/

        Double dObj = 45.6d;

        // %e表示以科学技术法输出浮点数

        System.out.printf("%e; %e; %e%n", -756.403f, 7464.232641d, dObj);

        // %E表示以科学技术法输出浮点数,并且为大写形式

        System.out.printf("%E; %E; %E%n", -756.403f, 7464.232641d, dObj);

        // %f表示以十进制格式化输出浮点数

        System.out.printf("%f; %f; %f%n", -756.403f, 7464.232641d, dObj);

        // 还可以限制小数点后的位数

        System.out.printf("%.1f; %.3f; %f%n", -756.403f, 7464.232641d, dObj);

        /*** 输出日期类型***/

        // %t表示格式化日期时间类型,%T是时间日期的大写形式,在%t之后用特定的字母表示不同的输出格式

        Date date = new Date();

        long dataL = date.getTime();

        // 格式化年月日

        // %t之后用y表示输出日期的年份(2位数的年,如99)

        // %t之后用m表示输出日期的月份,%t之后用d表示输出日期的日号

        System.out.printf("%1$ty-%1$tm-%1$td; %2$ty-%2$tm-%2$td%n", date, dataL);

        // %t之后用Y表示输出日期的年份(4位数的年),

        // %t之后用B表示输出日期的月份的完整名, %t之后用b表示输出日期的月份的简称

        System.out.printf("%1$tY-%1$tB-%1$td; %2$tY-%2$tb-%2$td%n", date, dataL);

        // 以下是常见的日期组合

        // %t之后用D表示以 "%tm/%td/%ty"格式化日期

        System.out.printf("%1$tD%n", date);

        //%t之后用F表示以"%tY-%tm-%td"格式化日期

        System.out.printf("%1$tF%n", date);

        /*** 输出时间类型***/

        // 输出时分秒

        // %t之后用H表示输出时间的时(24进制),%t之后用I表示输出时间的时(12进制),

        // %t之后用M表示输出时间的分,%t之后用S表示输出时间的秒

        System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, dataL);

        // %t之后用L表示输出时间的秒中的毫秒

        System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date);

        // %t之后p表示输出时间的上午或下午信息

        System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date);

        // 以下是常见的时间组合

        // %t之后用R表示以"%tH:%tM"格式化时间

        System.out.printf("%1$tR%n", date);

        // %t之后用T表示以"%tH:%tM:%tS"格式化时间

        System.out.printf("%1$tT%n", date);

        // %t之后用r表示以"%tI:%tM:%tS %Tp"格式化时间

        System.out.printf("%1$tr%n", date);

        /*** 输出星期***/

        // %t之后用A表示得到星期几的全称

        System.out.printf("%1$tF %1$tA%n", date);

        // %t之后用a表示得到星期几的简称

        System.out.printf("%1$tF %1$ta%n", date);

        // 输出时间日期的完整信息

        System.out.printf("%1$tc%n", date);

    }

}

 

这里包括了大部分的输出格式,多码几次的话就会使用了。还是那句话,不需要全记住,只需要有一个概念,知道可以实现这样的效果,到时候要用了再来查一查也不迟,之后熟能生巧嘛。

 

String类型中,format方法的用法跟这完全一样,只是不会输出到控制台,而是处理字符串后用于后续代码中。

Java里的输入也不难,但是比输出要稍微麻烦一点,需要先构造一个Scanner对象,然后关联System.in、看代码:

package pers.frank.test;

import java.util.Scanner;

public class Test{

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.println("What's your name?");

        String name = in.nextLine();

        System.out.printf("Hello!%s!How old are you?",name);

        int age = in.nextInt();

        System.out.printf("So, you are %d years old.",age);

    }

}

当调用nextline()方法时,程序会暂停,直到你输入数据并按下回车键。然后把你输入的那一行数据作为结果返回。nextline读入的是一行字符串,而nextInt()方法则期待读入一个整数。如果输入的不是一个整数,就会报错。除了这两个方法以外,还有next()方法,读入一个单词。nextDouble(),读入一个浮点数,hasNext()判断输入中是否还有其他单词,hasNextInt() hasNextDouble() 判断释放还有表示整数或者浮点数。

除了从控制台读取输入之外,还可以从文件中读取。

Scanner in = new Scanner(Path.get("myfile.txt"));

如果文件名包含反斜杠,则需要在反斜杠之前再加一个额外的反斜杠:“c:\windows\text.txt”

如果文件不存在,则会创建文件,可以像输出到System.out一样使用print、println、以及printf方法。


http://chatgpt.dhexx.cn/article/W8K1SmGX.shtml

相关文章

C语言之static关键字详解

目录 前言: 一、几个概念 1.变量 2.局部变量和全局变量 3.变量的作用域 4.变量的生命周期 二、static关键字的作用 三、static关键字修饰局部变量 四、static关键字修饰全局变量 五、static关键字修饰函数 写在最后: 前言: static&am…

static关键字你真的懂了吗?

文章目录 static关键字1、Java中的static1.1 static关键字的定义和性质1.2 实例变量与静态变量1.2.1 实例变量1.2.2 静态变量 1.3 静态代码块1.4 *实例语句块 / 代码块1.5 static总结1.5.1 对java语句的解读1.5.2 什么时候定义为静态的? 2、C/C中的static2.1 局部变…

C语言extern和static关键字详解

C语言extern和static关键字详解 文章目录 1 前言2 作用域2.1 代码块作用域2.2 文件作用域 3 存储类型4 链接属性5 extern和static关键字5.1 extern关键字5.2 static关键字 1 前言 在讲extern和static关键字前,先讲几点相关的基础知识——作用域、存储类型、链接属性…

什么是static关键字

什么是static关键字 static关键字我们经常接触,不过我们一直没有讨论过它到底是什么,有什么具体的作用,那static关键字是什么呢,有啥用呢? static是静态的意思,是一个修饰符,就像是一个形容词&…

static关键字(java)

一、static的用途 1.static修饰的变量和方法是属于类的; 2.static修饰的变量和对象,方法存储在方法区的静态常量池中;是共享的; 3.可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法 4.static修饰的…

static关键字的用法

static关键字用法 目录 一.概述二.使用动机三.使用方法 static关键字修饰类static关键字修饰方法static关键字修饰变量static关键字修饰代码块 一. 概述 > static是一个静态修饰符关键字,表示静态的意思, ①方便在没有创建对象的情况下进行调用。可…

static 关键字用法总结

一、static 关键字的含义 static是Java50个关键字之一。static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法。(注意:不能修饰普通类,除了内部类,这是为什么&#…

java static关键字的作用是什么_static关键字有什么作用

今天主要学习下Java语言中的static关键字。 static关键字的含义及使用场景 static是Java50个关键字之一。static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法。(注意:不能修饰普通类,除了内部类,这是为什么?)class A …

static关键字的作用

目录 C语言中static关键字的作用 1.static关键字修饰局部变量 2.static关键字修饰全局变量 3.static关键字修饰函数 在C中static关键的作用 1.静态成员变量 2.静态成员函数 C语言中static关键字的作用 1.static关键字修饰局部变量 概念: static修饰局部变量就…

静态关键词:static

static关键字的作用 static是静态的意思,可以修饰成员变量,表示给成员变量只在内存中存储一份,可以被共享访问、修改 成员变量可以分为2类1、静态成员变量(有static修饰,属于类,内存中加载一次&#xff…

C# -- static 关键字

一、static关键字 static 关键字,用于修饰类,字段,属性,方法,构造方法等。被 static 修饰的类称之为“静态类”; 被 static 修饰的成员称之为“静态成员”,被修饰过的成员分别称为:…

static关键字详解

1.概述: static:就是多个对象共享同一份数据 一个类的不同对象有些共享的数据,这样我们就可以使用static来修饰 一旦使用了static关键字,那么这样的内容不再属于对象,而是属于类的,所以凡是本类的对象&…

在 C/C++中 static 关键字详解

static 关键字详解 C/C 中的 static1. 静态局部变量2. 静态全局变量全局变量 与 extren 3. static 修饰函数 C的 static 成员静态成员变量const修饰的成员除外 静态成员函数 总结: static是 C/C中的关键字之一,是常见的函数与变量(C中还包括类…

Windows添加路由的方法

假设本来的局域网网关是192.100.10.1,现在要访问网关是192.100.20.0的服务器,可以手动添加路由。 方法: 1.以管理员的身份打开cmd命令窗口 2.输入 route add 192.100.20.0 mask 255.255.255.0 192.100.10.1 -p(最后加上-p就是…

如何在 Linux 上添加路由?

在 Linux 系统中,路由是网络通信的关键组件之一。通过添加路由,您可以指定数据包在网络中的传输路径,从而实现网络连接和数据转发。本文将详细介绍如何在 Linux 上添加路由,以便您可以根据需要配置网络路由并实现灵活的网络连接。…

Linux上添加路由,删除路由,修改路由配置(route add, route del, 路由表项基本知识)

路由基础知识: 是由一项或者多项路由表组成的,每个IP报文被发送前,系统都会查找主机路由表,决定将这个报文从 哪个网卡,发送到哪个下一跳。路由表项可以分成主机路由,网络路由和默认路由3种。每条路由表项…

【网络】route和 IP route的区别|route 和 IP route 添加路由

目录 route和 IP route的区别 route 和 IP route 显示路由 route 和 IP route 添加路由 route 添加路由 IP route 添加路由 添加的路由持久化 linux下添加路由的方法 使用 route 命令 使用ip route 命令 route和 IP route的区别 route是一个相当简单的工具,非常适合…

addRoute动态添加路由

项目进行到最后,突然通知说要使用动态路由,在网上找了一堆方法,发现不是要使用vuex就是要搭配缓存,这个时候完全不知如何下手,该怎么做简单一点呢? 先介绍一下项目需求,根据用户登录后返回的唯…

CentOS7添加路由

目录 一、route命令介绍 1、语法 2、命令使用举例 默认(网关)路由 主机路由 网络路由 二、ip 命令 三、永久添加路由条目(重启不会失效) 一、route命令介绍 命令用来显示并设置Linux内核中的网络路由表,设置的…