首页 > Python资料 博客日记
java(爪哇)------输入与输出语句(详解) (๑•̌.•๑)
2024-09-27 23:00:05Python资料围观41次
目录
System.out.println() -----输出并换行
System.out.print() -----输出但不换行
System.out.printf() -----类似C语言的printf()输出语句,按格式进行输出
2.2-----String类型next()、nextLine()、hasNext(),hasNextLine()
2.3-----int类型nextInt()、nextInt(int radix)、hasNextInt()
对于初识java的小伙伴,时常为输入和输出语句所困扰,对于next()、nextLine()、hasNext()、hasNextLine()、nextInt()、hasNextInt() 等类的使用方法很是头疼。这篇博客将作出详细解释,尽可能的帮助大家扫除障碍,那么废话不多说,我们直接开始吧~
一.java的输出语句:
java常用的输出语句有三种:
-
System.out.println() -----输出并换行
示例:
public class JavaPrint {
public static void main(String[] args) {
System.out.println("Hello");//输出Hello并换行
System.out.println("World");//输出World并换行
}
}
-
System.out.print() -----输出但不换行
示例:
public class JavaPrint {
public static void main(String[] args) {
System.out.print("Hello");//输出Hello不换行
System.out.print("World");//输出World不换行
}
}
-
System.out.printf() -----类似C语言的printf()输出语句,按格式进行输出
输出格式详情:
//%表示进行格式化输出,%之后的内容为格式的定义
格式控制符 说明
--------------------------------------------------
%d 输出int型数据
%c 输出char型数据
%f 输出浮点型数据,小数部分最多保留6位
%s 输出字符串数据
%md 输出的int型数据占m列
%m.nf 输出的浮点型数据占m列,小数点保留n位
示例:
public class JavaPrint {
public static void main(String[] args) {
int a=1;
int b=2;
double c=3.1415926;//变量的赋值与初始化
System.out.printf("%5d %5d %7.2f",a,b,c);//对数据按格式输出
}
}
这里由于其他的输出格式类似,就不再赘述了
二.java的输入语句:
键盘输入代码的四个步骤:
1、导包:import java.util.Scanner;
2、创建Scanner类型的对象:Scanner scanner= new Scanner( System.in) ;
3、调用Scanner类的相关方法(next() / nextXxx()) ,来获取指定类型的变量
4、释放资源:调用Scanner对象的close()方法, scanner.close();
2.1-----Scanner的基础用法:
//1.导包
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
//2.创建Scanner类型的对象
Scanner sc=new Scanner(System.in);
//输出提示信息
System.out.print("请输入:");
//3、调用Scanner类的相关方法(`next() / nextXxx()`) ,来获取指定类型的变量
int a=sc.nextInt();
System.out.print("输入的数据为:"+a);
//4、释放资源:调用Scanner对象的close()方法,-> `scanner.close();`
sc.close();
}
}
2.2-----String类型next()、nextLine()、hasNext(),hasNextLine()
- String类型的next()与nextLine():
(1)这两个方法都是属于String类型的方法,都可以用来获取在控制台输入的字符串。
(2)
next()
方法获取的是没有被空格、换行、回车符
隔断的连续字符串。(3)
nextLine()
方法获取的是在回车符
之前,所输入的一整行字符串,回车符
作为分割点,空格、换行符
没有影响。
示例1:
//1.导包
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
//创建Scanner类型的对象
Scanner scanner = new Scanner(System.in);
//输出提示信息
System.out.print("请输入一个没有空格的字符串:");
String string1 = scanner.next();//输入字符串
System.out.println("输入一个没有空格的字符串后,得到的结果:" + string1);
System.out.println("");//打印换行
System.out.println("===================分隔线========================");
System.out.println("");//打印换行
System.out.print("请输入一个有空格的字符串:");
String string2 = scanner.next();
System.out.println("输入一个有空格的字符串后,得到的结果:" + string2);
scanner.close();
}
}
输出:
由于有空格键,这里的Hello World被隔断,所以只输出了Hello
示例2:
//1.导包
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
//创建Scanner类型的对象
Scanner scanner = new Scanner(System.in);
//输出提示信息
System.out.print("请输入一个没有空格的字符串:");
String string1 = scanner.nextLine();//输入字符串
System.out.println("输入一个没有空格的字符串后,得到的结果:" + string1);
System.out.println("");//打印换行
System.out.println("===================分隔线========================");
System.out.println("");//打印换行
System.out.print("请输入一个有空格的字符串:");
String string2 = scanner.nextLine();
System.out.println("输入一个有空格的字符串后,得到的结果:" + string2);
scanner.close();
}
}
输出:
而nextLine()不受除了回车键以外的 空格,换行符影响
- String类型的hasNext()与hasNextLine() :
这两个方法对于输入流的检测存在差异:
- hasNext()方法以检测接下来是否还有非空字符为主,如果有则返回true,否则false
- hasNextLine()方法,从名字可以推测,是以行的方式去判断的,即判断接下来是否还有一行(\n空行也被当作一行),如果有则返回true,反之返回false
示例1:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入:");//输入提示信息
while(scanner.hasNext()){ //判断是否有非空字符
String string1=scanner.next();//输入
System.out.println("这个字符串是:"+string1);
}
scanner.close();
}
}
输出:
注意这里是一行一行的进行输出
示例2:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入:");
while(scanner.hasNextLine()){//判断是否为字符串,并包括空格在内
String string1=scanner.nextLine();//输入
System.out.println("这个字符串是:"+string1);
}
scanner.close();
}
}
输出:
这里则是按行输出,通常情况下,最好是hasNext()
与next()
方法搭配使用,hasNextLine()
与nextLine()
方法搭配使用
2.3-----int类型nextInt()、nextInt(int radix)、hasNextInt()
(1)nextInt()
方法:获取一个从控制台输入的整数。如果输入的数字不是int型,会报错;如果数字之间被空格隔开,此时与next()
方法类似,会获取第一个空格之前的数字。
示例:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字:");
int n=scanner.nextInt();//输入数字
System.out.println("这个数字是:"+n);//打印与数字相关的信息
scanner.close();
}
}
输出:
如果输入的不是数字,会报错:
(2)nextInt(int radix)
方法:括号中的int radix
代表的是读入数字的进制,比如2进制、8进制、10进制、16进制,代表进制的选择,如果为空,默认是10进制。方法执行完成后,读入的数字会转换成10进制的数字进行返回。
示例:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字:");
int n=scanner.nextInt(2);//输入一个二进制数字
System.out.println("这个数字是:"+n);//打印时会转化为十进制
scanner.close();
}
}
输出:
二进制101 转十进制 ----》1*2^0+0*2^1+1*2^2=5
(3) hasNextInt()
方法会先对输入的数据进行数据类型判断,如果得到的是int类型,则返回true给到aa,否则返回false。
示例:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字:");
boolean a=scanner.hasNextInt();//用返回的值判断读入的是否是数字
if(a){
System.out.println("输入正确!");//如果返回值是true,则输入的是数字
}
else{
System.out.println("输入错误!");//如果返回值是false,则输入的不是数字
}
}
}
输出:
2.4-----浮点数 double 类型输入
与int基本类似,这里就不做过多说明,代码解释:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
//2、定义一个Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入小数或整数:");//输出提示信息
//3、调用Scanner类的相关方法nextDouble方式接收小数数据
if (scanner.hasNextDouble()) {
// 判断输入的是否是小数数据
double a = scanner.nextDouble();
// 接收小数
System.out.println("接收小数数据:" + a);
} else {
// 输入错误的信息
System.out.println("输入的不是小数数据!");
}
//4、释放资源:调用Scanner对象的close()方法, `scanner.close();`
scanner.close();
}
}
输出:
2.5----- boolean 布尔类型输入
代码解释:
import java.util.Scanner;
public class JavaSanner {
public static void main(String[] args) {
//2、定义一个Scanner对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入布尔值:" );//输出提示信息
//3、调用Scanner类的相关方法nextBoolean方式接收布尔数据
if (scanner.hasNextBoolean()) {
// 判断输入的是否是布尔数据
boolean a = scanner.nextBoolean();
// 接收布尔数据
System.out.println("接收布尔数据:" + a);
} else {
// 输入错误的信息
System.out.println("输入的不是布尔数据!");
}
//4、释放资源:调用Scanner对象的close()方法, `scanner.close();`
scanner.close();
}
}
输出:
博客到这里也是结束了,制作不易,喜欢的小伙伴可以点赞加关注支持下博主,这对我真的很重要~~
标签:
上一篇:Excel读写之xlrd模块
下一篇:Python——贪吃蛇
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj