Java语言基础知识
因为学习过C,所以这里记录下Java与C不同的地方
1.快捷键Alt+/
作用:节省些代码的时间
例子:1.输入“main“”按下 Alt+/,回车,可以迅速输出public static void main(String[] args)
2.输入“sysou“”t按下Alt+/,自动生成System.out.println();进而进行输出操作。
个人想法:相比较C来说,个人非常喜欢这样的方式,可以节省大量码代码的时间,在后台程序里还有更多的模板等待着我去发现!
2.关系运算符之类型比较符instanceof
用于比较数据的类型,具体用法还不清楚。
3.一维数组
流程:
1.声明数组
2.创建数组
3.初始化
4.使用
例1:
输出结果public class Arrays { public static void main(String[] args) { {int[]a1={1,2,3,4,5};//创建并初始化数组a1 int[]a2;//声明数组a2 a2=a1; for(int i=0;i<a2.length;i++) a2[i]++;//让数组a2每个元素+1 for(int i=0;i<a1.length;i++)//输出a1数组 System.out.println("a1["+i+"]="+a1[i]); } }
发现:Java不同于C,这里声明的a2其实只是一个引用,a1和a2同时引用了同一个数组,就好像C里面的指针一样,同时指向同一个内存地址。a1[0]=2 a1[1]=3 a1[2]=4 a1[3]=5 a1[4]=6
那么如何创建一个新的数组呢?
例2创建新数组:
输出结果:public class ArrayCopyDemo { public static void main(String[] args) { char[]copyFrom={'d','e','c','a','f','f','e','i', 'i','n','a','t','e','d'};//创建、初始化数组copyFrom char[]copyTo=new char[7];//创建数组copyTo System.arraycopy(copyFrom, 2, copyTo, 0, 7);//利用了一个函数将copyFrom的数据,复制到copyTo中 System.out.println(new String(copyTo));//将字符数组copyTo,转化为字符串进行输出 } }
程序意图:将字符数组copyFrom下标为2开始的7个字符元素,复制到copyTo中,并将其打印出来。caffeii
发现:1.System.arraycopy(原数组,起始下标,新数组,起始下标,拷贝长度),利用该函数实现拷贝。
2.利用New String将char的字符数组copyTo转化为字符串进行输出,不需要利用for循环逐个访问数组元素。该技巧十分的巧妙!
4.二维数组
定义:int da[][];
直接来看例子吧:
程序意图:先输出二维数组的长度,即行数,public class UnevenExample3 { public static void main(String[] args) { //聲明一個二維數組 int[][]uneven={{1,9,4},{0,2},{0,1,2,3,4}}; System.out.println("Length of array is: "+uneven.length); System.out.println("Legth of row[0] is: "+uneven[1].length); System.out.println("Legth of row[1] is: "+uneven[1].length); System.out.println("Legth of row[2] is: "+uneven[1].length); } }
再输出每一个子数组的长度,即列数
输出结果:
Length of array is: 3 Legth of row[0] is: 2 Legth of row[1] is: 2 Legth of row[2] is: 2
5.流程控制语句
与C语言中的流程控制语句基本一致
包括:选择语句:if_else语句
开关语句:switch语句
循环语句:for循环、while循环、dowhile循环
6.数据类型的转换
public class DataTypeCaseDemo01 {
public static void main(String[] args) {
byte b = 10;
short s = b;
int i = b;
long l = b;
l = s;
l = i;
char c='a';
i = c;
l = c;
float f=3.5f;
double d=f;
f = b;
f = s;
f = i;
f = l;
f = c;
d = b;
d = s;
d = i;
d = l;
d = c;
//範圍比較小的向大的轉換,不會損失精度
}
}