java(渣哇)------输入与输出语句(详解) (๑•̌.•๑)

目录

一.java的输出语句:

System.out.println()  -----输出并换行

System.out.print()  -----输出但不换行

System.out.printf()  -----类似C语言的printf()输出语句,按格式进行输出

二.java的输入语句:

 2.1-----Scanner的基础用法:

 2.2-----String类型next()、nextLine()、hasNext(),hasNextLine()

2.3-----int类型nextInt()、nextInt(int radix)、hasNextInt()

 2.4-----浮点数 double 类型输入

2.5----- boolean 布尔类型输入


对于初识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() :

这两个方法对于输入流的检测存在差异:

  1. hasNext()方法以检测接下来是否还有非空字符为主,如果有则返回true,否则false
  2. 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();}
}

输出:

 博客到这里也是结束了,制作不易,喜欢的小伙伴可以点赞加关注支持下博主,这对我真的很重要~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/427872.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bash 5.2中文修订4

Compound Commands 复合命令 复合命令是 shell 编程语言的结构。每个构造都以保留字或控制运算符开始,并以相应的保留字或运算符终止。与复合命令关联的任何重定向(请参阅 Redirections )都适用于该复合命令中的所有命令,除非显式…

AI-数学-高中-8-函数奇偶性

原作者视频:函数】6函数奇偶性(易-中档)_哔哩哔哩_bilibili 示例: 已知奇偶性求解析式: 奇偶、单调函数综合示例:

Redis的五种数据类型(string、hash 、list、set、zset)

Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合&…

云手机与实体手机的对比

在数字化时代,云手机作为一种虚拟手机在云端服务器上运行,与传统的实体手机相比存在诸多差异。让我们深入探讨云手机与实体手机之间的区别,以便更好地了解它们的特点和优势。 外观上的差异 实体手机具有实际的外观和重量,占据一定…

从0开始python算法工程师(一):安装conda

1.为什么要安装conda 主要是为了在命令行使用conda命令管理虚拟环境。 2.两种conda Windows用户,一般建议初学者都安装anaconda(省事);Windows用户,熟练的安装者则安装miniconda(省存储空间)…

影响可变利差有几个因素,Anzo Capital先说两个

了解利差的变化规律,盈利赚钱还不是轻轻松松的事情,但Anzo Capital想问各位投资者,你们知道影响可变利差的价值有几个因素吗?今天就先抛砖引玉,先说两个影响可变利差的因素。 首先就是交易工具的流动性——商品快速买…

Java玩转《啊哈算法》排序之桶排序

过去心不可得,现在心不可得,未来心不可得 目录在这里 楔子代码地址桶排序代码核心部分优缺点 完整代码演示 升级版核心代码完整代码演示 楔子 大家好!本人最近看了下《啊哈算法》,写的确实不错,生动形象又有趣&#x…

ssh登录失败:connection closed by foreign host

问题1: ssh登录不上,连接上就断掉 inetd.conf显示2277已打开,ip也没有冲突。 但是这两个文件是空的(size 0k): dropbear_dss_host_key dropbear_rsa_host_key 把/etc/dropbear里面的东西删掉,重新生成秘钥文件: …

如何有效的开展接口自动化测试,一篇足矣

一、简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中,通过对接口的自动化测试来提高测试效率和测试质量,减少人工测试的工作量和测试成本,并且能够快速发现和修复接口错误&…

ChatGPT与生成式AI在教育领域的应用前景光明,但也伴随着挑战

随着ChatGPT和其他生成式AI技术,如GPT-3.5、GPT-4的出现,我们正见证教育领域一场前所未有的变革浪潮。这些技术不仅推动了教育方式的进步,也为学习者带来了全新的机遇和挑战。 NO.1 教育变革的新浪潮 生成式AI技术,特别是ChatGPT…

Database__进阶

文章目录 😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724?spm1000.2115.3001.5343 🎉 主题: 数据库mysql(高级部分) ⏱️ 创作时间:2024年01月24…

GPT5?OpenAI 创始人:GPT5 已在训练中,需要更多数据

OpenAI 最近发出征集大规模数据集的呼吁,特别是“今天在互联网上尚未公开轻松获取”的数据集,尤其是长篇写作或任何格式的对话。 GPT-5丨AI浪潮席卷全球,OpenAI 推出GPT-4 后,又于上月26日宣布今年9月、10月将推出GPT-4.5&#xf…