Java面试深度解析:System.out.println()的奥秘

5星 · 超过95%的资源 0 下载量 32 浏览量 更新于2024-09-01 收藏 356KB PDF 举报
"本文主要讨论了Java面试中面试官对System.out.println()的深入提问,强调了理解和掌握面向对象编程的重要性,并通过源码分析了System类和PrintStream类的使用。文章还提到了System.out.print()与System.out.println()的区别,以及在类中使用System.out.println()的注意事项。" System.out.println()是Java编程中常见的输出语句,用于向控制台打印信息。在面试中,面试官可能会深入探讨这一基础概念,以此来评估面试者对Java面向对象编程的理解程度。System是Java的内置类,它包含了一些静态变量和方法,其中out是一个静态数据成员,类型为PrintStream。PrintStream是java.io包中的一个类,负责处理输出操作。 out的静态属性意味着我们无需创建System类的实例就能直接访问它,因此可以直接使用System.out进行调用。PrintStream类提供了多种println()方法的重载形式,可以处理不同类型的数据输出,包括字符串、整型、浮点型等,确保了灵活性。 接下来,我们探讨System.out.print()与System.out.println()的区别: 1. System.out.print()会连续输出多个内容,不会在每个内容后自动换行,而System.out.println()会在输出内容后自动添加一个换行符,使得下一行内容会出现在新的行首。 2. 在实际编程中,print()常用于连续输出多个元素,而println()更适合于输出单个元素或者每条独立的信息。 在Java类的定义中,我们不能直接在类的主体内使用System.out.println(),因为类的主体只允许包含方法和属性定义。如果要在类中使用,我们需要将其放在方法(如main方法)或初始化块中。例如: ```java public class Demo { public static void main(String[] args) { char[] ch = {'x', 'y'}; System.out.println(ch); // 正确的使用方式 // 初始化块示例 { char[] ch1 = {'x', 'y'}; System.out.println(ch1); } } } ``` 理解System.out.println()不仅涉及Java的基础语法,还涉及到面向对象编程的核心思想。面试官通过询问这一问题,期望考察应聘者的代码阅读能力、对Java语言特性的掌握以及对程序执行流程的深入理解。熟练掌握这些基础知识对于成为一名优秀的Java开发者至关重要。

package bore; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.Scanner; public class DVDMgr { public DVDSet[] dvds = new DVDSet[3]; public static void main(String[] args) { DVDMgr dm = new DVDMgr(); dm.intital(); dm.startMenu(); } /** * 启动目录 */ public void startMenu() { System.out.println("欢 迎 使 用 迷 你 DVD 管 理 器"); System.out.println("-------------------------------------"); System.out.println("1. 新 增 DVD"); System.out.println("2. 查 看 DVD"); System.out.println("3. 删 除 DVD"); System.out.println("4. 借 出 DVD"); System.out.println("5. 归 还 DVD"); System.out.println("6. 退 出 "); System.out.print("--------------------------------------\n"); System.out.print("请选择: "); Scanner input = new Scanner(System.in); int choice = input.nextInt(); switch(choice){ case 1: System.out.println("此处实现新增DVD "); add(); System.out.println("**************************"); returnMain(); break; case 2: System.out.println("此处实现查看DVD "); search(); System.out.println("**************************"); returnMain(); break; case 3: System.out.println("此处实现删除DVD "); del(); System.out.println("**************************"); returnMain(); break; case 4: System.out.println("此处实现借出DVD "); lend(); System.out.println("**************************"); returnMain(); break; case 5: System.out.println("此处实现归还DVD "); try { relend(); } catch (ParseException e) { e.printStackTrace(); } System.out.println("**************************"); returnMain(); break; case 6: System.out.println("\n谢谢 使 用!"); break; }

2023-07-20 上传

package chap03; import java.util.Scanner; import chap02.SqList; public class LinkListTest { public static void menu() { System.out.println("-------------------"); System.out.println("操作选项菜单"); System.out.println("1.输出表长"); System.out.println("2.插入元素"); System.out.println("3.删除元素"); System.out.println("4.定位元素"); System.out.println("5.取表元素"); System.out.println("6.显示线性表"); System.out.println("0.退出"); System.out.println("-------------------"); } public static void main(String[] args) throws Exception { LinkList L =new LinkList(8); Scanner sc = new Scanner(System.in); // 第二步:显示操作菜单 menu(); // 第三步:循环选择操作菜单,直到输入操作代码为0结束程序 int op; do { System.out.print("请输入操作代码(0-退出):"); op = sc.nextInt(); switch (op) { case 1: System.out.println("链表的长度:" +L.length()); break; case 2: System.out.println("请输入要插入的位置:"); // 位置是从0开始的 int loc = sc.nextInt(); System.out.println("请输入要插入该位置的值:"); Object num = sc.next(); L.insert(loc,num); System.out.println("插入操作成功!"); break; case 3: System.out.print("请输入要删除元素的位置:"); loc = sc.nextInt(); L.remove(loc); System.out.println("删除操作成功"); break; case 4: System.out.print("请输入要查找的元素:"); num = sc.next(); System.out.println(num + "在表中的位置:" +L.indexOf(num)); break; case 5: System.out.print("请输入要查找元素的位置:"); loc = sc.nextInt(); System.out.println(loc + "位置上的元素为:" + L.indexOf(loc)); break; case 6: L.display(); break; case 0: System.out.print("程序结束!"); return; default: System.out.print("输入操作代码有误,请重新选择!"); } } while (op != 0); sc.close(); } }

2023-03-14 上传