Java的运算符与C++几乎一样
Java的流程控制语句与C++也是几乎一样的
Java的break可以指定退出哪一个循环
基本数据类型:
1、数值
1.1、整数(byte(1B)、short(2B)、int(4B)、long(8B)) ----long型数字后要加L或l
1.2、浮点(float(4B)、double(8B)) ----float数字后要加F或f
2、字符(char(2B))----用单引号括起来,如's'
3、布尔(boolean)----true false。boolean型的值不能转变为其他数据类型,反之亦然
声明常量:
final 数据类型 常量名称[=值] ----常量名称一般用全大写,如果是成员常量,定义时就需要赋值。
变量:
1、成员变量
1.1静态变量 ----有static修饰
1.2实例变量
2、局部变量
移位:
1、>> 右移 ----最高位是0,则高位填0,最高位为1,则高位填1
2、<< 左移 ----低位填0
3、>>> 右移 ----高位填0
foreach语句:
for(元素变量x:遍历对象){
引用x的语句;
}
如:
int arr[] = {7, 10, 1};
for (int x : arr) {
System.out.println(x + "\t");
}
数组:
----下标从0开始,数组名.length可获取数组元素个数
声明一维数组:int arr[ ]; 或 int[ ] arr; ----此时还未分配内存
分配内存空间:数组名 = new 数组类型[元素个数]; ----元素的初始值为0声明并分配内存:数组类型 数组名[ ] = new 数组类型[元素个数];
初始化一维数组:
int arr[] = new int[] {1,2,3,4};
int arr2[] = {4,5,6};//可以省略new int[]
分配内存空间:
myarr = new int[2][4];
为每一维单独分配内存:
myarr = new int[2][];
myarr[0] = new int[2];
myarr[1] = new int[3];
初始化二维数组:
int myarr[][] = {{12,0}, {4,5}};
java.util包的Arrays类包含用来操作数组的各种方法。
Arrays.fill(arr, 8);//将一维数组arr中所有元素赋值为8
Arrays.fill(arr, 1, 3, 8);//将arr中index 1到2的元素赋值为8,index为3的元素不赋值
Arrays.sort(arr);//对arr进行升序排列
int newarr[] = Arrays.copyOf(arr, 5);//将整个arr复制到一个长度为5的数组中,并将新数组赋值给newarr
int newarr[] = Arrays.copyOfRange(arr, 0, 3);//复制arr的第0~2个元素,第3个不复制
字符串String:
Java中字符串不能直接换行写,要用+号连接
创建字符串:
String S1 = new String();//创建一个空字符串
char a[] = {'g', 'o', 'o', 'd'};
String S2 = new String(a);//等价于String S2 = new String("good");
String S3 = new String(a, 1, 2);//1为起始index,2为长度。等价于String S3 = new String("oo");
字符串操作:
String Str = S1 + S2;//假设Str为"We are students"
Str.length();
Str.indexOf("s");//返回Str中第一个s的位置,为7
Str.lastIndexOf("s");//返回Str中最后一个s的位置,为14
Str.charAt(8);//返回Str的第8个字符't'
Str.trim();//去除字符串Str的前导、尾部空格
Str.replace("st", "ab");//将Str中所有字符串"st"用"ab"替换
Str.replaceFirst("st", "ab");//只替换第一个"st"
Str.equals(Str1);//比较字符串Str和Str1,相同则返回true,区分大小写
Str.equalsIgnoreCase(Str1);//不区分大小写的比较
Str.startsWith("We");//判断Str是否以"We”开头,是则返回true
Str.endsWith("ts");//是否以“ts”结尾
Str.toLowerCase();//将Str全部转换为小写,并返回新字符串
Str.toUpperCase();//全部转换为大写
String[] newStr = Str.split(" ");//按空格对Str分割,则newStr[0]为"We", newStr[1]为"are",newStr[2]为"students"
String[] newStr = Str.split(" ", 2);//限制Str分割为2份,则newStr[0]为"We",newStr[1]为"are students"
格式化:
String.format( , );
正则表达式:
Str.matches(regex); ----如果Str符合正则表达式regex,则返回true
字符串生成器StringBuilder:
效率比String高
StringBuilder builder = new StringBuilder();//构造一个空的生成器
StringBuilder builder = new StringBuilder("good");//构造一个初始值为good的生成器
builder.append(Str);//将对象追加到builder中,Str可以是String或者StringBuffer对象
builder.insert(2, Str);//假如Str为"ba",则builder值就为"gobaod"
builder.delete(1, 4);删除1~3字符,builder为"god"
builder.toString();//将builder转换为String字符串,并返回