Java运算符、switch、数组、排序
1、Java的运算符,分为四类:算数运算符、关系运算符、逻辑运算符、位运算符
运算符例子:22、25(十进制转化为二进制,8421码)
0010 0010 (22)
0010 0101 (25)
位运算符位于(&)和位或(|)的区别:
位于&(两个操作数都是1,则为1,反之为0):
0010 0000(20)
位或(两个操作数仅有一个1,则为1,反之为0):
0010 0111(27)
右移一位例子:
89>>1(89右移一位)
1000 1001
右移一位后:0100 0100(44)
2、switch的注意事项:
(1)表达式只能为int型或者枚举型(char、byte、short可自动升为int型,long会丢失精度,所以表达式不能为long型)
(2)jdk1.7及以上表达式可以为字符串,但是不能为null
(3)switch每一次只执行一条分支语句,并且每一条分支语句后需要加break,防止穿透现象
3、定义了一个数组后,如果没有进行复制的,剩下的空间值都是为0
例如:
int[] a=new int[10];
a[0]=2;
a[1]=3;
剩下的a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]的值都是为0
4、数组的几种表达方式:
int a[];
int[] b=new int[4];
int[] c={2,5,8,9};
int[] d=new int[]{2,5,8,9};
数组例子:
(1)double[] score=new double[5];//score是一个数组
数组中Arrays的用法:
(1)Arrays.sort(score);//将数组的所有数据进行升序排序
(2)Arrays.sort(score,0,2);//将数组的前两个值进行升序排序,即对score[0],score[1]进行升序排序
5、选择排序
for(int i=0;i<score.length;i++){ for(int j=i+1;j<score.length;j++){ if(score[i]>score[j]){ change=score[i]; score[i]=score[j]; score[j]=change; } } }
6、冒泡排序
for (int i = score.length-1; i >0 ; i--) { for (int j = 0; j <i; j++) { if(score[j]>score[j+1]){ change=score[j]; score[j]=score[j+1]; score[j+1]=change; } } }