题目:编写一个接受两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。
解析:有很多种可能,看例子先
import java.util.*; public class test { static void f(boolean b) {if(b == true) System.out.println(true); else System.out.println(false);} static void stringTest(String s, String t) { f(s == t); f(s.equals(t)); f(t.equals(s)); } public static void main(String[] args) { String s = "one", t = "two"; test.stringTest(s, t); System.out.println("-------------------------"); String s1 = "one", t1 = "one"; test.stringTest(s1, t1); System.out.println("-------------------------"); String s3 = new String("one"), t3 =new String("one"); test.stringTest(s3, t3); System.out.println("-------------------------"); String s2 = "one", t2 = s2; test.stringTest(s2, t2); System.out.println("-------------------------"); } }
结果是这样的:
false false false ------------------------- true true true ------------------------- false true true ------------------------- true true true -------------------------
第一栏三个false很好理解,因为他们表示的内容都不一样当然不相同。
第二栏为什么是三个true呢?虽然我们没有显式的把这两个变量用=连接起来,但是编译器为了节约存储,把表示相同字符串的变量指向了同一块内存区域,也就是说这一个字符串在内存中只保存了一次。
第三栏我们用new来强制编译器分配内存,所以会出现有false有true因为==比较的是引用是否相同,而equals比较的是字面量是否相同(String类重写)
第四栏因为引用相同所以不管是equals和==都输出true
相关推荐
11. **设计模式**:虽然《Java编程思想》并未直接包含所有设计模式,但书中的一些实例和练习题可能会引导读者接触单例模式、工厂模式、装饰器模式等经典设计模式。 以上是根据标题和描述所涵盖的主要Java编程知识点...
【Java网络编程基础】 在Java编程中,网络编程是一个重要的领域,主要涉及到如何通过网络连接进行数据传输。这里我们关注的是TCP Socket通信,这是一种面向连接的、可靠的、基于字节流的传输层通信协议。 1. **...
根据提供的信息,我们可以总结出这份Java基础String类选择题练习题主要聚焦于String及StringBuffer类的使用。尽管具体的题目内容未给出,但从所展示的信息中可以推断出该练习题集涵盖了以下几方面的知识点: ### 一...
Java面向对象练习题是Java编程语言中非常重要的一部分,这些练习题涵盖了Java语言的基础知识,包括Java基本数据类型、运算符、控制结构、方法、类和对象、继承、多态、抽象类和接口等方面。通过这些练习题,可以对...
计算机后端-Java-Java核心基础-第21章 常用类 13. String的常用方法3.avi
计算机后端-Java-Java核心基础-第22章 常用类 07. String课后算法题目3.avi
计算机后端-Java-Java核心基础-第22章 常用类 08. String课后算法题目3拓展.avi
Java核心API练习题 Java作为一门面向对象的编程语言,其核心API提供了许多基本数据类型、数组、字符串和工具类等功能。下面我们将通过一系列练习题来了解Java的核心API。 6.1 基本类型数组 在Java中,数组是一种...
标题和描述提到的是《C++ Primer Plus (第6版)中文版编程练习答案》中的第四章。根据提供的部分内容,本章节练习涉及到的知识点包括输入输出流的使用、字符串的操作、结构体的定义和使用,以及数组的使用。下面将...
Java基础是编程学习的重要部分,...以上就是Java基础练习题涉及的主要知识点,通过深入理解和实践这些内容,你的Java编程技能将得到显著提升。在学习过程中,不断练习和解决实际问题,将有助于更好地掌握这些基础知识。
本资源“Java编程练习题”旨在帮助学习者深化对Java Standard Edition(Java SE)的理解,通过实践来提高编程技能。Java SE是Java平台的基础,提供了用于桌面应用程序和服务器端应用程序开发的核心API。 这些练习题...
" JAVA-练习题第一章-(ppt文档).pptx" 本资源是一个Java语言的练习题集合,涵盖了Java语言的基本特点、核心包、编程应用等方面的知识点。 一、Java语言的基本特点 Java语言是一种纯面向对象的语言,支持分布式的...
计算机后端-Java-Java核心基础-第21章 常用类 05. String类的概述.avi
计算机后端-Java-Java核心基础-第21章 常用类 11. String的常用方法1.avi
计算机后端-Java-Java核心基础-第21章 常用类 12. String的常用方法2.avi
计算机后端-Java-Java核心基础-第22章 常用类 05. String课后算法题目1.avi
计算机后端-Java-Java核心基础-第22章 常用类 06. String课后算法题目2.avi
计算机后端-Java-Java核心基础-第21章 常用类 09. String的一道面试题.avi