运算符
package com.qingfeng.test;
public class demo5 {
/*
* 运算符:
* a:功能来分
* 1.算数运算符 + - * /
* 2.赋值运算符 = *= -= += %=
* 3.关系运算符 < > <= >= != ==
* 4.逻辑运算符 && || !
* 5.位运算符 ~(按位取反) ^(按位异或) &(按位于) |(按位或)
* 6.移位运算符 >>右移一位/2 <<左移一位*2
* b:运算元素个数
* 1.一元运算符
* 2.二元运算符
* 3.三元运算符
*
*/
public static void main(String [] args){
// * a:功能来分
// * 1.算数运算符 + - * / % ++ –
System.out.println(3+4);
System.out.println(3*-2);
System.out.println(-3/2);//-1
System.out.println(3%2);//1
System.out.println(3%-2);//1
System.out.println(-3%-2);//-1//被余数为正数结果就为正数 为负数结果就为负数
System.out.println(-3%2);//-1//被余数为正数结果就为正数 为负数结果就为负数
//++(自加) –(自减)
//++在前(先自身运算在参与整体运算) ++在后(现参与运算,在自身运算)
int a = 2, b,c=3,d;
b=a++;
d=++c;
System.out.println(“b:”+b +” c:” +d);
// * 2.赋值运算符 = *= -= += %=
//都是将右边的值赋值给左边
int f = 4;
//定义的变量必须先赋值 后运算
f+=3;//(f= f+3)
//练习一
/*
*
*/
int n=5,m=1,u=3,o=0;
o = n++ - --m + (u++ - n++);
System.out.println(o);
System.out.println(n);
System.out.println(u);
System.out.println(m);
// * 3.关系运算符 < > <= >= != ==
// * 4.逻辑运算符 &&(全真则真 一假则假)
// ||(全假则假 一真则真)
// ! (真则假 假则真)
//短路 与 当多个&&相连 从左往右运算 遇到一个false就会停止运算 所谓停止运算就是代码停止运算,如果后面有其他逻辑运算符则终止到下个运算符
//短路 或 当多个||相连 从左往右运算 遇到一个true就会停止运算
//注意 结果只有true or false 参与运算的元素也只能是true or false
// * 5.位运算符 ~(按位取反) ^(按位异或) &(按位于) |(按位或)
//~ 1为0 0为1
//^ 相同则0 不同则1
//& 全1则1 有0 则0
//| 全0则0 有1则1
/***
* 11和7
* 1011 11
* 0111 7
*
* 0011 &
* 1111 |
* 1100 ^
* 0100 11~
*
*
* 交换两个数的值 x=3 y=4;
* a.借助第三方变量
* b.使用异或(运算效率高 直接操作的是二进制)
* x= x^y; 0111
* y=x^y; 0011
* x=x^y; 0100
* 0011 3
* 0100 4
*
*/
// * 6.移位运算符 >>右移一位/2 <<左移一位*2
/*
* 先右移在左移不一定得到原来的数 反之同理 无符号右移>>>
* 0101>>0010
* 0101<<1010
*/
/***
* * b:运算元素个数
* 1.一元运算符
* ++ -- +(正) -(负) ! ~
* 2.二元运算符
* + - * / %
* 3.三元运算符
* 表达式一 >表达式二?值一:值二 前面表达式如果成立 则整体的值为值一 否则为值二
* 表达式:由变量和常量以及运算符组成的式子
* 空语句 ;
*/
;;;;;;//不报错
}
}
4.流程控制语句
package com.qingfeng.test;
public class Demo6 {
/*
* 流程控制语句
*
*/
public static void main(String[] args) {
/*
* 分支语句
* 实例:判断当前月份是几月?
* 春季 3.4.5
* 夏季 6.7.8
* 秋季9.10.11
* 冬季 12.1.2
* 分支语句
*/
int num = 3;
if (num==3||num == 4||num == 5) {
System.out.println(“春季”);
}else if(num==6||num == 7|| num == 8){
System.out.println(“夏季”);
}else if(num==9||num == 10|| num == 11){
System.out.println("秋季");
}else{
System.out.println("冬季");
}
/*
* if使用注意点
* 如果if后面没有{} 默认只能跟一条语句
* if后面可以直接跟空语句
*/
/*
* 实例二 根据学院的成绩判断他状态
* switch(a/10){
* case 1:
* System.out.println("不及格");
* break;//结束switch 没有break 有出现switch的穿透性
* switch(字符串 (在jdk1.8开始使用) 枚举型)
* case 后面如果跟多条语句最好跟 {}
* 分至少用 if 分之多用switch
*
* }
*/
}
}