精华内容
下载资源
问答
  • String类型的学习

    2016-10-28 10:53:00
    一 :关于两个string类型变量是否相等: 请运行以下示例代码StringPool.java,查看其输出结果。如何解释这样的输出结果?从中你能总结出什么? 分析: 首先为s0开辟空间,然后给s1开辟空间时发现与s0相同...

    :关于两个string类型变量是否相等:

    请运行以下示例代码StringPool.java,查看其输出结果。如何解释这样的输出结果?从中你能总结出什么?

     

     

    分析:

    首先为s0开辟空间,然后给s1开辟空间时发现与s0相同,所以s1和s0地址是相同的,,然后给s2开辟空间时发现也是相同的,要让两个变量相同,需要使他们的数值和地址都要相同,故前两个输出都是true,第三个先new一个“hello”,在new一个“hello”时就会在开辟一个空间,所以两个不相同。故是false。

    结论:

    Java中,内容相同的字串常量(“Hello”)只保存一份以节约内存,所以s0,s1,s2实际上引用的是同一个对象。

    编译器在编译s2一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(“Hello”)。这种优化工作由Java编译器自动完成。

    当直接使用new关键字创建字符串对象时,虽然值一致(都是“Hello”),但仍然是两个独立的对象。

     

     

     

    给字串变量赋值意味着:两个变量(s1s2)现在引用同一个字符串对象“a所以,s1==s2返回true 。  String对象的内容是只读的,使用“+”修改s1变量的值,实际上是得到了一个新的字符串对象,其内容为“ab”,它与原先s1所引用的对象”a”无关,所以,s1==s2返回false

    代码中的ab”字符串是一个常量,它所引用的字符串与s1所引用的“ab”对象无关。所以,s1=ab”返回false

    String.equals()方法可以比较两个字符串的内容他们的内容都是ab所以,返回true

     

    二:String.equals()方法

     

     

    结果分析:当直接使用new关键字创建字符串对象时,虽然值一致(都是“Hello”),但仍然是两个独立的对象。,所以s1==s2返回false,但他们数值是一样的,所以s1.equal(s2)返回true。,s3,s4引用的同一个对象,所以数值和地址都相同,所以最后两个比较返回都是true。

     

     

    三:字串加密

    古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

     

     

     

    请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

     

    设计思想:加密和解密的思想就是把一个字符串中的所有字符加上或减去一个固定的值,然后在输出来。首先传入一个字符串,构造一个加密和解密的方法,输入数字判断选择加密或者解密,在写方法时,加密方法,需要定义一个char[]类型的方法,传入一个字符串,返回一个char类型的数组,调用length()对字符串中的所有的字符进行加上一个3,如果是XYZ减去23,然后返回这个char数组即可,如果是解密方法,需要定义一个char[]类型的方法,传入一个字符串,返回一个char类型的数组,调用length()对字符串中的所有的字符进行减去一个3,如果是ABC加上23,然后返回这个char数组即可。

     

    流程图:

     

    源代码:package Demo;

     

    import java.util.Scanner;

     

    public class JiaMi {

    public static void main(String[]args)

    {

    Scanner scanner=new Scanner(System.in);

    System.out.println("请输入一个字符串");

    String m=scanner.next();

    System.out.println("请输入你想加密还是解密,加密输入1,解密输入2");

    int n=scanner.nextInt();

    while(n!=1&&n!=2)

    {

    System.out.println("请重新输入一个字符串");

    n=scanner.nextInt();

    }

    if(n==1)

    System.out.println(jiami(m));//如果下面的方法不定义为static类型的那摩在调用下面的方法时需这样写new JiaMi().jiami().

    else if(n==2)

    System.out.println(jiemi(m));

    }

    static char[] jiami(String m)//返回是数组时,定义时加个[]

    {

    char[] c=new char [m.length()];

    int i=0;

    while(m.length()>i)

    {

    if(m.charAt(i)>=88 && m.charAt(i)<=90)

    c[i]=(char)(m.charAt(i)-23);

    else

    c[i]=(char) (m.charAt(i)+3);

    i++;

    }

    return c;

    }

    static char[] jiemi(String m)

    {

    char[] c=new char [m.length()];

    int i=0;

    while(m.length()>i)

    {

    if(m.charAt(i)<=67 && m.charAt(i)>=65)

    c[i]=(char)(m.charAt(i)+23);

    else

    c[i]=(char) (m.charAt(i)-3);

    i++;

    }

    return c;

    }

    }

    结果截图:

     

     

     

     

    结果分析:第一个截图是一个普通的加密结果,第二个是带有特殊字符的(XYZ)的加密验证,XYZ需要转换成ABC ,结果正确,第三个是带有特殊字符的解密验证(ABC),ABC需要转换成XYZ。验证无误。

    String类型方法的总结:

    主要包括Length()charAt()getChars()replace()toUpperCase()toLowerCase()trim()toCharArray()

    2、String类的常用方法:

    (1)public char charAt(int  index)返回字符串中第index个字符

    (2)public int length()返回字符串的长度

    (3)public String toUpperCase()返回一个字符串为该字符串的大写形式

    (4)public String toLowerCase()返回一个字符串为该字符串的小写形式

    (5)public String replace(char oldChar,char newChar)在字符串中用newChar字符替换oldChar字符

    6public String trim()返回将该字符串去掉开头和结尾空格后的字符串。

    7char[ ] toCharArray() :将该String对象转换成char数组。

    8getChars() 将这个字符串字符复制到目的字符数组。

     

    转载于:https://www.cnblogs.com/qingtianxt/p/6006884.html

    展开全文
  • // iteratee 为空 || 为 String 类型(key 值)时会返回不同方法 iteratee = cb(iteratee, context, 1); // 经过迭代函数计算的值 var value = iteratee(obj); var low = 0, high &#...
  • 9.2.3 判断两个字符串是否相等 223 9.2.4 判断字符串的开头和结尾 225 9.2.5 分割字符串 225 9.2.6 在字符串中查找子字符串或字符 226 9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 ...
  • 9.2.3 判断两个字符串是否相等 223 9.2.4 判断字符串的开头和结尾 225 9.2.5 分割字符串 225 9.2.6 在字符串中查找子字符串或字符 226 9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 ...
  • 9.2.3 判断两个字符串是否相等 223 9.2.4 判断字符串的开头和结尾 225 9.2.5 分割字符串 225 9.2.6 在字符串中查找子字符串或字符 226 9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 ...
  • 3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); 3.18 ...
  • 问题:例如在自己制作了成对的输入(input256×256 target 200×256)后,如何让输入图像和输出图像分辨率不一致,例如成对图像中:input的分辨率是256×256, output 和target都是200×256,需要修改哪里的参数。...
  • 《你必须知道的495C语言问题》

    热门讨论 2010-03-20 16:41:18
    3.15 我要检查一个数是不是在另外两个数之间,为什么if(a b c)不行? 40 3.16 为什么如下的代码不对?int a=1000, b=1000; long int c=a * b; 40 3.17 为什么下面的代码总是给出0?double degC, degF; degC= ...
  • 3.15 我要检查一个数是不是在另外两个数之间,为什么if(a b c)不行? 40 3.16 为什么如下的代码不对?int a=1000, b=1000; long int c=a * b; 40 3.17 为什么下面的代码总是给出0?double degC, degF; degC= ...
  • 1.2.1 现有一批邮件需要发送给订阅顾客,且有一集群(集群的节点数不定,会动态扩容缩容)来负责具体的邮件发送任务,如何让系统尽快地完成发送? 1.2.2 有一批气象观测站,现需要获取这些站点的观测数据,并...
  • 创建了几个String Object? 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 38.abstract class和interface有什么区别? 答: 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    如何取小数点前位,并四舍五入。 4.日期和时间 如何取得年月日,小时分秒 如何取得从1970年到现在的毫秒数 如何获取某个日期是当月的最后一天 如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作 如何...
  • 复性任务、如何让程序做出选择、处理数据的多种方式以及如何使用函数等内容。另外,还讲述了C++在C 语言的基础上新增的许多特性,其中包括: ● 类和对象。 ● 继承。 ● 多态、虚函数和RTTI(运行阶段类型识别)...
  • 复性任务、如何让程序做出选择、处理数据的多种方式以及如何使用函数等内容。另外,还讲述了C++在C 语言的基础上新增的许多特性,其中包括: ● 类和对象。 ● 继承。 ● 多态、虚函数和RTTI(运行阶段类型识别)...
  • 复性任务、如何让程序做出选择、处理数据的多种方式以及如何使用函数等内容。另外,还讲述了C++在C 语言的基础上新增的许多特性,其中包括: ● 类和对象。 ● 继承。 ● 多态、虚函数和RTTI(运行阶段类型识别)...
  • java 面试题 总结

    2009-09-16 08:45:34
    28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ private int j; public static ...
  • 抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承...
  • c#学习笔记.txt

    热门讨论 2008-12-15 14:01:21
    7,string类型 string 类的实例表示 Unicode 字符串。尽管 string 是引用类型,但相等运算符(== 和 !=)被定义为比较 string 对象(而不是引用)的“值”(7.9.7 字符串相等运算符)。这使得对字符串相等性的测试...
  • 在一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    种数据类型: 1. 基本/内建类型 2. 用户定义类型 以下是 C# 内建类型的列表: 类型 字节 描述 byte 1 unsigned byte sbyte 1 signed byte short 2 signed short ushort 2 unsigned short int 4 signed ...
  • VBSCRIPT中文手册

    热门讨论 2010-11-12 10:13:06
    Eqv 运算符 使两个表达式相等。 Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,...
  • vb Script参考文档

    2009-07-28 22:13:02
    Eqv 运算符 使两个表达式相等。 Erase 语句 重新初始化固定数组的元素并重新分配动态数组的存储空间。 Err 对象 含有关于运行时错误的信息。 Eval 函数 计算并返回表达式的值。 Execute 方法 根据指定的字符串,...
  • asp.net知识库

    2015-06-18 08:45:45
    通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到...
  • LINGO软件的学习

    2009-08-08 22:36:50
    为此,LINGO为用户提供了两个可选部分:输入集成员和数据的数据部分(Data Section)和为决策变量设置初始值的初始部分(Init Section)。 3.1 模型的数据部分 3.1.1 数据部分入门 数据部分提供了模型相对静止部分...
  • C++MFC教程

    热门讨论 2013-05-21 13:37:15
    例如有两个窗口共用一个窗口过程代码,你在窗口一上按下鼠标时消息就会通过窗口一的句柄被发送到窗口一而不是窗口二。 5、示例:下面有一段伪代码演示如何在窗口过程中处理消息 LONG yourWndProc(HWND hWnd,UINT ...
  • 13.2 一简单的string模板 293 13.2.1 定义一模板 294 13.2.2 模板实例化 295 13.2.3 模板参数 296 13.2.4 类型等价 296 13.2.5 类型检查 297 13.3 函数模板 298 13.3.1 函数模板的参数 299 13.3.2 函数...
  • 13.2 一简单的string模板 293 13.2.1 定义一模板 294 13.2.2 模板实例化 295 13.2.3 模板参数 296 13.2.4 类型等价 296 13.2.5 类型检查 297 13.3 函数模板 298 13.3.1 函数模板的参数 299 13.3.2 函数...
  • C++程序设计语言(特别版)--源代码

    热门讨论 2012-04-23 07:33:51
    13.2 一简单的string模板 293 13.2.1 定义一模板 294 13.2.2 模板实例化 295 13.2.3 模板参数 296 13.2.4 类型等价 296 13.2.5 类型检查 297 13.3 函数模板 298 13.3.1 函数模板的参数 299 13.3.2 函数...
  • c++ 面试题 总结

    2009-09-16 08:44:40
    两个好象是一样的,此时*p可以修改,而p不能修改。 (4)const char * const p 这种是地址及指向对象都不能修改。 -------------------------------------------------------------------------- 6.下面是C语言中...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

如何让两个string类型相等