c语言学习完转到java后,第一个感觉就是java的写法很复杂,同时,在常用的数据类型的输入输出上也没有c语言那么方便。在c语言上面,用 scanf 函数可以很方便的输入大多数格式,在java上却不行,java当中没有类似于scanf的语句。本文搭配本人的输入输出习惯及做题的记录,对这些不同类型的如整型的,是整型的但隔开参数的…做一个总结。下面的说明中主类均为main类,我们使用scanner来进行输入。每一种输入或输出可能有多种方法,本人只写了较为简单的写法。
这里说的char型指的是只输入一个字符的情况。
import java.io.ioexception;//导入包public class main { public static void main(string[] args) throws ioexception { char ch = (char)system.in.read();//<1> system.out.println((int)ch); }}
说明:需要搭配ioexception异常来使用。<1>中,system.in就是从标准输入流(最常见的是键盘)输入,rand()方法是从这个流里面读取输入的内容。<1>的输入结果是int型的,需要强制转换成char型的。
这里指的是每一行只有一个int型格式的输入的情况。比如,每一行只输入一个整型的情况。
import java.util.scanner;public class main { public static void main(string[] args) { scanner scan = new scanner(system.in); int num = scan.nextint(); system.out.println(num); }}
备注:需要为long num,否者num很大时,结果不准确。
类似于 23 34这样的格式。两个数之间带了空格,这个时候,单用int输入是解决不了问题的,这个时候,需要换一种角度。我们将23 34整体看成一个字符串,然后在空格处分割,分成23和34两个字符串,在将这两个字符串转换成整型就可以了。关于split()的方法请查看官方的帮助手册。
import java.util.scanner;public class main { public static void main(string[] args) { scanner scan = new scanner(system.in); string[] str = scan.nextline().split("[ ]");//分成几块,就有几个字符串数组,这里是两块 int a = integer.parint(str[0]); int b = integer.parint(str[1]);//等等等... system.out.println(a + " " + b); }}
类似于输入a=3,b=2这样的,方法和2.1中说明的情况是一样的。这里我们直接上例题。
long类型和int类型的输入类似,不再累述。
在java中,应该较多的使用double型,而不是float型。
浮点型的主要是它的格式化输出,比如保留两位小数这样的格式。在java中,有类似于c语言那样的printf方法,我们还可以使用string中的format()方法来实现。
1.1 double保留两位格式输出
import java.util.scanner;public cl钝化反应ass main { public static void main(string[] args) { scanner scan = new scanner(system.in); double num = scan.nextdouble(); 雅迪斯女装 string a = string.format("%.2f", num); system.out.println(a); }}//printf格式输出://system.out.printf("%2f", num);
1.2 举例说明
import java.util.scanner; public class main { public static void main(string[] args) { scanner scan = new scanner(system.in); string str = scan.nextline(); string[] num = str.split("[;,]"); string a = string.format("%.2f", double.pardouble((num[1]))); string b = string.format("%.2f", double.pardouble((num[2]))); string c = string.format("%.2f", double.pardouble((num[3]))); system.out.println("the each subject score of no. " + num[0] + " is " + a + ", " + b + ", " + c + "."); }}
在c语言中,循环多次输入有两种较为简单的方式:
while(scanf("%d", &n) != eof)
while(~scanf("%d", &n) )
在java中,也有简单的方式:
while(scan.hasnext())
要注意的是多组输入单个字符的时候,需要以字符串格式输入来转换成字符类型。
输入和c语言中的相似。不过,要注意的是字符串这样的输入,在c语言中,它是指针类型,在java中,有它专属的字符串类型,不能像c语言那样,没有学指针之前,循环输入每一个字符组成字符串。
import java.util.scanner;public class main { public static void main(string[] args) { scanner scan = new scanner(system.in); int[] arr = new int[3];//输入3个 for(int i = 0; i < arr.length; i++) { arr[i] = scan.nextint(); } for(int i = 0; i < arr.length; i++) { system.out.print(arr[i] + " "); } }}
使用arrays中的tostring()方法即可。
import java.util.scanner;import java.util.arrays;public class main { public static void main(string[] args) { scanner scan = new scanner(system.in); int[] arr = new int[3];//输入3个 for(in化学反应速率和限度t i = 0; i < arr.length; i++) { arr[i] = scan.nextint(); } system.out.println(arrays.tostring(arr)); }}
输入1,2,3 结果你将会看见[1,2,3]。有时候oj题的格式是1 2 3。[1,2,3]这样的格式也能通过。
由于大多数输入转为了字符串类型。因此,对于字符串,需要进行转换的操作比较多,比如分割后的字符串转换成整型,浮点型,数组等。
int a = integer.parint(str[0]);//假设分割后str[0]是一个字符‘1'
int num = 10;// 方法1string str1 = num + "";//“”表示空串,不同于java中的null// 方法2string str2 = string.valueof(num);
import java.util.scanner;import java.util.arrays;public class main { public static void main(string[] args) { scanner scan = new酶活力单位 scanner(system.in); string str = scan.nextline(); char[] arr = str.tochararray(); for (int i = 0; i < arr.length; i++) { system.out.print(arr[i] + " "); } }}
// 方法1new string(arr);//方法2string.copyvalueof(arr);
描述:写一个函数,输入一个字符串,实现字符串的逆置。代码如下:
import java.util.scanner; public class main { public static string my_rever(string 策划书封面str) { int left = 0; int right = str.length() - 1; char[] arr = str.tochararray(); while(left < right) { char tmp = 0; tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; left++; right--; } return new string(arr); } public static void main(string[] args) { scanner scan = new scanner(system.in); string str = scan.next(); string ret = my_rever(str); system.out.println(ret); }}
结果如下:
这些输入是常见的。多写写代码就会熟练的掌握他们。
到此这篇关于java中常用数据类型的输入输出详解的文章就介绍到这了,更多相关java数据类型的输入输出内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 04:17:44,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/2eaf8c9c6e264731794c32395deee7b6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java中常用数据类型的输入输出详解.doc
本文 PDF 下载地址:Java中常用数据类型的输入输出详解.pdf
留言与评论(共有 0 条评论) |