一、字符串、字符数组和整型数组的创建
1、字符串的创建方法
1.1 通过引用字符数组来创建字符串
char a[]={'a','b','c','e'}; string str1=new string(a); system.out.println(str1);
1.2 先定义后赋值
string str2; str2="this is a book"; system.out.println(str2);
1.3 通过截取字符数组的一部分来创建字符串
char a3[]={'a','b','c','d','6','p'}; string str3=new string(a3,2,4); system.out.println(str3);
1.4 通过类的实例化对象方法实例化一串字符来创建字符串
string str4=new string("this is a book"); system.out.println(str4);
2、创建整型数组
2.1 声明并赋值
int[] arr = {1,2,4, …};
2.2 声明数组名开辟空间并且赋值
int[] arr; arr = new int[]{1,2,3, …};
2.3 声明数组时指定元素个数然后赋值
int[] arr1= new int[3];
还有一些具体的创建方法可以参考转化方法。
二、整型数组、字符串数组、整型数和字符串的转换
1、字符串转化为字符数组
string str="123456"; char[] c = str.tochararray() ; system.out.println(c);
2、字符串转化为整型数组
string str="123456"; int[] a = new int[str.length()]; for(int i=0;i<str.length();i++) { a[i] = str.charat(i)-'0'; }
3、字符串转化为整数型
1、int i = integer.valueof(str).intvalue(); 2、double b = double.parsedouble(str); 将字符串转换为double型 3、int b = integer.parseint(str); 将字符串转换为int型
4、字符数组转化为字符串
char[] c = {'a','s','d','4','5',}; string str = new string(c); system.out.println(str);
5、字符数组转化为整型数组
char[] c = { '1', '2', '3', '4', '5', }; int[] a = new int[c.length]; for (int i = 0; i < 5; i++) { a[i] = c[i] - '0'; system.out.println(a[i]); }
6、整数型转化为字符型
1、string str = integer.tostring(i); 将整数型转换为字符型 2、string s = string.valueof(i); 这个可以将double类型转换为字符型 3、string s = "" + i;
如果
string str1 = “ad45nfdf”;
则
str1.charat(0) 是为 “a”;
str1.charat(7)是为”f”;
三、字符串中的一些方法
1、indexof()
java中字符串中子串的查找共有四种方法(indexof())
indexof 方法返回一个整数值,指出 string 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。
如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。
java中字符串中子串的查找共有四种方法,如下:
① int indexof(string str) :返回第一次出现的指定子字符串在此字符串中的索引。
② int indexof(string str, int startindex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
③ int lastindexof(string str) :返回在此字符串中最右边出现的指定子字符串的索引。
④ int lastindexof(string str, int startindex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
应用到算法题目中。
题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
import java.util.*; public class solution { public int firstnotrepeatingchar(string str) { for(int i = 0;i<str.length();i++){ if(str.indexof(str.charat(i))==i && str.indexof(str.charat(i),i+1)==-1) return i; } return -1; } }
解析:如果输入参数是 "google"
条件一:str.indexof(str.charat(i))==i 的作用是,是用第①种方法,能确定该字符是第一次出现。
条件二:str.indexof(str.charat(i),i+1)==-1 的作用是从第i+1个位置起找和i位置一样的字符,如果为-1,说明不存在。
如果没有条件一,返回值就是2,因为对于第二个o来说,它的后面没有o了。
如果没有条件二,返回值为0 ,因为对于第一个g来说,它是第一个g(即前面没有其他g)
到此这篇关于java中整型数组、字符串数组、整型数和字符串 的创建与转换的文章就介绍到这了,更多相关java整型数组、字符串数组、整型数和字符串内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论