零基础如何学Java?Java的输入输出

Java输入年月输出月份天数并七个一行输出 import java.util.Scanner; public class Year { public static void main(String[] args) { Scanner impout=new Scanner(System.in); int year,month,i,m=0; System.out.printf(“请输入年份\n”); year=impout.nextInt(); System.out.printf 阅读详情

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

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

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

        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\text.txt”

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

Java学习视频

Java基础:

Java300集,Java必备优质视频_手把手图解学习Java,让学习成为一种享受

Java项目:

【Java游戏项目】1小时教你用Java语言做经典扫雷游戏_手把手教你开发游戏

【Java毕业设计】OA办公系统项目实战_OA员工管理系统项目_java开发

「滚雪球学Java」:输入输出IO(章节汇总) 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 阅读详情

相关推荐

LK32T102 单片机 操作GPIO实现流水灯(1)

前言: LK32T10232(32位)单片机是一款专为电机控制器和数字电源开发的高性能 MCU。采Cortex-M0 内核,最高工作频率可达 72Mhz,ADC 采样速率 达 1Msps。同时具备协处理器单元可满足各种乘法、除法、移位以及各种 复杂函数运算。 LK32T102(32位)支持单电源供电,且内嵌高精度高速及低速振荡器,以及具备 多种低功耗工作模式。同时,集成了多路增强型 PWM,多通道模拟比较 器和高速运算放大器,可满足多种电机及功率控制应用,并简化系统成本。...

qq_58676187的博客 3190

java里写输出的话是system_零基础入门学习java第七节:Java输入与输出

本篇主要介绍Java的输入与输出,当然,这里说的是控制台下的输入与输出,窗口程序的设计将会再后续篇章中有详细说明。Java的输出很简单,调用System.out.println()即可打印输出你想要输出的内容。我们之前也已经看到过。调用println()方法时,会自动在后面加上换行符,如果不希望它加换行符的话,就要使用print()方法了,之后的打印输出会紧跟其后,而不是另起一行。另外,还有一个很...

weixin_31845243的博客 404

unity shader 后处理实现水墨风格渲染「Low Poly 」变「水墨画 」

水墨风格渲染 这次学校的比赛打算做一个中国古代背景的游戏,所以尝试做了水墨风格的渲染。 主要按以下四步来实现的效果: 根据色调和饱和度调整饱和度。 对图像进行模糊 水墨风格的物体边缘 物体内画笔笔触的模拟 接下来我分别就这四步依次展开说明: 调整饱和度 这里我使用Post-Processing Stack 的Color Grading 来调节饱和度,通过使用Grading Curv...

九级铁甲蛹的博客 1万+

JAVA换行输出

换行输出 //可以直接在输出参数或变量后加\n System.out.print(str+"\n"); System.out.print("\n1234"); System.out.print("\n"+“1234”); //可以在格式化输出类型%n来指定输出一行,其效果等同于println System.out.printf("%s%n","@1234"); System.out.print(“str\n”); //println表示另起一行输出对应参数后,再一次进行换行 是\n不是/n???? ...

qq_51474382的博客 1571

【技术解析】华为智算中心:昇腾AI算力与无损网络如何驱动大模型训练

本文深入解析了华为智算中心如何通过昇腾AI算力与超融合以太无损网络的协同,驱动千亿参数大模型的高效训练。昇腾NPU提供专用计算引擎,而基于RoCE的无损网络则通过PFC、ECN等技术确保万卡集群间的高带宽、零丢包通信,实现算力利用率最大化,解决大规模AI训练的核心瓶颈。

weixin_29311017的博客 200

Keil MDK-ARM v5.43a 部署 STM32F103 开发环境全流程

嵌入式开发环境是 Cortex-M 微控制器工程落地的基础支撑,其核心在于编译器链、设备支持包(DFP)与调试驱动的协同一致性。Keil MDK-ARM 作为工业级 ARM Cortex-M 开发套件,依托 Arm Compiler 和 CMSIS 标准,提供从代码编译、外设抽象到实时调试的全栈能力。其技术价值体现在对 STM32 等主流 MCU 的深度适配、高可靠性 SWD 调试支持,以及与 HAL 库、CubeMX 工程的无缝集成。典型应用场景涵盖温湿度传感终端、工业 PLC 子模块及低功耗边缘节点开发

weixin_33750664的博客 897

【Java】输出时,如何做到每五个输出一行

【Java】输出时,如何做到每五个输出一行

我亦无他,唯手熟尔 1万+

python:实现brutefore破解wifi(附完整源码)

python:实现brutefore破解wifi(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 5733

java 使用switch语句,打印出成绩对应的等级

java 使用switch语句,打印出成绩对应的等级 package shixun22; import java.util.Scanner; import com.sun.org.apache.xerces.internal.util.SynchronizedSymbolTable; public class Shixun22 { // 使用switch语句,打印出成绩对应的等级 public static void main(String[] args){ int score; fin

weixin_43392676的博客 5276

8、 使用TPM密钥:从理论到实践的全面指南

本文全面介绍了如何使用TPM(可信平台模块)进行密钥管理,涵盖密钥的创建、存储、加载、迁移以及特殊密钥类型的使用。通过详细的操作步骤和代码示例,帮助读者掌握TPM密钥管理技术,确保系统的安全性和可靠性。

weixin_36212459的博客 243

二十一.基于国民MCU 的增加M4F DSP库调用的验证

Cortex-M4F内核不仅内置硬件FPU单元,还支持多种DSP指令集,比如支持单周期乘加指令(MAC)等。因此Cortex-M4执行所有的DSP指令集都可以在单周期内完成,而Cortex-M3和M0需要多个指令和多个周期才能完成同样的功能。比如开方运算,M3和M0只能通过迭代法(标准数学函数库)计算,而M4F直接调用VSQRT指令完成。参考:\Nationstech.N32G45x_Library.1.1.1\Nationstech.N32G45x_Library.1.1.1\projects\n32g4

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 934

零基础学Java第三节(基本输入输出)

本篇文章是《零基础学Java》专栏的第三篇文章,文章采用通俗易懂的文字、图示及代码实战,从零基础开始带大家走上高薪之路!

Code_ForYou的博客 521

SwinTransformer 改进:SSPCAB模块(2024最新改进方法)

SSPCAB(Spatial Pyramid Pooling with Channel Attention Block)是2024年提出的一种新型神经网络架构改进方法,专注于在保持高精度的同时显著降低计算复杂度和参数量。该方法通过创新的空间金字塔池化与通道注意力机制的结合,实现了网络结构的紧凑化和运算效率的大幅提升。核心创新点1. 混合空间金字塔池化(Hybrid Spatial Pyramid Pooling, HSPP)多尺度动态核池化:根据输入特征图尺寸动态调整池化核大小和步长交叉级联结构。

Henry的博客 1312

零基础学Java第五讲---输入输出

println输出的内容自带\n, print 不带\nprintf的格式化输出方式和C语言的代码示例printf是基本⼀致的.代码示例格式化字符串这个表格没必要记住,用到的时候根据需要查⼀下就行了。

寻星探路的测试技术博客!!! 530

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

零基础学Java语言-翁凯老师-测验与作业-第四周

零基础学Java语言-翁凯老师 第四周编程题 题目1: 素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。 注意,是第n个素数到第m个素数之间的所有的素数,并不是n和m之间的所有的素数。 输入格式: 两...

糖炒栗子大姐姐 1478

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【零基础学Java知识梳理超详细版】第三章-运算符

零基础学java知识梳理和笔记超详细版,第三章-运算符,很适合零基础小伙伴们学习,有问题欢迎评论和私信!

Eric天哥的博客 244

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java 输入输出流学习总结

文章目录前言:为什么要有输入输出流一、Java 的标准输入输出标准输入 System.in标准输出 System.out程序 exp8_3:简单的输入输出二、输入输出流框架三、输入输出流类的应用四、RandomAccessFile 类输入输出流总结 前言:为什么要有输入输出流 为什么 Java 要有输入输出流?我们先来看看用现有手段写一个简单的输入输出程序: package big; import java.util.Scanner; public class Simlpe_input_and_out

loon_zy的博客 1万+

探索Java编程之旅 —— "韩顺平_循序渐进学Java零基础"全面解析

探索Java编程之旅 —— "韩顺平_循序渐进学Java零基础"全面解析 【下载地址】韩顺平_循序渐进学Java零基础完整笔记1分享 韩顺平_循序渐进学Java零基础【完整笔记】1欢迎来到“循序渐进学Java零基础”笔记资源库 ...

gitblog_06678的博客 958

java零基础多久能学会_小白学java大概需要多久 零基础学起来难么

这取决于每天学习的时间。如果你每天花2-3个小时学习,大约需要半年时间。更重要的是,这取决于你学了多少。如果你想学一门基础知识,只需要几个月。如果你想深入学习,熟悉它,需要一年、两年甚至三五年的时间。小白学Java花了多长时间没有人能给你一个准确的答案,你需要多长时间自学。毕竟每个人的学习能力是因人而异的,自学的时间也不一样,所以自学Java需要多长时间,等你学完以后就知道了。例如,一个零基础的小...

weixin_42299775的博客 1192

零基础Java逆袭之路

走出焦虑!!! 予以行动!!! -不晚

m0_61118741的博客 1362

学电脑先学什么_编程入门先学什么 零基础学编程难吗?

最近有很多关于学习编程的争论。不仅仅是因为与软件开发公司公开的待应聘的职位数量相比较符合招聘要求的人远远无法满足缺口,编程也是工资最高和工作满足感最强的众多职业之一。也难怪越来越多的人都想进入这个行业。当然也有很多小伙伴在学习的路上选择了放弃,主要是太难了学不会,也没有技巧和方法要不就是参加it培训机构结果it培训班不靠谱,最后钱白花,知识还是没有学会,看到高薪,我们尽快的步入计算机行业这个是很好...

weixin_39720181的博客 725

JAVA零基础小白如何学JAVA

Java零基础好学吗?Java该怎么学?在IT行业中,Java开发工程师是一个很吃香的职业,薪资水平也是几乎过万,许多人想转行Java开发,但又担心零基础能不能学会,学起来有多难,如果是零基础自学Java的话是比较困难的,学Java难不难取决于学习方法的选择和努力程度。今天就来讲讲Java零基础好学吗?Java该怎么学?...

Abcd6578787_的博客 469

零基础而且英语不好可以学java吗

以前很多人都不知道有程序员这个岗位,现在随着互联网的发展,越来越多的人意识到当程序员是一个很好的选择。导致每年想学java的人越来越多,其中许多人都是零基础 零基础可以学java吗? 可以的。谁都是从零基础开始学java的,你见过有人出生就会写编程的嘛? 讲道理,如果你对编程真的一点都不懂,完全零认识的话,你会有一个好的开始。就像一张白纸,你可以决定是在上面写字还是画画。许多有了一定编程基础...

java03_15的博客 1244

零基础学Java 第4版 (零基础学编程).pdf 免费下载

下载地址: 零基础学Java 第4版 (零基础学编程).pdf

baidu_41803984的博客 466

学java_老杜带你学Java【第四课】

上期链接:老杜带你学Java【第三课】01写在前面欢迎来到杜老师的「零基础学Java」课堂~今后,我们就是Java软件工程师了。(此处应该有掌声????????????)本专题为《零基础学Java》专题,将带你学习2020年全新Java零基础教程,由杜老师亲自录制,采用JDK13版本,包含316集视频,18篇课堂笔记。我们的推送内容将以「 学习视频 + 对应笔记 」的形式为大家呈现,每周一更。共18课。大...

weixin_39960793的博客 362
上一篇: 用漫画的方式打开Java多线程和开发会发生什么?
下一篇: Java中的main()方法如何运用?
程序媛_小白
博客等级 码龄5年 322粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值