黑马程序员技术交流社区

标题: 学习心得2 [打印本页]

作者: kjkjkjh    时间: 2015-12-20 21:18
标题: 学习心得2
byte[] arr2={97,98,99,100,101,102
string s2=new string(arr2,2,3)
        syso(s2)将字节数组 的 一部分转换成字符串


char[] arr3 ={'1','2'};
string s4=new string(arr3);
syso(s4);将字符数组转换成字符串


strings5=new string(arr3,1,3);
syso(s5);  字符数组从指定位置转多少个


String s6=new String("heima");
syso(s6)将字符串常量值转换成字符串


string的应用
        string s1="abc";  引用数据类型
    string s2="abc";
        syso(s1==s2);  比较的是地址值  true原因 是常量池
        syso(s1.equals(s2));  判断是否相等true
   常量池中没有这个字符串对象就创建对象如果有直接用

string s1=new string("abc")
        syso(s1);创建了几个对象
创建俩个常量,常量池一份,堆内一份
        新创建 的对象是参数的副本


String s1=new string("abc");记录堆的地址值
string s2="abc" 记录常量的 地址值
syso(s1==s2);
syso(s1.equals(s2));

string s1="a"+"b"+"c";
string s2="abc";
syso(s1==s2);  true java中有常量优化机制
syso(s1.equals(s2));

string s1="ab";
string s2="abc";
string s3=s1+"c";
syso(s3==s2);  false
syso(s3.equals(s2)) true





//string s1="heima";
  string s2="heima"
  string s3="heiMa"
  syso(s1.equals(s2))  区分大下写
          syso(s2.equals(s3))

syso(.....................)
        syso(s1.equalsingnorecase(s1)); 不区分
sysO(同上s3);

string s1="我爱heima,哈哈0";
string s2="heima";
string s3="heima";
string S4="我爱";
string s5="哈哈";

syso(s1.contains(s2));  true  判断是否包含传入的字符转
syso(s1.contains(s3));  false
syso("---------------")
        syso(s1.startswith(s4)); true  判断是否以传入的字符串开头
        syso(s1.startswith(s5)); false
syso("------------------")
        syso(s1.endswith(s4));      判断是否以传入的字符串结尾
        syso(s1.ebbdwith(s5));

string s1="heima";
striing s2="";
ssyo(s1.isempty());
syso(s2.isempty());
输出null 的时候空指针异常 空串是字符串常量,同时也是string类的对像当然可以调用string类中的方法
        null是空常量。可以给任意的引用数据类型赋值。



//模拟登录
需求,给三次机会,并提示还有几次
        用户名和密码都是admin
        需要循环
scanner sc=new scanner(system.in);
for (int i=0;i<3 ;i++ ) {
}
syso("请输入用户名");
string username=sc.nextline();
syso("请输入密码")
        ;
String password=sc.nextline();
//如果是字符串常量和字符串变量比较,通常是字符串常量调用方法,将变量当作参数传递,防止空指针异常
if ("admin".equals(username)&&"admin".equals(password)) {
    syso ("欢迎")//这里admin  是字符串常量
        break;  //跳出循环
} else{
        if (i==2) {
                syso("您的错误以到明天再来")
        }
    syso("用户名或密码错误"+(2-i)+"你还有机会")
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2