String_02

package demo;

public class String_02 {
    /*
    String对象的特点

    1)通过new创建字符串对象,每一次new都会申请一个新的内存空间,虽然内容相同,但是地址值不同
    char[] chs = {'a','b','c'};
    String s1 = new String(chs);
    String s2 = new String(chs);

    2)以""方式给出的字符串,只要字符序列相同(顺序和大小写),无论程序代码出现几次,
      JVM都只会建立一个String对像,并在字符串池中维护

      *本质上是同一个对象(地址相同)
     */
    public static void main(String[] args) {
        char[] chs = {'a', 'b', 'c'};
        String s1 = new String(chs);
        String s2 = new String(chs);
        System.out.println(s1==s2);

        String s3 = "abc";
        String s4 = "abc";
        System.out.println(s1==s3);
        System.out.println(s3==s4);

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是汇编语言,用于通过DOS调用从键盘输入两个数字,并对它们进行或运算,最后输出结果。下面是各行代码的意思: - data segment: 定义数据段 - string_1 db 'input num a: $': 定义字符串变量,用于显示提示语句 - string_2 db 0ah,0dh,'input num b: $': 定义字符串变量,用于显示提示语句 - string_3 db 0ah,0dh,'a or b= $': 定义字符串变量,用于显示提示语句 - data ends: 数据段结束 - code segment: 定义代码段 - assume cs:code,ds:data: 定义代码和数据段的段寄存器 - start: 程序开始标签 - mov ax,data: 把数据段的段地址送到AX寄存器中 - mov ds,ax: 把AX寄存器中的地址送到DS寄存器中 - lea dx,string_1: 把字符串变量string_1的地址送到DX寄存器中 - mov ah,09h: 把09h送到AH寄存器中,表示DOS调用功能号为09h,用于显示字符串 - int 21h: 调用DOS中断21h,实现显示字符串的功能 - mov ah,01h: 把01h送到AH寄存器中,表示DOS调用功能号为01h,用于从键盘读取字符 - int 21h: 调用DOS中断21h,实现从键盘读取字符的功能 - cmp al,39h: 把39h和AL寄存器中的值(即读取的字符)进行比较 - ja a1: 如果大于39h,则跳转到标签a1 - sub al,30h: 把AL寄存器中的值减去30h,得到数字的值 - jmp a: 跳转到标签a - a1: sub al,57h: 把AL寄存器中的值减去57h,得到数字的值 - a: mov bl,al: 把AL寄存器中的值赋给BL寄存器中 - lea dx,string_2: 把字符串变量string_2的地址送到DX寄存器中 - mov ah,09h: 把09h送到AH寄存器中,表示DOS调用功能号为09h,用于显示字符串 - int 21h: 调用DOS中断21h,实现显示字符串的功能 - mov ah,01h: 把01h送到AH寄存器中,表示DOS调用功能号为01h,用于从键盘读取字符 - int 21h: 调用DOS中断21h,实现从键盘读取字符的功能 - cmp al,39h: 把39h和AL寄存器中的值(即读取的字符)进行比较 - ja b1: 如果大于39h,则跳转到标签b1 - sub al,30h: 把AL寄存器中的值减去30h,得到数字的值 - jmp b: 跳转到标签b - b1: sub al,57h: 把AL寄存器中的值减去57h,得到数字的值 - b: mov cl,al: 把AL寄存器中的值赋给CL寄存器中 - lea dx,string_3: 把字符串变量string_3的地址送到DX寄存器中 - mov ah,09h: 把09h送到AH寄存器中,表示DOS调用功能号为09h,用于显示字符串 - int 21h: 调用DOS中断21h,实现显示字符串的功能 - xor ah,ah: 把AH寄存器中的值清零 - or cl,bl: 把CL寄存器和BL寄存器中的值进行或运算,并把结果送到CL寄存器中 - mov ax,cx: 把CX寄存器中的值送到AX寄存器中 - AAA: 把AX寄存器中的十六进制数转换成BCD码,结果存放在AH和AL寄存器中 - add ah,30h: 把AH寄存器中的值加上30h,得到结果的高位 - mov dl,ah: 把AH寄存器中的值送到DL寄存器中 - mov ah,02h: 把02h送到AH寄存器中,表示DOS调用功能号为02h,用于显示字符 - int 21h: 调用DOS中断21h,实现显示字符的功能 - mov ax,cx: 把CX寄存器中的值送到AX寄存器中 - aaa: 把AX寄存器中的十六进制数转换成BCD码,结果存放在AH和AL寄存器中 - add al,30h: 把AL寄存器中的值加上30h,得到结果的低位 - mov dl,al: 把AL寄存器中的值送到DL寄存器中 - mov ah,02h: 把02h送到AH寄存器中,表示DOS调用功能号为02h,用于显示字符 - int 21h: 调用DOS中断21h,实现显示字符的功能 - mov ah,4ch: 把4ch送到AH寄存器中,表示DOS调用功能号为4ch,用于结束程序 - int 21h: 调用DOS中断21h,实现结束程序的功能 - code ends: 代码段结束 - end start: 程序结束标签

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值