用final
修饰,如果修饰的变量是成员变量需要初始化
Character.isDigit(c);//判断是不是数字
判断字符串相等,str.equals("temp")
str.equalsIgnoreCase("temp")//忽略大小写比较
字符串创建:
String s=new String()
char[] c=['a','b','c'];
String s=new String(c);//s="abc"
char[] c=['a','b','c','d','e'];
String s=new String(c,2,3);//s="cde"
字符串操作:
s.length();//字符串长度
s.indexOf('s');//返回字符串第一次出现s字符的索引
s.indexOf("ss");//返回字符串第一次出现ss字符串的索引
s.charAt(3);//返回字符串索引为3的位置的字符,注意不能使用下标
s.replaceAll(" ","");//将字符串中的空格替换掉,同s.replace(" ","")一样
s.replaceFirst(" ","");//只替换第一个匹配的字符串
s.startsWith("temp");//判断s以temp开始
s.endsWith("temp");//判断s以temp结尾
s.toUpperCase();
s.toLowerCase();
s.split(",");//以逗号分隔成字符串数组,s.split(",",2)限定分隔份数,s.split(",|.")以逗号或句号分隔
s.toCharArray();//输出字符数组
StringBuilder builder=new StringBuilder("");//适用于频繁操作字符串
builder.append(String str);
builder.append(StringBuilder sb);
builder.insert(int offset,String str);//在位置offset插入字符串
builder.delete(int start, int end);//删除start到end之间的字符,不包含end位
builder.toString();
builder.deleteCharAt(int offset);
int[] a= new int[10];
int[] b={1,2,3,4};
b.length();//4
正则表达式:
boolean b=str.matches("\\p{Upper}\\p{Lower}\\d");//是否匹配 大写字母小写字母数字的格式
位运算:
一个数向左移n位,相当于乘以2的n次方,向右移n位,相当于除以2的n的次方
实例:不用第三变量实现两变量互换 实例代码
switch
语句:
判断类型必须为整形或字符形
若想用switch
判断字符串,可以使用.hasCode()
方法:
"java".hasCode()//==3254818
foreach
语句:
int[] a={1,2,3,4};
for(int i:a){
System.out.println(i);
}
breake/continue
操作外层循环:
int[][] a={{1,2},{3,4},{5,6}};
No1:for(int[] i:a){
for(int j:i){
System.out.println(j);
if(j==3)
break No1;//continue No1
}
}
import java.util.Scanner;
Scanner input=new Scanner(System.in);
String str=input.nextLine();//输入下一行字符串,包含空格,不包含最后的换行符
import java.util.Arrays;
int[] a={6,3,5,7};
Arrays.fill(a,2);//全部替换2,2,2,2
Arrays.fill(a,1,3,2);//区间替换6,2,2,7
Arrays.sort(a);//排序3,5,6,7
int[] b=Arrays.copyOf(a,3);//复制3个值:6,3,5
int[] b=Arrays.copyOf(a,1,3);//从1复制到3(不含):1,3