运算符
1、算数运算符附代码
package Day_2;
public class Day_2 {
//main是程序的入口
public static void main(String[] args) {
int a=10;
int b=3;
char d='d';
//char字符会转换成Ascall码值
String c="abc";
System.out.println(a+b);//加法的算术运算 System.out.println(a+d); System.out.println(a+c); //在这里+表示连接字符串, // * / % 只能进行算术运算
// ++ --
// ++在进行单独运算时没有区别
int x=1;
x++;
++x;
System.out.println(x);
int y=x++; // ++在进行混合运算时++在后是先赋值再自增,在前是先自增再赋值。
System.out.println(y);
System.out.println(x);
}
}
2、比较运算符、逻辑运算符附代码
`
package Day_2;
public class Day_2_demo1 {
public static void main(String[] args) {
/*// 比较运算符: > < >= <=适用于数值类(char)
int a = 0, b = 1;
int e = 7, p = 6;
boolean c = true, d = false;
String x = "asd", y = "fgh";*/
/* // ==
System.out.println(a==b);
System.out.println(c==d);
System.out.println(x==y);
// !=
System.out.println(a!=b);
System.out.println(c!=d);
System.out.println(x!=y);
//instanceof类型检测
Object x=10;
System.out.println(x instanceof String);//true
//逻辑运算符: & | ! ^ 可以进行逻辑运算与位运算 位运算是二进制bit的位运算:例如 6 & 5 —— 110 & 101
// &&(短路与):遇到第一个false时后面的表达式不执行 ||(短路或):遇到第一个true是后面的表达式不执行
// ^(异或):结果相同为false,不同为true。*/
/*//&
System.out.println(a > b & e < p);//false
// |
System.out.println(a > b | e < p);//false
// !
System.out.println(!(a > b | e < p));
// ^
System.out.println(a > b ^ e < p);//结果相同为false,结果不同为true。*/
// &&短路与
/* System.out.println(a>b&&e++<p);//遇到第一个false时后面的表达式不执行
System.out.println(e);*/
/*// ||短路或
System.out.println(a<b||e++<p);//遇到第一个true是后面的表达式不执行
System.out.println(e);*/
//instanceof类型检测
Object x=10;
System.out.println(x instanceof String); //false
System.out.println(x instanceof Integer); //true
}
}
`
3、赋值运算符、条件运算符、位运算符附代码
`
package Day_2;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//赋值运算符 = 在赋值时值的类型与声明变量类型一致。
//牵扯到数据类型的转换(基本类型之间)自动转换,强制转换。
//混合运算时,数据类型默认会转为表达式中最大的类型。
//扩展赋值:+= -= *= %= /= 在扩展赋值时会进行隐式转换。
/*int a=10;
a += 0.1;//存在隐式转换。
//int e=4,p=9;
System.out.println(a);*/
//条件运算符: 类型 结果 = (条件表达式)?表达式1:表达式二 如果条件成立则输出结果表达式一,不成立则输出表达式二
/*Boolean h = (e>p)?true:false;
System.out.println(h);*/
//异或运算符
/*// << 左移 二进制Bit位左移
int a=2;
System.out.println(a<<1);// 010左移一位变为100 4
// >>右移 二进制bit位右移一位
System.out.println(a>>1); //010右移一位变为001 1
// 无符号右移>>>
System.out.println(a>>>1); // 1
// &按位与
// ^按位或 ~按位取反
*/
/*//控制台输入
Scanner sc = new Scanner(System.in);
String string = sc.next();//阻塞式IO,输入时进行阻塞状态,等待,按回车,输入结束,继续执行
System.out.println(string+"真好");*/
}
}
`