`
zhangyuanjava
  • 浏览: 125880 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

java之String变量和“==”操作符(1)

阅读更多
先看下面的代码,有助于后面的理解。



Java代码
public class Test  
{  
    public static void main(String[] args)  
    {  
        Test t = new Test();  
        t.show();  
    }  
      
    {  
        System.out.println(1);  
    }  
      
    static 
    {  
        System.out.println(2);  
    }  
      
    public void show()  
    {  
        System.out.println(3);  
    }  
      
    {  
        System.out.println(4);  
    }  
      
    static 
    {  
        System.out.println(5);  
    }  
      
    {  
        System.out.println(6);  
    }  


public class Test
{
public static void main(String[] args)
{
Test t = new Test();
t.show();
}

{
System.out.println(1);
}

static
{
System.out.println(2);
}

public void show()
{
System.out.println(3);
}

{
System.out.println(4);
}

static
{
System.out.println(5);
}

{
System.out.println(6);
}
}

输出为:



Java代码







2
5
1
4
6
3

现在看看下面的这些String变量,用“==”操作符比较它们时会是什么结果呢?如下代码。



Java代码
public class StringTest   
{  
    //11  
    final String fs1 = "H";  
    final String fs2 = "ello";  
    final String fs3 = "Hello";  
    final String fs4 = fs1 + fs2;  
    final String fs5 = "H" + "ello";  
      
    //22  
    final String fs11;  
    final String fs22;  
    final String fs33;  
    final String fs44;  
    final String fs55;  
      
    //static //不能有static  
    {  
        fs11 = "H";  
        fs22 = "ello";  
        fs33 = "Hello";  
        fs44 = fs11 + fs22;  
        fs55 = "H" + "ello";  
    }  
      
    //**********************  
    //**********************  
    //33  
    static String ss1 = "H";  
    static String ss2 = "ello";  
    static String ss3 = "Hello";  
    static String ss4 = ss1 + ss2;  
    static String ss5 = "H" + "ello";  
      
    //44  
    static String ss11;  
    static String ss22;  
    static String ss33;  
    static String ss44;  
    static String ss55;  
      
    static //注释掉也一样  
    {  
        ss11 = "H";  
        ss22 = "ello";  
        ss33 = "Hello";  
        ss44 = ss11 + ss22;  
        ss55 = "H" + "ello";  
    }  
      
    //**********************  
    //**********************  
    //55  
    static final String sfs1 = "H";  
    static final String sfs2 = "ello";  
    static final String sfs3 = "Hello";  
    static final String sfs4 = sfs1 + sfs2;  
    static final String sfs5 = "H" + "ello";  
      
    //66  
    static final String sfs11;  
    static final String sfs22;  
    static final String sfs33;  
    static final String sfs44;  
    static final String sfs55;  
      
    static //不能注释掉  
    {  
        sfs11 = "H";  
        sfs22 = "ello";  
        sfs33 = "Hello";  
        sfs44 = sfs11 + sfs22;  
        sfs55 = "H" + "ello";  
    }  
      
    public static void main(String[] args)  
    {  
        StringTest test = new StringTest();  
          
        test.test1();  
        System.out.println();  
          
        test.test2();  
        System.out.println();  
      
        test.test3();  
        System.out.println();  
          
        test.test4();  
    }  
      
    public void test1()  
    {  
        System.out.println(fs3 == fs4);  
        System.out.println(fs3 == fs5);  
          
        System.out.println(fs3 == fs33);  
        System.out.println(fs3 == fs44);  
        System.out.println(fs3 == fs55);  
          
        System.out.println(fs33 == fs44);  
        System.out.println(fs33 == fs55);  
    }  
      
    public void test2()  
    {  
        System.out.println(ss3 == ss4);  
        System.out.println(ss3 == ss5);  
          
        System.out.println(ss3 == ss33);  
        System.out.println(ss3 == ss44);  
        System.out.println(ss3 == ss55);  
          
        System.out.println(ss33 == ss44);  
        System.out.println(ss33 == ss55);  
    }  
      
    public void test3()  
    {  
        System.out.println(sfs3 == sfs4);  
        System.out.println(sfs3 == sfs5);  
          
        System.out.println(sfs3 == sfs33);  
        System.out.println(sfs3 == sfs44);  
        System.out.println(sfs3 == sfs55);  
          
        System.out.println(sfs33 == sfs44);  
        System.out.println(sfs33 == sfs55);  
    }  
 
    public void test4()  
    {  
        System.out.println(fs3 == ss3);  
        System.out.println(fs3 == ss4);  
        System.out.println(fs3 == ss33);  
        System.out.println(fs3 == ss44);  
        System.out.println(fs3 == sfs4);  
        System.out.println(fs3 == sfs44);  
    }  


public class StringTest
{
//11
final String fs1 = "H";
final String fs2 = "ello";
final String fs3 = "Hello";
final String fs4 = fs1 + fs2;
final String fs5 = "H" + "ello";

//22
final String fs11;
final String fs22;
final String fs33;
final String fs44;
final String fs55;

//static //不能有static
{
fs11 = "H";
fs22 = "ello";
fs33 = "Hello";
fs44 = fs11 + fs22;
fs55 = "H" + "ello";
}

//**********************
//**********************
//33
static String ss1 = "H";
static String ss2 = "ello";
static String ss3 = "Hello";
static String ss4 = ss1 + ss2;
static String ss5 = "H" + "ello";

//44
static String ss11;
static String ss22;
static String ss33;
static String ss44;
static String ss55;

static //注释掉也一样
{
ss11 = "H";
ss22 = "ello";
ss33 = "Hello";
ss44 = ss11 + ss22;
ss55 = "H" + "ello";
}

//**********************
//**********************
//55
static final String sfs1 = "H";
static final String sfs2 = "ello";
static final String sfs3 = "Hello";
static final String sfs4 = sfs1 + sfs2;
static final String sfs5 = "H" + "ello";

//66
static final String sfs11;
static final String sfs22;
static final String sfs33;
static final String sfs44;
static final String sfs55;

static //不能注释掉
{
sfs11 = "H";
sfs22 = "ello";
sfs33 = "Hello";
sfs44 = sfs11 + sfs22;
sfs55 = "H" + "ello";
}

public static void main(String[] args)
{
StringTest test = new StringTest();

test.test1();
System.out.println();

test.test2();
System.out.println();

test.test3();
System.out.println();

test.test4();
}

public void test1()
{
System.out.println(fs3 == fs4);
System.out.println(fs3 == fs5);

System.out.println(fs3 == fs33);
System.out.println(fs3 == fs44);
System.out.println(fs3 == fs55);

System.out.println(fs33 == fs44);
System.out.println(fs33 == fs55);
}

public void test2()
{
System.out.println(ss3 == ss4);
System.out.println(ss3 == ss5);

System.out.println(ss3 == ss33);
System.out.println(ss3 == ss44);
System.out.println(ss3 == ss55);

System.out.println(ss33 == ss44);
System.out.println(ss33 == ss55);
}

public void test3()
{
System.out.println(sfs3 == sfs4);
System.out.println(sfs3 == sfs5);

System.out.println(sfs3 == sfs33);
System.out.println(sfs3 == sfs44);
System.out.println(sfs3 == sfs55);

System.out.println(sfs33 == sfs44);
System.out.println(sfs33 == sfs55);
}

public void test4()
{
System.out.println(fs3 == ss3);
System.out.println(fs3 == ss4);
System.out.println(fs3 == ss33);
System.out.println(fs3 == ss44);
System.out.println(fs3 == sfs4);
System.out.println(fs3 == sfs44);
}
}



输出为:

Java代码
true 
true 
true 
false 
true 
false 
true 
 
false 
true 
true 
false 
true 
false 
true 
 
true 
true 
true 
false 
true 
false 
true 
 
true 
false 
true 
false 
true 
false
分享到:
评论

相关推荐

    java操作符

    表达式中有一个操作元是long型,则结果是long型的问题总结; 应该调用String的equals()方法,而不用“==”操作符的注意; java虚拟机对变量初始化为默认值。

    ==和equals方法究竟有什么区别

     == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。  如果一个变量指向的数据是对象类型的...

    java六大必须理解的问题-来自网络少许有误(非常适合初学者).doc

    a和b都使用了new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用"=="操作符,结果会是false。诚然,a和b所指...

    java字符串中${}或者{}等的占位符替换工具类

    今天小编就为大家分享一篇关于java字符串中${}或者{}等的占位符替换工具类,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    观事务的软件化模拟,是变量(数据和数据结构)和相关方法(对数据操作和对象管理的程 序)的软件组合。 在面向对象的程序设计中,你可以用软件对象表示现实世界的对象,而这些软件对象和 现实世界对象是相对应的。...

    Java开发技术大全(500个源代码).

    showOrder_1.java 演示操作数求值顺序示例1 showOrder_2.java 演示操作数求值顺序示例2 sign.java 用条件运算实现符号函数示例 signByIF.java 用if语句实现符号函数示例 triangleStar.java 输出一个由*组成的...

    Java初学者都必须理解的六大问题

    a和b都使用了new操作符,意味着将在内存中产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用"=="操作符,结果会是false。诚然,a和b所指...

    java初学者必须理解的6大问题

    问题一:我声明了什么!  String s = "Hello world!";  许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是... ==操作符专门用来比较变量的值是否相等。比较好理解的一点是:

    Java的六大问题你都懂了吗

     instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。然而,这种做法通常被...

    Jep3.5 数学公式计算 jar包及中文操作手册文档

    53 为可配置的解析器加入和操作操作符 531 修改已存在的操作符 532 优先级和绑定 533 将操作符加入操作符表 534 标准操作符的绑定和优先级 54 使用标准解析器添加操作符 541 编辑标准的解析器语法 55 其他操作符集 ...

    robotframework——变量文件.pdf

    1.1 ⽰例1: 导⼊变量⽂件 myvar1.py MY_VAR = 'my value' my_name='test' VARIABLE = "An example string" ANOTHER_VARIABLE = "This is pretty easy!" INTEGER = 42 STRINGS = ["one", "two", "kolme", "four"] ...

    java基础入门教程

    4 软 件 最 终 产 品 :用 Java 语 言 开 发 的 软 件 可 以 具 有 可视化 、 可 听 化 、 可 操作 化 的 效 果 ,这 要 比 电 视 、 电 影 的 效果 更 为 理 想 ,因 为 它 可 以做 到 "即 时 、 交 互、 动 画 与 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    6.2.3 使用点操作符的技巧 148 6.2.4 类的数组 149 6.3 小结:Java其实是个类和对象的世界 152 6.4 习题 153 第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    6.2.3 使用点操作符的技巧 148 6.2.4 类的数组 149 6.3 小结:Java其实是个类和对象的世界 152 6.4 习题 153 第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 ...

    跟我学JAVA-day12-封装、构造、String类.pdf

    private是一个修饰符,可以用来修饰成员(成员变量,成员方法) 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使 用,提供相应的操作 提供“get变量名()”方法,用于...

    java初学者必须了解的七大问题

    "=="和equals方法究竟有... ==操作符专门用来比较变量的值是否相等。  int a=10;  int b=10;  则a==b将是true。  但:  String a=new String("foo");  String b=new String("foo");  则a==b将返回false。

    Java面试宝典(传说中的葵花宝典).doc

    &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 备注:这道题先说两者的...

    java jdk8 学习笔记

    1.java程序中的空格只能是半角空格符或者tab空格符 2.一个.java文档可定义多个类,但是只能有一个公开类,而且主文档名必须与公开类名相同。 3. 4.echo %path% 是系统环境变量附加用户变量,set path="路径” %...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

Global site tag (gtag.js) - Google Analytics