动手动脑(补)

public class StringPool {

public static void main(String args[])

{

String s1="a";

String s2=s1;

System.out.println(s1==s2);//true

s1+="b";

System.out.println(s1==s2);//false

System.out.println(s1=="ab");//false

System.out.println(s1.equals("ab"));//true

}

}

分析:给字符串赋值意味着两个变量现在引用同一个字符串变量对象,所以s1==s2返回值为true,String对象是只读的,使用+修改了s1变量的值,实际上得到了一个新的字符串,内容为ab,与原来s1所引用的对象无关,所以返回值是false,字符串常量引用的字符串与s1引用的对象无关,string.equas()方法可以比较两个字符串的内容。

public class StringEquals {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

String s1=new String("Hello");

String s2=new String("Hello");

System.out.println(s1==s2);//使用new关键字创建了两个不同的对象,所以返回值为false

System.out.println(s1.equals(s2));//内容相同,值为true

String s3="Hello";

String s4="Hello";

System.out.println(s3==s4);//内容相同的常量,引用同一个对象,返回值为true

System.out.println(s3.equals(s4));//内容相同,返回值为true

}

}

Length()//返回当前字符串长度

charAt(int index):取字符串中的某一个字符,其中的参数index指的是字符串中的序数。字符串的序数从0到length()-1.

getChars(int srcBegin,int srcEnd,char[]dst,int dstBegin):该方法将字符串拷贝到字符数组中。其中srcBegin为拷贝的起始位置,srcEnd为拷贝的结束位置,字符串数组dst为目标字符数组,dstBegin为目的字符数组拷贝的起始位置。

replace(char oldchar,char newchar)//将字符串中的第一个oldchar替换成newchar

toUpperCase()://将字符串转化成大写

toLowerCase()://将字符串转化为小写

trim()://返回该字符串去掉开头和结尾空格后的字符串

toCharArray()://将string对象转换成char数组

时间: 2024-09-30 05:17:18

动手动脑(补)的相关文章

动手动脑问题及课后实验性问题总结

动手动脑一:仔细阅读示例:Enum.Test.Java,运行它,分析结果?得到什么结论?是否掌握枚举类型的用法? 运行结果如图:s和t是不同的内容,引用不同的对象:枚举类型是引用数据类型:可以字符转换:对定义变量名进行逐个列出. Enum 一般用来表示一组相同类型的常量.如性别.日期.月份.颜色等.对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals . 用法: 枚举的声明,其形式为:访问修饰符enum 枚举名: 基础类型{ 枚举成员(标识符) 

动手动脑 自信成就人生之课后作业

?动手动脑一 请看以下代码: 上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果: Ljava.lang.Object;@ba8a1dc 为什么会这样? 解释:java的object数组不能转化成string数组,在转换出错时,首先要观察被转换的对象原来是什么类型,或解开多层的包装,直到获取对象的最终类型,然后把不能再分解的类型转换成自己目标类型的对象...(稍微能理解) ?动手动脑二 随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中.

java09动手动脑

一.动手动脑 运行AboutException.java示例 1)源代码 import javax.swing.*; class AboutException { public static void main(String[] a) { double i=-1, j=0, k; k=i/j; try { k = i/j; // Causes division-by-zero exception //throw new Exception("Hello.Exception!"); }

JAVA09异常处理之动手动脑问题

动手动脑1:为什么不管是否有异常发生,finally语句块中的语句始终保证被执行? 我们在写代码时,如果finally块中的代码过多会导致字节码条数"膨胀",因为finally中的字节码会被"复制"到try块和所有的catch块中.finally语句块主要用于解决资源泄露问题,它位于catch语句块之后,JVM保证它们一定执行. 动手动脑2:CatchWho.java,写出程序运行结果: ArrayIndexOutOfBoundsException/内层try-ca

java动手动脑08

一.动手动脑 1)源代码: public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue

JAVA语法基础作业——动手动脑以及课后实验性问题 (七)

一.动手动脑 1)源代码 public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue(

java多态动手动脑

实验任务一:多态实现ATM工作原理 1)源代码: package demo; import java.util.Scanner; class A{ String name; String date; String mima; int yu; String kahao; public A(String name,String date,String mima,int yu,String kahao) { this.name=name; this.date=date; this.mima=mima;

动手动脑,无法自拔(3)课时作业6

1.动手动脑(五子棋棋盘排布) (1)源程序 1 import java.io.*; 2 3 public class QiPan 4 { 5 //定义一个二维数组来充当棋盘 6 private String[][] board; 7 //定义棋盘的大小(宏定义) 8 private static int BOARD_SIZE = 15; 9 10 //初始化棋盘 11 public void initBoard() 12 { 13 //初始化棋盘数组 14 board = new String

java的动手动脑10月20日

(1)动手动脑 该函数没有赋初值再就是如果类提供一个自定义的构造方法,将导致系统不在提供默认的构造方法. (2) public class test { /*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubInitializeBlockClass obj=new InitializeBlockClass();System.out.println(obj.field)

动手动脑课堂作业7---------

动手动脑1 CatchWho.java运行结果: CatchWho2.java运行结果: EmbedeFinally.java运行结果: finally语句块一定会执行吗? SystemExitAndFinally.java运行结果: 只有与 finally 相对应的 try 语句块得到执行的情况下,finally 语句块才会执行.如果在try语句块之前返回(return)或者抛出异常,try对应的finally语句块就不会执行. 动手动脑2 如何跟踪异常的传播路径? 当程序中出现异常时,JVM