c语言字符串缓冲区
思考解决问题:
声明长度大于或等于80的字符数组。例如,char a从内存中的变化表示何时应该使用String类,何时应该使用StringBuffer类。 Struts的表单使用字符串类型。
数据库的varchar对应的java类型也是String。
c语言中的JNI和char *也对应字符串。
字符串在类型对应中使用较多。
可以用StringBuffer写sql语句,然后慢慢加。看起来很整洁。
一般用于字符串拼接。
公共类BaibaiTest {
公共静态void main(String[] args) {
// TODO自动生成的方法存根
String a = " aaaa
String b = " bbbbbb
string buffer ab = new string buffer();
追加。追加("-")。追加(b);
system . out . println(ab . tostring());
扩展数据:
String类是一个字符串常量,不能更改。StringBuffer是一个字符串变量,它的对象可以扩展和修改。
StringBuffer类的构造函数
公共字符串缓冲区()
创建一个StringBuffer类的空对象。
公共字符串缓冲区(int length)
创建一个StringBuffer类的对象,长度为参数length。
注意:如果参数长度小于0,将触发NegativeArraySizeException。
参考来源:百度百科-StringBuffer
C语言如何逆序输出字符串? c语言程序如下:
# includestdio.h
#includestring.h
主()
{
int i,j,t,n;
char a[10];
Printf("请输入一个字符串:");
获取(a);
n = strlen(a);
for(I = 0;I = n/2;我)
{
t = a[I];
a[I]= a[n100]。
使用gets()函数输入字符串,该字符串以回车符作为结束标记。
获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。
注意:获得字符串长度可以用string.h库的strlen()函数,该函数返回字符串的实际长度,其中不包含空字符。
测试代码:
#include stdio.h
#include string.h
int main()
{
char a[100] = {0};
gets(a);
int len = strlen(a);
for (int i = len - 1; i = 0; i--)
printf("%c", a[i]);
return 0;
}
-[I];
a[n100]。
使用gets()函数输入字符串,该字符串以回车符作为结束标记。
获得字符串的长度,以该长度值-1作为起点,以0作为终点,循环输出字符。
注意:获得字符串长度可以用string.h库的strlen()函数,该函数返回字符串的实际长度,其中不包含空字符。
测试代码:
#include stdio.h
#include string.h
int main()
{
char a[100] = {0};
gets(a);
int len = strlen(a);
for (int i = len - 1; i = 0; i--)
printf("%c", a[i]);
return 0;
}
-[I]= t;
}
for(j = 0;jn;j)
printf("%c ",a[j]);
printf(" \ n ");
}
扩展数据:
逆序输出字符串的五种方法
1.使用数组循环
2.StringBuffer的逆向方法
3.StringBuffer循环
4.堆栈中的后进先出
5.迭代已完成
C语言相比java有什么优势? C语言和java的区别和各自的优势:(C是面向过程的,java是面向对象的)
1.语言背景:
单机时代广泛使用c语言,结合了高级语言的简洁和汇编语言的执行效率。Java是在研究电子消费产品和互联网应用开发平台的基础上实现的,它的很多语言特性也是从C语言继承和发展而来的,这使得面向对象更加自然和完善(比如安全性和代码可移动性)。
2.跨平台语言:
c语言不能跨平台,Java也不怕这个,因为JAVA可以跨平台,在windows和unix系统上都能很好的运行。
3.指针管理:
指针是C语言最大的优点,它允许用户访问几乎所有的内存资源和计算机的其他资源(也就是在哪里打字)。同时,C语言程序的掌握和调试也是最困难的问题,给系统的安全性和稳定性带来很大困难。而java中没有指针的概念,虽然也有数组和对象引用的概念,但其管理全部交给系统管理,限制了用户对资源的访问,同时也给java系统带来了安全性和稳定性。JAVA语言使得程序员在没有指针的情况下无法找到指针直接访问内存,并增加了自动内存管理功能,从而有效防止了C语言中因指针操作错误导致的系统崩溃,比如野指针。但不代表JAVA没有指针。指针仍然在虚拟机内部使用,但是不允许外人使用。这有利于Java程序的安全性。
4.包装
java中引入了包的概念,使得面向对象和面向组件的开发更加方便。但是C语言中没有包的概念,需要其他方式实现。Java可以实现面向对象的思想(封装、乘法、多态)。因为C语言为了照顾C语言的大量用户而兼容C,所以只是变成了有类的C语言,多多少少影响了它面向对象的彻底性!JAVA是一种完全面向对象的语言,语法更清晰,规模更小,更容易学习。它在对各种编程语言进行深入细致研究的基础上,摒弃了其他语言的缺点,从根本上解决了C语言固有的缺陷。
5.数据类型和类
Java是一种完全面向对象的语言,所有的函数和变量都必须是类的一部分。除了基本数据类型,其余都被当作类对象,包括数组。对象将数据和方法结合起来,封装在类中,这样每个对象都可以实现自己的特征和行为。c语言允许函数和变量被定义为全局的。
6.自动内存管理
Java程序中的所有对象都是用new运算符构建在内存栈上的,Java自动执行操作,不需要程序员进行内存回收和删除。在C语言中,内存资源必须由程序外壳释放,增加了程序员的负抛。在Java中,当一个对象不再被使用时,垃圾收集器会对它进行标记以指示删除。JAVA中无用内存回收程序以线程方式在后台运行,空闲时间工作。
7.字符串:
c语言不支持字符串变量。在C语言程序中,空终止符用来表示字符串的结尾。在Java中,字符串是通过类对象(strinR和stringBuffer)实现的,这是Java语言的核心!
Java没有功能。作为一种比C语言更纯粹的面向对象语言,Java迫使开发者在类中包含所有的例程。事实上,通过方法实现例程可以激励开发人员更好地组织编码。
我觉得这篇文章写得不错,就摘抄给你,希望对楼主有帮助。
c语言和java的区别 c语言是一种经典的面向过程的编程语言。一般人们学习C语言是为了理解编程,锻炼逻辑思维能力,在一些与硬件密切相关的编程中也经常用到。\x0d\x0a\x0d\x0aC是在C语言的基础上增加了面向对象的概念,是一种混合的面向对象语言,功能强大但难度较大。\x0d\x0a\x0d\x0aJava是在c基础上的改进,摒弃了c的一些缺点,它的语法和c非常相似,运行在Java虚拟机上,所以可以跨平台编译,随处执行。\x0d\x0a\x0d\x0a编程好学但难掌握,哪个好学哪个不好学。两者都有很好的发展前景,看方向。底层C,桌面应用,游戏等。c,嵌入式,网页,Java。
用C语言写一个类似ATM的程序,具有开户(名称和密码)、存款、取款、查询余额、转账等功能。 包com . e founder . pub . util;
导入Java . util . ArrayList;
导入Java . util . vector;
/**
*字符串处理工具类
* @作者谢万志
*/
公共类StringFunction {
公共静态字符串convertFromStringArrayToStringBySymbol(String[]String array,char symbol) {
string buffer sb = new string buffer();
for(int I = 0;i stringArray .长度;i ) {
sb . append(string array[I]);
sb .追加(符号);
}
return sb . tostring();
}
public static String[]convertFromStringToStringArrayBySymbol(String String,String symbol) {
vector string vector = convertFromStringToStringVectorBySymbol(string,symbol);
String[]String array = new String[String vector . size()];
for(int I = 0;I string vector . size();我)
String array[I]=(String)(String vector . element at(I));
返回stringArray
}
public static String[]convertFromStringToStringArrayBySymbolNO(String String,String symbol) {
vector string vector = convertFromStringToStringVectorBySymbolNO(string,symbol);
String[]String array = new String[String vector . size()];
for(int I = 0;I string vector . size();我)
String array[I]=(String)(String vector . element at(I));
返回stringArray
}
公共静态向量convertFromStringToStringVectorBySymbol(String String,String symbol) {
向量string Vector = new Vector();
string[]array = string . split(symbol);
for(int I = 0;I数组.长度;i ) {
string vector . add element(array[I]);
}
返回stringVector
}
公共静态向量convertFromStringToStringVectorBySymbolNO(String String,String symbol) {
向量string Vector = new Vector();
string[]array = string . split(symbol);
for(int I = 0;I数组.长度;i ) {
string vector . add element(array[I]);
}
返回stringVector
}
公共静态字符串convertFromStringVectorToStringBySymbol(Vector String Vector,char symbol) {
string buffer sb = new string buffer();
for(int I = 0;I string vector . size();i ) {
sb . append(string vector . element at(I));
sb .追加(符号);
}
return sb . tostring();
}
公共静态字符串fillString(String psStr,char psC,int psLen) {
if (psStr.length() psLen) {
返回psStr.substring(0,PS len);
}否则{
char[]VC temp = new char[PS len];
for(int I = 0;我psLeni ) {
VC temp[I]= psC;
}
String vsTemp =新字符串(VC temp);
string vs result = psstr . concat(vs temp);
返回vsResult.substring(0,PS len);
}
}
公共静态字符串格式Value(double value,int sep,char ch,int round) {
返回“”;
}
公共静态字符串GB2Uni(字符串原始){
如果(原创!= null) {
尝试{
返回新字符串(original.getBytes("GBK ")," ISO8859 _ 1 ");
} catch(异常e) {
e . printstacktrace();
返回null
}
}否则
返回null
}
公共静态字符串Uni2GB(字符串原始){
如果(原创!= null) {
尝试{
返回新字符串(original.getBytes("ISO8859_1 ")," GBK ");
} catch(异常e) {
e . printstacktrace();
返回null
}
}否则
返回null
}
公共静态字符串generateID(String pre,int value,int num) {
char CHS[]= new char[num];
for(int I = 0;i numi ) {
CHS[num-I-1]=(char)(48 value % 10);
值=值/10;
}
返回pre.trim()新字符串(CHS);
}
公共静态字符串getTempStr() {
返回string . value of(system . current time millis());
}
public static boolean is include String(String psStr,String psS) {
int viPos = psstr . index of(psS);
返回viPos = 0;
}
公共静态字符串替换字符串(字符串psStr,字符串psS,字符串psD) {
int viPos = psstr . index of(psS);
如果(viPos 0)
返回psStr
int viLength = PSS . length();
string buffer vs value = new string buffer();
while (viPos = 0) {
vs value . append(psstr . substring(0,viPos));
vs value . append(psD);
psStr = psStr . substring(viPos viLength);
viPos = psstr . index of(psS);
}
vs value . append(psStr);
返回vs value . tostring();
}
public static String[]splitStringByToken(String vsStr,String symbol) {
String vsString[] = { " "," " };
int viPos1
vipos 1 = vsstr . index of(symbol);
if (viPos1 0) {
vs string[0]= vsStr;
vs string[1]= " ";
返回vsString
}
vsString[0] = vsStr.substring(0,vipos 1);
vs string[1]= vsstr . substring(vipos 1 symbol . length()、vsstr . length());
返回vsString
}
public static Vector convertFromStringToStringVectorByString(String String,String symbol) {
向量string Vector = new Vector();
string vsStr = string . trim();
String vsTemp = null
string[]ST = null;
而((!vsStr . equals(" ")is includestring(vsStr,symbol)) {
st = splitStringByToken(vsStr,symbol);
vsTemp = st[0]。trim();
如果(!vsTemp.equals(" ")
string vector . add element(vs temp);
vsStr = st[1]。trim();
}
如果(!vsStr.equals(" ")
string vector . add element(vsStr);
返回stringVector
}
公共静态字符串getTempStr(int length) {
string str = string . value of(system . current time millis());
返回str . substring(str . length()-length);
}
公共静态向量convertFromStringToStringVectorByStringWithNull(String String,String symbol) {
向量string Vector = new Vector();
string vsStr = string . trim();
String vsTemp = null
string[]ST = null;
而((!vsStr . equals(" ")is includestring(vsStr,symbol)) {
st = splitStringByToken(vsStr,symbol);
vsTemp = st[0]。trim();
string vector . add element(vs temp);
vsStr = st[1]。trim();
}
如果(!vsStr.equals(" ")
string vector . add element(vsStr);
返回stringVector
}
公共静态字符串DelZeroForBM(String Bm,int Js,String Struct) {
int i,Len,Length
len = BM . length();
Length = GetStructLength(Struct,Js);
if (Len = Length) {
Bm = Bm.substring(0,长度);
}
返回Bm;
}
公共静态字符串FillZeroForBM(String Bm,String Struct) {
int i,Len,Length
len = BM . length();
Length = GetStructLength(Struct,0);
for(I = 0;I长度-长度;i ) {
Bm = " 0
}
返回Bm;
}
public static int getJsByCodingStruct(String code,String struct) {
int codeLength = code . length();
int struct length = struct . length();
int tempLength = 0;
for(int js = 1;js = structLengthjs ) {
tempLength = get struct length(struct,js);
if (codeLength == tempLength)
返回js;
}
返回0;
}
public static int get Struct length(String Struct,int JS) {
int i,长度= 0;
字符串sub
整数ii;
如果(JS == 0)
JS = Struct.trim()。长度();
for(I = 0;i JSi ) {
sub = Struct.substring(i,i 1)。trim();
ii = integer . decode(" 0x " sub);
//长度=整数。。parse int(sub);
length = ii . int value();
}
返回长度;
}
公共静态字符串getsubbmfrobm(String BM,String Struct,int SJS) {
String Res =
int Len
Len = GetStructLength(Struct,SJS);
if (BM.length() = Len)
Res = BM.substring(0,Len);
返回Res
}
公共静态字符串FillZeroFromBegin(int num,int leng) {
return FillTagFromBegin(string . value of(num),leng," 0 ");
}
公共静态字符串FillTagFromBegin(String num,int leng,String Tag) {
String Res = " ",tempStr1 = " ",tempStr2 =
tempstr 1 = string . value of(num);
for(int I = 0;I(leng-tempstr 1 . length());i ) {
tempStr2 = Tag
}
Res = tempStr2 tempStr1
返回Res
}
公共静态字符串ClearBMZero(String BM,String BMStruct) {
返回ClearBMTag(BM,BMStruct," 0 ");
}
公共静态字符串ClearBMTag(String BM,String BMStruct,String Tag) {
int JSLen = BM struct . length();
String bm = " ",ZERO,Tmp
int Len
for(int I = 1;i = JSLeni ) {
Tmp = BMStruct.substring(i - 1,I);
len = integer . parse int(Tmp);
ZERO = RepeatChar(Tag,Len);
如果(!BM.startsWith(零)){
bm = BM.substring(0,Len);
BM = BM . substring(Len);
}否则
打破;
}
返回BM;
}
公共静态字符串RepeatChar(String c,int len) {
String Res =
for(int I = 0;我leni ) {
RES = c;
}
返回Res
}
/**
* key1 = value1key2 = value2key3 =值3
*
* @param输入字符串String
* @param hashMap映射
*/
public static void String 2 hashMap(String input String,java.util.Map hashMap) {
string[]key values = string function . convertfromstringtostring arraybysymbolno(input string,";");
string[]key value;
字符串键,值;
for(int I = 0;i keyValues.lengthi ) {
如果(!"".equals(keyValues[i])) {
key value = string function . convertfromstringtostringarraybysymbolno(key values[I]," = ");
if (keyValue.length 2)
继续;
key = key value[0];
值= " ";
for(int k = 1;k keyValue.lengthk ) {
value = key value[k];
}
hashMap.put(key,value);
}
}
}
/**
*
* @param hashMap
*地图
* @返回字符串
*/
公共静态字符串hashMap 2 String(Java . util . map hashMap){
Object[] keys = hashMap.keySet()。to array();
字符串key,value,keyValue =
for(int I = 0;i keys.lengthi ) {
key =(String)keys[I];
value =(String)hashmap . get(key);
keyValue = key " = " value";
}
if (keyValue.length() 0) {
keyValue = keyValue.substring(0,key value . length()-1);
}
返回keyValue
}
/**
*
* @param值
*字符串
* @param mark
*字符串
* @返回字符串[]
*/
public static String[] split(字符串值,字符串标记){
int index = value . index of(mark);
Java . util . list list = new ArrayList();
while (index = 0) {
list.add(value.substring(0,index));
value = value . substring(index mark . length());
index = value . index of(mark);
}
list.add(值);
String[]RTN = new String[list . size()];
System.arraycopy(list.toArray(),0,rtn,0,RTN . length);
返回rtn
}
公共静态void main(String[] args) {
string value = " a;;;; ";
String[] rtn = split(value,";;");
system . out . println(RTN);
}
}
最后更新于 2023-10-14 03:54:06 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章