Java语言基础

1、short和byte不能做无符号右移

1、System.out.print();是打印;

      System.out.println();换行;

1、快捷键:crtl+/ ,在选定一定内容后,可以全部注释

2、符合运算符可以自动完成类型转换

3、continue的作用是跳过循环体中的剩余语句执行下一次循环。

4、foreach(type x: obj)

     type x: 循环变量,依次将obj中的值赋给x;  obj:一个可以被遍历的集合,例如数组

5、一维数组初始化

int a[]=new int[3];
a[0]=7;
a[1]=2;
a[2]=6;

int b[]=new int[]{5,1,3};

int c[]={8,4,9};

6、获取数组长度:a.length

7、二维数组

①二维数组的初始化

int a[][]={{6,4,7},{7,8,1}};
int b[][]=new int[][]{{6,5,7},{7,8,1}};
int c[][]=new int [2][3];
c[0][0]=1;
c[0][1]=2;
c[0][2]=3;
c[1]=new int[]{6,5,7};

②二维数组的长度,例如上一个式子,c.length=2(代表两行),c[0].length=3;(代表这一行有多少个元素)

③遍历二维数组

int a[][]=new int[][]{{1},{2,3},{3,4,5}};
第一种方法
for(int k=0;k<a.length;k++)
{
    for(int c=0;c<a[k].length;c++)
       {
          System.out.println(a[k][c]);
       }
     System.out.println();
}
第二种方法
for(int i[]:a)//将所有行元素提取出来
{
     for(int j:i)//将行中所有列元素提取出来
     {
         System.out.print(j);
     }
     System.out.println();
}

8、填充和批量替换数组:

    如果要用到Arrays.fill(),就要在代码最前面加上import java.util.Arrays;

int arr[]=new int[5];
Arrays.fill(arr,94);//填充的效果
for(int i=0;i<arr.length;i++)
{
   System.out.println(arr[i]);
}
int arr2[]=new int[]{1,2,3,4,5,6,7,8,9};
Arrays.fill(arr2,1,4,0);//代表从位置1开始索引到位置4以前,全部改为数字0
for(int i=0;i<arr2.length;i++)
{
   System.out.println(arr2[i]);
}

9、复制数组

①、只要要用到Array.**()函数,都要在代码最前面用到import java.util.Arrays;

②、应用

int a[]=new int[]{23,52,12};
int newArr[]=Arrays.copyOf(a,3);//3代表新数组的长度
for(int tmp:newArr)
{
   System.out.println(tmp);
}

③应用:

int a[]=new int[]{23,53,12,93,27,67};
int newArr[]=Arrays.copyOfRange(a,0,3);//表示复制,从[0,3)复制
for(int tmp:newArr)
{
    System.out.println(tmp);
}

10、冒泡排序:

int a[]={62,3,432,30,49};
for(int i=1;i<a.length;i++)
{
	for(int j=0;j<a.length-i;j++)
	{
		if(a[j]>a[j+1])
		{
			int temp=a[j];
			a[j]=a[j+1];
			a[j+1]=temp;
		}
	}
}
System.out.println("冒泡排序的结果为:");
for(int tmp:a)
{
	System.out.print(tmp+" ");
}

11、选择排序:

int a[]={62,3,432,30,49};
int index;//保存当前最大的元素所在位置
for(int i=1;i<a.length;i++)
{
	index=0;
	for(int j=1;j<a.length-i;j++)
	{
		if(a[index]<a[j])
		{
			index=j;
		}
	}
	int tmp=a[a.length-i];
	a[a.length-i]=a[index];
	a[index]=tmp;
}
System.out.println("选择排序的结果为:");
for(int tmp:a)
{
	System.out.print(tmp+" ");
}

12、Array.Sort():数组的排序,括号里填数组名,是升序

13、将数组转换为字符串: Arrays.toString(数组名);可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开

String 类

1、利用构造方法直接实例化:  String a=new String("我爱清汤小肥羊");

2、字符数组拼接成字符串:

char chararray[]={'t','i','m','e'};
String a=new String(chararray);

3、利用字符数组实例化的第二种方法:public String(char[]value, int offset,int count);分别代表字节数组,起始位置,获取个数

char[] charArray={'时','间','就','是','金','钱'};
String a=new String(charArray,4,2);//则a="金钱"

4、连接字符串

①使用+=运算符同样可以实现拼接字符串的效果

②contact():   在末尾添加

String str="abc";
str=str.contact("de");

5、数字转换成字符串

①:显式转换:

String strInt=String.valueOf(126);
String strLong=String.valueOf(126L);
String strDouble=String.valueOf(126.123456);
String strFloat=String.valueOf(3.14f);
String strBoolean=String.valueOf(false);

②、隐式转换:

字符串=字符串+数字

String str1=""+123;//双引号可以自动将后面的数字转换成字符串
String str2="123"+456;
String a="1"+2+3+4;//a为1234
String b=1+2+3+"4";//b为64
String c="1"+(2+3+4);//c为19,这三个都为字符串,

规律:碰到字符串后,直接输出后面内容;

           碰到字符串前,先做运算,后输出内容

          碰到大括号,先运算大括号中的值,后输出内容

6、字符串长度:  public int length()

String password="1234567890"
int size=password.length();

注意:①字符串:length();     数组:length

           ②length()方法返回的字符串长度包括字符串中的空格

            ③null字符串不能使用length()

7、获取指定位置的字符:public char charAt(int index)//index代表要获取的索引位置

String name="Peter";
char ch=name.charAt(0);
String name="免贵姓郭";
char ch=name.charAt(name.length()-1);//此时ch就为  郭

8、获取子字符串的位置

①获取第一次出现的索引:public int indexOf(String str);

String str="We are the world";
int index=str.indexOf("e");//返回e第一次出现的位置,即是1

public int indexOf(String str,int fromIndex);第二个参数为起始位置

String str="We are the world";
int index=str.indexOf("e",3);//返回e从3位置之后第一次出现的位置,即是5

②获取最后一次(倒数第一次)出现的索引:public int lastIndexOf(String str);

String str="Let it go!Let it go!";
int lastIndex=str.lastIndexOf("t");//t最后一次出现的位置是15

public int lastIndexOf(String str,int fromindex);//fromIndex为起始位置,然后往前找第一个

String str="Let it go!Let it go!";
int lastIndex=str.lastIndexOf("t",14);//从14开始找,往前走,t最后一次出现的位置是12

9、判断字符串首尾内容

①判断字符串结尾内容:public boolean endsWith(String suffix),  suffix代表要对比的字符串

String fileName="HelloJava.java";
boolean bool1=fileName.endsWith(".java");
boolean bool2=fileName.endsWith(".jpg");
System.out.println(bool1);//true
System.out.println(bool2);//false
boolean bool3=fileName.endsWith("a");//bool3=true,因为是判断结尾内容
boolean bool4=fileName.endsWith(".jav");//bool4=false,因为是判断结尾内容

②判断字符串句首内容: public boolean startsWith(String prefix), prefix代表要对比的字符串

String fileName="新华社书店从前方发来报道。。。";
boolean bool1=fileName.startsWith("新华社");
boolean bool2=fileName.startsWith("新华书店");
System.out.println(bool1);//true
System.out.println(bool2);//false

10、获取字符串数组:

①将字符串变成字符数组: public char[] toCharArray();

String str="这是一个字符串";
char[] ch=str.toCharArray();
for(char tmp:ch)
{
    System.out.println(tmp);
}

11、判断子字符串是否存在:①public boolean contains(String string),string为要查找的字符串

String str="8888B888";
boolean bool1=str.contains("B");//true
boolean bool2=str.contains("H");//false

②也可以用indexOf()方法判断,如果有,则返回位置,且一定大于0;如果不存在,返回-1 。

12、截取字符串

①public String substring(int beginIndex),beginIndex表示开始截取的位置

②public String substring(int beginIndex,int endIndex);

13、字符串替换

①public String replace(CharSequence target,CharSequence replacement),旧字符串序列换成新字符序列

String str="馒头一文一个";
String restr=str.replace("一","壹");
System.out.println(restr);//馒头壹文壹个

②public String replaceAll(String regex,String replacement),将旧字符序列或正则表达式内容,替换成新字符串

注意:正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符,例如:“\\d”代表数字0~9中的任何一个,“\\d”就是元字符

String str="123456abc";
String replaceStr=str.replaceAll("\\d","?");//??????abc

③public String replaceFirst(),替换第一次(了解)

14、字符串分割: public String[] split(String regex), regex代表分割符号

String str="abc,def,ghi";
String[] strArray=str.split(",");
for(int i=0;i<strArray.length;i++)
{
   System.out.println(StrArray[i]);
}
//abc
//def
//ghi

②限定分割次数:public String[] split(String regex,int limit);  分别代表分割符号,分割次数

String str="192.168.0.1";
String[] firstArray=str.split("\\.");//192  168  0  1
String[] secondArray=str.split("\\.",2);//192  168.0.1   分割两次即分完后为两部分

15、字符串的大小写转换

①将字符串变成大写 public String toUpperCase()

②将字符串变成小写 public String toLowerCase()

String str="abc DEF";
String strLow=str.toLowerCase();//abcdef
String strUp=str.toUpperCase();//ABCDEF

16、①去除首尾空白内容: public String trim();

String str="   a  b  c   ";
String shortStr=str.trim();//a  b  c,只去除首尾空格

②去除字符串中所有空白内容

String str="a b cd      e       fg ";
String shortstr=str.replaceAll("\\s","");分别是正则表达式和空内容字符串,这样就全部删掉空格

17、①比较字符串是否相等: public boolean equals(String anotherString)

String name=new String("tom");
String dbvalue=new String("tom");
boolean bool=name.equals(dbvalue);//true

②忽略大小写比较; public boolean equalsIgnoreCase(String annotherString)

String str1=new String("abc");
String str2=new String("ABC");
boolean bool=str1.equalsIgnoreCase(str2);//true

③注意:

String name1=new String("tom");
String dbvalue1=new String("tom");//此时两个不相等
//如果没有用new
String name2="tom";
String dbvalue="tom";
//此时name2==dbvalue

可变字符

StringBuffer类:①可变字符序列,类似于String的字符串缓冲区,其实体容量会随着存放的字符串增加而自动增加

StringBuffer sbf=new StringBuffer();
StringBuffer sbf=new StringBuffer("abc");
StringBuffer sbf=new StringBuffer(32);//不等于new String("32");new StringBuffer(32)的意思:初始字符序列容量为32个字符,内存所占容量为32个字符;new String("32")代表出事字符序列值为“32”,内存所占容量为16个字符

new StringBuffer(32)的意思:初始字符序列容量为32个字符,内存所占容量为32个字符;

new String("32")代表出事字符序列值为“32”,内存所占容量为16个字符

②常用方法:追加字符序列: public StringBuffer append(Object obj),支持转义字符

StringBuffer sbt=new StringBuffer();
sbt.append("门前大桥下");

③修改制定索引处的值:public void setCharAt(int index,char ch)// index代表位置

StringBuffer sbf=new StringBuffer("123456");
sbf.setCharAt(3,'A');//3代表位置

④字符串反序 : public StringBuffer reverse()

⑤删除子字符串   public StringBuffer delete(int start,int end)  start开始,end之前(也就是start ,end-1)

⑥与String类似的方法

StringBuffer sbf=new StrignBuffer("ABCDEFG");
int length=sbf.length();
char chr=sbf.charAt(5);//获取索引为5的字符
int index=sbf.indexOf("DEF");//获取DEF字符串所在的索引位置
String substr=sbf.substring(0,2);//获取从索引0开始至索引2之间的字符串
StringBuffer tmp=sbf.replace(2,5,"1234");//将从索引2开始至索引5之间的字符序列替换成“1234”

格式化字符串: String.format(String format,Object...args)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值