Java的基本运算符
一些运算符的功能
int[]array={1,2,3};//[]声明一个数组
array[0]=2;//属性获取,下标里面的内容
System.out.println(array);//[I@106d69c 数组 数组类型 数组地址
System.out.println(array[2]);
int len = array.length;//方法调用
System.out.println(len);
输出结果为
[标明的是数组 I是说明数组类型 其他字符数组地址 。
“=”运算符:
“=”是赋值号。
“.”运算符:
“.”是调用方法的运算符。
如图,可以调用Java的各种方法。
”!“表示非运算
boolean b1=true;//
System.out.println(!b1);
结果为false
”~“运算符
”~“表示按位取反,即把一个数转换为二进制,除了符号位之外,其他位置都取反。
”++“运算符
//后置++与前置++
int a=10;
int a3=a++;//后置++
int a4=++a;//前置++
System.out.println(a4);
System.out.println(a3);
输出结果为 11 10
前置++是先把a的值给a3,然后在进行自加操作。
后置++是先进行自加操作,然后在赋值给a4
”–“符号与”++“符号差不多。
”/“运算符
”/“表示除法运算。
int q =2;
int w=5;
System.out.println(w/q);
此时输出为2,因为俩个数都是int类型,所以输出也为整数。
int q =2;
double w=5;
System.out.println(w/q);
此时输出为2.5,由此可以看出,当俩个数都为int类型时,为整除,当有一个数为double或者float类型,此时为除法,可以计算小数。
”%“表示取余数的运算
int q =2;
int w=5;
System.out.println(w%q);
}
此时输出为1 因为是,取余数的运算,所以俩个数必须是整数类型。
“*”表示乘法运算。
与或非运算:
public static boolean fun1(int val){
System.out.println("val<1");
return val<1;}
public static boolean fun2(int val){
System.out.println("val<2");
return val<2;}
public static boolean fun3(int val){
System.out.println("val<3");
return val<3;}
boolean z=fun1(0)&&fun2(2)&&fun3(1);//
System.out.println(z);
boolean z1=fun1(0)||fun2(2)||fun3(1);
System.out.println(z1);
输出结果为
||是中断式的或运算.即或运算只要有一个真,后面都不执行
&&是中断式的与运算.即非只要有一个假的,后面都不执行。
public static boolean fun1(int val){
System.out.println("val<1");
return val<1;}
public static boolean fun2(int val){
System.out.println("val<2");
return val<2;}
public static boolean fun3(int val){
System.out.println("val<3");
return val<3;}
boolean z=fun1(0)&fun2(2)&fun3(1);//
System.out.println(z);
boolean z1=fun1(0)|fun2(2)|fun3(1);
System.out.println(z1);
结果为
”|“是按位或。
”&“是按位与。
”>>“”<<“”>>>”运算
“>>”运算,每右移一位,相当于除以2
如图
“<<”运算,每左移一位,相当于乘以2
如图
“>>>”指的是无符号右移
无符号右移指的是在右移一位时候补0,对于正数没有区别,但是对于负数,无符号右移结果是该数据类型范围的最大值。
用byte来说明
“^”运算符
值按位异或,具体如下图所示
具体过程是,俩个数一样的位为0,不一样的为1.
用于比较的运算符
“<” “>”“<=” “>=” ” ==”这些运算符都用于数值的比较。
“?”运算符
System.out.println(5>1?1:2);
输出结果为1
这句代码的意思是,如果5>1是真的,那么输出1,否则输出2。
判断是不是闰年的练习;
public class d3 {
public static boolean Isyear(int a)
{
if(a%4==0&&a%100!=0||a%400==0){
return true;
}else{
return false;
}
}
public static void main(String[] args) {
int a=2008;
boolean c=Isyear(a);
if(c==true){
System.out.println(" is leapyear");
}
else{System.out.println(" is not leapyear");}
// TODO Auto-generated method stub
;
}
}
此时输出的结果为is leapyear 说明2008是闰年