资讯动态

java简单的输入和输出,初识方法

发布时间:2026/10/15 12:22:02 来源:尧图企业网站定制
简单的Java输入输出一.输出java的输出有下面三种方式一一来介绍1·System.out.println()要输出的内容放在后面的括号内输出变量的值直接写变量名输出字符串用双引号引起来如果既要输出变量值还要输出字符串使用加号连接。下面是代码示例只写主要部分类和main方法省略在这里插入代码片//打印变量值intage18;Stringname张三System.out.println(age);System.out.println(name);//打印字符串System.out.println(我叫张三);//同时打印字符串和变量值intage118;Stringname1张三System.out.println(我叫name1,我的年龄是age1);下面是代码在idea中的运行结果这种输出方式自带换行即把内容打印完之后自动换行而且打印变量和字符串都很方便是java中比较常用的输出还有个细节就是如果想再输出结果中单独换行直接写System.out.println()就可以了2.System.out.print()这个和上面System.out.println()的唯一区别就是它打印完结果后不会自动换行把上面代码中的System.out.println()全部换成System.out.print()在这里插入代码片intage18;Stringname张三System.out.print(age);System.out.print(name);//打印字符串System.out.print(我叫张三);//同时打印字符串和变量值intage118;Stringname1张三System.out.print(我叫name1,我的年龄是age1);下面是运行结果我们可以看到所有输出内容都在同一行了要想达到换行输出的目的还要单独打印换行符没有上面那个方便3.System.out.printf()这种输出方式就和C语言的printf函数一样了需要占位符这里就不过多介绍了二.输入java的输入是通过用类创建对象然后调用方法实现的学习Java初期了解并学会使用Scanner类即可后续还有 BufferedReader 类Console 类关于类和对象的概念后续会进行介绍现在我们先来学习用Scanner类进行简单的输入。现在使用Scanner类我们直接记住下面语句在这里插入代码片importjava.util.Scanner;ScannerscnewScanner(System.in);对于不同的数据需要调用不同的方法下面看代码示例在这里插入代码片importjava.util.Scanner;publicstaticvoidmain(String[]args){ScannerscnewScanner(System.in);intnum0;numsc.nextInt();//整型doubled0.0;dsc.nextDouble();//浮点型floatf0.0f;fsc.nextFloat();//浮点型}以此类推short型用sc.nextShort(),long型用sc.nextLong(),boolean型用sc.nextBoolean,重点说一下String型和char型char型用sc.next()charAT(0),String型用sc.next(),或者sc,nextLine()除了sc.nextLine()以换行符回车)作为结束标志其余全部已空白字符为结束标志换行符空格键tab键由此引出来两个注意事项1如果输入的字符串里面有空格或者tab键就不能用sc.next(),只能用sc.nextLine();2:如果用sc.nextLine()输入字符串之前输入了一个回车键换行符下面对这两个注意事项进行代码示例在这里插入代码片//第一个注意事项//把zhang san存到字符串变量里面并打印出来Stringname1S;name1sc.next();System.out.println(name1);下面是在idea中运行的结果可以看到最后只打印了zhang而不是zhang san,这就是因为zhang和san之间的空格键告诉sc.next()到这结束了后面的东西不放到name1这个字符串变量里面换成sc.nextLine()即可解决运行结果如下下面来看第二个注意事项在这里插入代码片intnum0;Stringnames;numsc.nextInt();namesc.nextLine();我们发现输入500之后按下回车程序就直接打印出500了这就是因为回车键被next.Line给读取了存放到了str里面因此为避免这种情况出现我们再strsc.nextLine()前面加入一条sc.nextLine()语句即可下面是加入sc.nextLine()语句之后的运行截图认识Java中的方法其实java中的方法可以理解成C语言中的函数目的就是把代码模块化可重复利用。方法体就是函数体参数的写法也和C语言函数的参数写法一样方法也有返回值java方法和C语言函数都有限制符后续会对Java中方法的修饰符做详细介绍,目前我们把所有自定义方法的修饰符全部写成public static。下面来看一下方法的写法,注意方法是写在类里面的且java中方法不能嵌套定义即在一个方法中不能定义另外的方法只可调用,调用方法和C语言调用函数一样用方法名调用1.方法的语法格式修饰符 返回值类型 方法名参数列表{方法体return 返回值;(void型可以不写### 方法的嵌套调用写一个add方法,功能是返回两个整数的和在这里插入代码片publicclassTest{publicstaticintadd(inta,intb){returnab;}publicstaticvoidmain(String[]args){//调用add方法intretadd(3,5);System.out.println(ret);}}运行结果如下2.方法重载在介绍方法重载之前我们先看一个引例一个服装设计师花了三个月设计出来一件版型很好的衣服服装厂为了盈利肯定会做出各种尺寸的衣服那回到java中我们设计出来了能够计算两个整数的和的add方法那如果我i们想计算三个整数的和三个小数的和呢?重新写别的方法吗那要记住的方法名是不是太多了看起来有点麻烦为此Java提供了方法重载所谓方法重载就是一系列的方法的名字都一样但是它们的参数列表不一样个数类型顺序不同。下面看代码示例在这里插入代码片publicclassTest(){publicstaticintadd(inta,intb){returnab;}publicstaticintadd(inta,intb,intc){returnabc;}publicstaticdoubleadd(doublea,doubleb,doublec){returnabc;}publicstaticvoidmain(){System.out.println(add(3,5));System.out.println(add(1,2,3));System.out.println(add(1.1,2.2,3.3));}}运行结果如下三个名字都为add的方法由于参数列表的不同因而实现了不同的功能这就是方法重载3.方法的递归Java方法的递归和C语言函数递归一样只是语法不同而已这里不再过多赘述递归的定义和递归的注意事项了直接看代码示例在这里插入代码片importjava.util.Scanner;//汉诺塔问题打印出转移过程并统计挪动了多少次盘子publicclassTowerOfHanoi{staticintcount0;publicstaticvoidTower(intn,charsource,charmid,chardestination){if(n0){return;}Tower(n-1,source,destination,mid);System.out.println(source-n-destination);count;Tower(n-1,mid,source,destination);}publicstaticvoidmain(String[]args){intn0;chara;charb;charc;ScannerscnewScanner(System.in);System.out.println(请输入盘子数目和柱子编号,第一个编号对应盘子最初放的位置);nsc.nextInt();asc.next().charAt(0);bsc.next().charAt(0);csc.next().charAt(0);//调用Tower方法完成汉诺塔问题Tower(n,a,b,c);System.out.println(所有盘子已转移完毕);System.out.println(一共挪了count次盘子);}}下面是输入和执行结果在这里插入代码片//递归求汉诺塔的第n项importjava.util.Scanner;publicclassFib{publicstaticintFact(intn){if(n1||n2){return1;}else{returnFact(n-1)Fact(n-2);}}publicstaticvoidmain(){ScannerscnewScanner(System.in);intnsc.nextInt();System.out.print(斐波那契数列的第n项是 );System.out.println(Fact(n));}}下面是输入和执行结果4.方法的嵌套调用和链式访问方法的嵌套调用方法的嵌套调用指的是在一个方法内部调用另一个方法。这种方式可以将复杂任务分解为多个小任务每个方法负责完成特定的功能提高代码的可读性和可维护性。defadd(a,b):returnabdefmultiply(a,b):returna*bdefcalculate(a,b):# 嵌套调用 add 和 multiply 方法sum_resultadd(a,b)product_resultmultiply(a,b)returnsum_result,product_result resultcalculate(3,4)print(result)# 输出 (7, 12)链式访问链式访问是指通过连续调用多个方法来实现功能每个方法的返回值是下一个方法调用的对象。这种方式常见于面向对象编程中尤其是构建流畅接口Fluent Interface。classCalculator:def__init__(self,value):self.valuevaluedefadd(self,num):self.valuenumreturnself# 返回 self 以实现链式调用defmultiply(self,num):self.value*numreturnselfdefget_result(self):returnself.value# 链式调用resultCalculator(5).add(3).multiply(2).get_result()print(result)# 输出 16嵌套调用与链式访问的区别嵌套调用一个方法内部调用其他方法通常用于分解任务。链式访问通过返回对象自身如self或其他对象实现连续调用方法。实际应用场景嵌套调用适合将复杂逻辑拆分为多个小方法便于测试和复用。链式访问适合构建流畅的 API例如数据库查询构建器或字符串处理。# 链式访问的字符串处理示例text HELLO, WORLD! cleanedtext.strip().lower().replace(,,)print(cleaned)# 输出 hello world!通过合理使用嵌套调用和链式访问可以编写出更加清晰、高效的代码。上面有关对象和类的内容后续会介绍1

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑