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

news2024/12/24 21:34:42

目录

一.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.coloradmin.cn/o/1404907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【江科大】STM32:外部中断(Extern Interrupt)

文章目录 EXTI(Extern Interrupt)外部中断EXIT的基本结构EXIT框图 旋转编码器简介库函数:对射式红外传感器计次:代码展示:旋转编码器计次注意: EXTI(Extern Interrupt)外部中断 功能…

vue2中CesiumV1.113.0加载离线地形数据

离线地形数据可以放在vue项目下的public/data/sjzTerrain文件下 由于地形离线数据数量太大,在vue项目编译时会报如下错误: ERROR in EMFILE: too many open files, open D:\test_project\vue_cesium_demo\public\data\sjzTerrain\.tmp\14\26787\11669.h…

macos pip3 install pycryptodome导入from Crypto.Cipher import AES报错

问题: 已经使用pip3 install pycryptodome安装成功了,但是导入from Crypto.Cipher import AES还是提示Unresolved reference Crypto 原因: 一句话:安装文件大小写问题(这只是我遇到的一种情况)。 修改&am…

牛客周赛 Round 18 解题报告 | 珂学家 | 分类讨论计数 + 状态DP

前言 整体评价 前三题蛮简单的,T4是一个带状态的DP,这题如果用背包思路去解,不知道如何搞,感觉有点头痛。所以最后还是选择状态DP来求解。 欢迎关注 珂朵莉 牛客周赛专栏 珂朵莉 牛客小白月赛专栏 A. 游游的整数翻转 这题最好…

03.Elasticsearch应用(三)

Elasticsearch应用(三) 1.核心概念介绍 注意:类型(Type) 6.0之前的版本有Type概念,type相当于关系型数据库的表,ES官方将在ES9版本中彻底删除Type。7里面Type为ES默认的类型_doc 2.Cat API 介…

面试经典 150 题 - 多数元素

多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums [3,2,3] 输出&#xff1…

Ubutu下的Shell操作

前言 在学习Ubuntu系统时,Shell操作是必不可少的知识。本篇文章是记录我学习Linux系统时,Ubutu下的Shell操作,希望我的分享对大家有所帮助! 目录 前言 一、什么时是Shell 二、Shell的基本操作 三、常用的Shell命令 1、目录信…

C++提高编程——STL:string容器、vector容器

本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…

机器学习:什么是监督学习和无监督学习

目录 一、监督学习 (一)回归 (二)分类 二、无监督学习 聚类 一、监督学习 介绍:监督学习是指学习输入到输出(x->y)映射的机器学习算法,监督即理解为:已知正确答案…

React三大属性

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

【C++修行之道】STL(初识pair、vector)

目录 一、pair 1.1pair的定义和结构 1.2pair的嵌套 1.3pair自带排序规则 1.4代码示例 二、vector 2.1vector的定义和特性 2.2vector的初始化 一维初始化: 2.3vector的常用函数 2.4vector排序去重 排序: 去重: 示例: 一、pair …

Redis(六)

1、Redis的缓存淘汰策略 1.1、内存配置 首先查看Redis最大的占用内存,打开redis配置文件,设置maxmemory参数,maxmemory是bytes字节类型,注意转换。 打开配置文件发现没有配置,那么默认是多少的内存,是这样…

[pytorch入门] 3. torchvision中的transforms

torchvision中的transforms 是transforms.py工具箱,含有totensor、resize等工具 用于将特定格式的图片转换为想要的图片的结果,即用于图片变换 用法 在transforms中选择一个类创建对象,使用这个对象选择相应方法进行处理 能够选择的类 列…

MAXWELL

MAXWELL 一、maxwell是什么 maxwell 官网地址:http://maxwells-daemon.io/ 因为官网是纯英文的,倒是不难懂,但总觉得写的略粗糙(也可能笔者英文水平确实拉胯,有待提高)。所以还是自己百度了一下。 当my…

实战:加密传输数据解密

前言 下面将分享一些实际的渗透测试经验,帮助你应对在测试中遇到的数据包内容加密的情况。我们将以实战为主,技巧为辅,进入逆向的大门。 技巧 开局先讲一下技巧,掌握好了技巧,方便逆向的时候可以更加快速的找到关键…

hpa自动伸缩

1、定义:hpa全称horizontal pod autoscaling(pod的水平自动伸缩),这是k8s自带的模块。pod占用CPU的比率到达一定阀值会触发伸缩机制(根据CPU使用率自动伸缩) replication controller副本控制器&#xff0c…

TortoiseSVN源码安装与迁移全攻略

一、前言 随着版本控制系统的普及,越来越多的开发者和团队开始使用SVN(Subversion)来管理代码。本文将详细介绍TortoiseSVN的源码安装及迁移过程,帮助您轻松掌握这一版本控制工具。 二、TortoiseSVN源码安装 依赖环境安装&…

写给不耐烦程序员的 JavaScript 指南(五)

第七部分:集合 原文:exploringjs.com/impatient-js/pt_collections.html 译者:飞龙 协议:CC BY-NC-SA 4.0 下一步:30 同步迭代 三十、同步迭代 原文:exploringjs.com/impatient-js/ch_sync-iteration.htm…

SRC实战 | EDU通用漏洞分享

又是没事干的一天,写一下之前挖的两个通用漏洞。 1.信息搜集 首先就是信息搜集,挖edu没账号怎么办呢?sg不行,咱就找能自己注册的站。 Hunter:web.title”XX大学”&&web.body”注册” Fofa:host”…

11-数组-二维区域和检索 - 矩阵不可变

这是数组的第11篇算法,力扣链接。 给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的 左上角 为 (row1, col1) ,右下角 为 (row2, col2) 。 实现 NumMatrix 类: NumMa…