欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

零基础入门学习java第七节:Java输入与输出

程序员文章站 2022-10-06 12:00:06
本篇主要介绍Java的输入与输出,当然,这里说的是控制台下的输入与输出,窗口程序的设计将会再后续篇章中有详细说明。 Java的输出很简单,调用System.out.println()即可打印输出你想要输出的内容。我们之前也已经看到过。调用println()方法时,会自动在后面加上换行符,如果不希望它 ......
零基础入门学习java第七节:Java输入与输出

 

本篇主要介绍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);
}
}

好的,这其实是摘别人的代码(溜了溜了)。

零基础入门学习java第七节:Java输入与输出

 

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

零基础入门学习java第七节:Java输入与输出

 

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 ext.txt”

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

文件读写在之后的栗子中会有详细介绍,这里暂不多说。