黑马程序猿——15,String,StringBuffer,基本数据类型包装对象
------<ahref="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
黑马程序猿——15,String。基本数据类型包装对象
/*
字符串相关的练习
*/ /*
求两个字符串中最大的同样子串。
思路:1。将短的子串依照长度递减的方式获取
2,将每次获取到的子串去长串中推断是否包含 */
class Zfclx
{
public static void main(String[] args)
{ String a="kjesqwersjfnqwg";
String b="ccaaqwerxyhs";
String c= zichuan(b,a);
String d= zichuan2(b,a);
System.out.println("c="+c);
} public static String zichuan(String s1,String s2)
{
if( s1.length()<s2.length())
{
String s3=" ";
s3=s1;
s1=s2;
s2=s3;
}
String op="";//这里设定一个变量,用来存储返回的字符串
String[][] ui=new String[s2.length()][]; w: for(int x=0;x<s2.length();x++)
{
for(int y=0,z=s2.length()-1-x; z!=s2.length();y++,z++)
{
if(s1.contains(s2.substring(y,z+1)))
{
op=s2.substring(y,z+1);
soc(op); break w ;//找到之后直接跳出循环 }
} }
return op;
}
public static String zichuan2(String s1,String s2)
{
String max="";
String min="";
max =( s1.length()<s2.length())?s2:s1;
min = ( s1.length()<s2.length())?s1:s2; String op="";
String[][] ui=new String[min.length()][]; w: for(int x=0;x<min.length();x++)
{
for(int y=0,z=min.length()-1-x; z!=min.length();y++,z++)
//定义y在左边指示。定义z在右边指示
{
if(max.contains(min.substring(y,z+1)))
{
op=min.substring(y,z+1);
soc(op); break w ; }
} }
return op;
} public static void soc(Object obj)
{
System.out.println(obj);
} }
/*
以上代码编译执行结果例如以下:
qwer
qwer
c=qwer
*/
——————切割线——————
/*
StringBuffer字符串缓冲区的方法介绍
注意:StringBuilder是jdk1.5之后出现的,也相当于一个容器,
其功能和StringBuffer几乎相同,可是。
StringBuffer是线程同步的(一个线程执行完之后下一个线程才干够进来执行)
StringBuilder是线程不同步的(能够多个线程同一时候对其执行) 版本号升级因素:提高效率,简化书写。提高安全性
*/ class Zfclx3
{
public static void main(String[] args)
{
StringBuffer a=new StringBuffer();//StringBuffer是一个容器,长度能够变化
StringBuffer a2= a.append(26);//把26加入进去容器里面再返回容器
soc("a==a2---"+(a==a2));//推断a与a2是否是同一个对象。打印的是a==a2---true a.append("卡卡").append(false).append(10);//调用链
soc(a);//都是以字符串的形式打印26卡卡false10 a.insert(2,"神");//插入操作。在第二位插入
soc(a);//打印26神卡卡false10
//a.insert(200,"神");//角标越界异常 a.delete(5,5);//相当于没有操作
soc("a---------------"+a);
//打印a---------------26神卡卡false10 a.delete(5,7);//剪切第5位到第6位,注意:不包含第七位
soc("剪切后的a="+a);//打印的是剪切后的a=26神卡卡lse10
//a.delete(0,a.length());//清空缓冲区(清空了容器内部) a.deleteCharAt(2);//删除第二位字符
soc("a.deleteCharAt(2)----"+a); //a.charAt(2);//获取第二位字符
//a.indexOf("0");//查找字符串中字符0的位置
//a.substring(0,a.length());//获取从第0位到a.length()-1位的字符串 a.replace(0,3,"kkkk");//把字符串中的第1位到第2位(不包含第3位)替换成kkkk
soc("replace---"+a); StringBuffer a3=new StringBuffer("hsjd");//容器里面装的是字符串hsjd
soc("a3="+a3);//打印的是hsjd
soc2(a3); a3.setCharAt(0,'n');//该方法没有返回值,改动完之后就没有返回了
soc(a3.toString()); a3.reverse();//反转
soc("reverse---"+a3); StringBuffer a4=new StringBuffer("abcdefgh");
char[] charsz=new char[8];
a4.getChars(2,5,charsz,1);
/*
获取字符串中第2位到第4位字符(不包含第5位)
然后从charsz数组的第1位開始存放 */
for( int x=0; x<charsz.length; x++ )
{
System.out.println("charsz["+x+"]="+charsz[x]);
} }
public static void soc(Object obj)
{
System.out.println(obj); }
public static void soc2(Object obj)
{
StringBuffer a= (StringBuffer)obj;//父类强制转换成子类
a.deleteCharAt(0);
System.out.println(a); } }
/*
以上代码编译执行结果:
a==a2---true
26卡卡false10
26神卡卡false10
a---------------26神卡卡false10
剪切后的a=26神卡卡lse10
a.deleteCharAt(2)----26卡卡lse10
replace---kkkk卡lse10
a3=hsjd
sjd
njd
reverse---djn
charsz[0]=
charsz[1]=c
charsz[2]=d
charsz[3]=e
charsz[4]=
charsz[5]=
charsz[6]=
charsz[7]=
*/
——————切割线——————
/*
基本数据类型的对象包装类 byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
*/ class Zfclx4
{
public static void main(String[] args)
{
soc("Integer.MAX_VALUE="+Integer.MAX_VALUE);//打印整数类型的最大值 /*
基本数据类型转成字符串:
基本数据类型+""
基本数据类型.toString(基本数据类型值);
比如:Integer.toString(25); 字符串转成数据类型:(除了char以外)
xxx a=Xxx.parseXxx(String);
比如:int a= Integer.parseInt("26");//数字型的字符串转换成int型数据
double a=Double.parseDouble("26.23");
boolean a=Boolean.parseBoolean("true");
short b=Short.parseShort("24"); */
//int b=Integer.parseInt("m123");//数字格式异常,执行出问题
//int b=Integer.parseInt("0x123");//数字格式异常,执行出问题
//int b=Integer.parseInt("123");//数字格式异常。执行出问题 //十进制转其它进制:
String k=Integer.toBinaryString(36);
soc("Integer.toBinaryString(36)="+k);
String k2=Integer.toHexString(36);
soc("Integer.toHexString(36)="+k2);
String k3=Integer.toOctalString(36);
soc("Integer.toOctalString(36)="+k3); int k6=Integer.parseInt("26");
soc("Integer.parseInt(\"26\")---"+k6); //其它进制转成十进制
int x= Integer.parseInt("110",10);
soc("Integer.parseInt(\"110\",10)---"+x); int x2=Integer.parseInt("110",2);
soc("Integer.parseInt(\"110\",2)---"+x2); int x3=Integer.parseInt("110",8);
soc("Integer.parseInt(\"110\",8)---"+x3); int x4= Integer.parseInt("110",16);
soc("Integer.parseInt(\"110\",16)---"+x4); int x5= Integer.parseInt("1c",16);
soc("Integer.parseInt(\"1c\",16)---"+x5); System.out.println("HelloWorld!");
}
public static void soc(String obj)
{
System.out.println(obj);
}
} /*
以上代码编译执行结果:
Integer.MAX_VALUE=2147483647
Integer.toBinaryString(36)=100100
Integer.toHexString(36)=24
Integer.toOctalString(36)=44
Integer.parseInt("26")---26
Integer.parseInt("110",10)---110
Integer.parseInt("110",2)---6
Integer.parseInt("110",8)---72
Integer.parseInt("110",16)---272
Integer.parseInt("1c",16)---28
Hello World! */
/*
基本数据类型对象包装的jdk1.5版本号新特性
*/
class Zfclx5
{
publicstatic void main(String[] args)
{
//Integer a= new Integer(12);
Integer a=12;//与上句效果一样,可是这里的12 是一个对象。! !
a=a+3;//这句话编译执行通过,这里的3是一个int型数据。
/*
这句话过程是这种:
先是a.intValue()+3
然后再把其和赋值给a。再封装成一个对象
*/
Integer b=145;
Integer c=145;
soc("b==c---"+(b==c));//b==c---false
//对象不一样 Integer b2=127;
Integer c2=127;
soc("b2==c2---"+(b2==c2));//b==c---true
//对象同样
/*
这里为何会出现两种结果?
由于。在新特性中,假设数据没有超过byte范围且已经存在就不会再新建对象
假设数值超过了byte范围且已经存在就须要再新建对象
*/ System.out.println("HelloWorld!");
}
public static void soc(String str)
{
System.out.println(str);
}
}
黑马程序猿——15,String,StringBuffer,基本数据类型包装对象的更多相关文章
- 黑马程序猿————Java基础日常笔记---反射与正則表達式
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 黑马程序猿----Java基础日常笔记---反射与正則表達式 1.1反射 反射的理解和作用: 首 ...
- 黑马程序猿——25,打印流,合并流,对象序列化,管道流,RandomAccessFile
------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培 ...
- 黑马程序猿_Java 代理机制学习总结
-------<a href="http://www.itheima.com/"">android培训</a>.<a href=" ...
- JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类
字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...
- 黑马程序猿_7K面试题之交通灯系统
交通灯信号模拟系统 一.概述 模拟实现十字路口的交通灯管理系统逻辑,详细需求例如以下:(需求直接来源于老师的文档) ① 异步随机生成依照各个路线行驶的车辆. 比如: 由南向而来去往北向的车辆 ...
- 黑马程序猿——JAVA高新技术——反射
----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一.对于反射的概念 对于JAVA反射机制是在执行状态中,对于随意一个类.都可以知道 ...
- 黑马程序员——JAVA基础之基本数据类型包装类和1.5JDK新特性装箱
------- android培训.java培训.期待与您交流! ---------- 基本数据类型包装类: byte Byte short Short int Integer char Charac ...
- 黑马程序猿——Java中的类载入器
------- android培训.java培训.期待与您交流! -------- 类载入器 Java虚拟机中能够安装多个类载入器,系统默认三个主要类载入器,每一个类负责载入特定位置的类: BootS ...
- 黑马程序猿 IO流 ByteArrayInputStream与ByteArrayOutputStream
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- package cn.itcast.IO; i ...
随机推荐
- jq--图片懒加载
html 1.给图片不给真真意义上的src属性路径,可通过我们自己想要添加时改变它的属性路径即可. 2.要获取浏览器中三种高度. $(window).height();//屏幕高度 $(window) ...
- codecombat之边远地区的森林12-22关及地牢39关代码分享
codecombat中国游戏网址:http://www.codecombat.cn/ 全部代码为javascript代码分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- [51Nod]NOIP2018提高组省一冲奖班模测训练(一)题解
http://www.51nod.com/contest/problemList.html#!contestId=72&randomCode=147206 原题水题大赛.. A.珂朵莉的旅行 ...
- Navicat for MySQL 新建查询时,报can't create file ...系统找不到指定的文件夹出现问题
如图点击新建查询报错 解决办法 将这个路径修改一下就ok了
- 用Navicat连接MySQL数据库出现1251错误:密码方式错误
原因:因为MySQL8.0是最新版密码保存方式,而图形化数据库管理工具还是原先的密码保存方式. 解决方式: 用CMD命令号方式进入MySQL use mysql: ALTER USER 'root'@ ...
- HDU 4607 Park Visit HDU暑期多校1
10W个点的一棵树,边权为1 求访问K个点要走过的最小路程 BFS求出一条最长路以后,我们可以YY出其他的边都要重复走两次 树上的最长路可以从任意一点开始BFS求出这点的最大距离,再把终点设置为起点再 ...
- BZOJ2157: 旅游(LCT)
Description Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间 ...
- CTF加密题型解析:RSA算法的CTF解法之一
RSA介绍 根据加密原理,可以将大部分的加密算法分为两大类:对称加密算法和非对称加密算法.对称加密算法的加密和解密采用的是同一套算法规则.而非对称加密算法加密时用的是公钥(公开给所有人),解密时用的是 ...
- ActiveMQ学习总结(6)——ActiveMQ集成Spring和Log4j实现异步日志
我的团队和我正在创建一个由一组RESTful JSON服务组成的服务平台,该平台中的每个服务在平台中的作用就是分别提供一些独特的功能和/或数据.由于平台中产生的日志四散各处,所以我们想,要是能将这些日 ...
- (cocos2d-js游戏)測试你的反应速度----------基本逻辑(上)
游戏玩法:点击開始游戏.等待一个随机时间.然后背景颜色会变(在t1时刻),这时候你须要点击屏幕(在t2时刻),游戏结束.你的反应时间就是天t2-t1. 游戏逻辑: 游戏逻辑非常easy,如上图所看到的 ...