1、算数运算符
+,-,*,/,%,++,—
public class A {//+、-、*、/、%、++、--public static void main(String[] args) {int a=10;int b=3;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);System.out.println(a%b);System.out.println("----------------------------");int a1=5,a2=10;int c=a1++;//++在后面,c=a1,a1=a1+1System.out.println(a1);//6System.out.println(c);//5int c2=++a2;//++在前面,a2=a2+1,c2=a2System.out.println(a2);//11System.out.println(c2);//11//总结:++或--,表示+1或-1;++在后面表示先赋值再+1,++在前面表示先+1再赋值}}
注意:字符串参与加法操作
public class B {//字符和字符串参与加法操作public static void main(String[] args) {int a=10;char c='A';String s="A";//字符与字符串的区别:字符能转换成int,而字符串不能System.out.println(c);//ASystem.out.println((int)c);//65// System.out.println((int)s);//字符与数字相加时会把字符转换成int类型,然后按照算术运算符相加//字符串与数字相加,会做连接操作System.out.println(a+c);//75System.out.println(a+s);//10A(字符串)//数字转换成字符串时,只需要在数字后加“”int b=100;String s1=b+"";System.out.println(s1);//100(是字符串了)}}
2、赋值运算符
基本的赋值运算符:=
扩展的赋值运算符:+=,-=,*=,/=,%= (+=: a+=20;相当于 a = (a 的数据类型)(a + 20))
public static void main(String[] args) {// 把10赋值给int类型的变量aint a = 10;// += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量a += 10;// 相当于a = a + 10System.out.println("a:" + a);System.out.println("----------------------");short s = 10;// s += 20; // 相当于 s = s + 20;s = (short) (s + 20);System.out.println("s:" + s);}
3、关系运算符
public class A {public static void main(String[] args) {/*** 关系运算符包含以下内容:* ==,!=,>,>=,<,<=* 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。* 注意事项:* 关系运算符“==”不能误写成“=”*/int a=100,b=200;System.out.println("a==b:"+(a==b));//falseboolean flag=a!=b;System.out.println(flag);//trueSystem.out.println(a>b);//falseSystem.out.println(a<b);//trueSystem.out.println(a>=b);//falseSystem.out.println(a<=b);//true}}
4、逻辑运算
&逻辑与:有 false 则 false。
|逻辑或:有 true 则 true。
^逻辑异或:相同为 false,不同为 true。
!逻辑非:非 false 则 true,非 true 则 false。
public class A {/*** &,|,^,!* &&,||*/public static void main(String[] args) {int a1=100,b1=100;int a2=200,b2=300;//|(逻辑或)和||(短路或)的区别:(& 和&& 一样)// |逻辑或会判断每个表达式,然后得出结果//||短路或,挨个去判断表达式,如果发现有个表达式为true,那么后面的表达式就不会判断,效率高System.out.println("(a1==b1) | (a2==b2):"+((a1==b1) | (a2==b2)));System.out.println("(a1==b1) || (a2==b2):"+((a1==b1) || (a2==b2)));System.out.println(!(a1==b1));System.out.println("(a1==b1) ^ (a2==b2):"+((a1==b1) ^ (a2==b2)));}}
注意:
A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是 false,右边不执行。
&是无论左边是 false 还是 true,右边都会执行
B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是 true,右边不执行
|是无论左边是 false 还是 true,右边都会执行
5.三元运算符
public class A {/*** A:格式* (关系表达式)?表达式 1:表达式 2;* 如果条件为 true,运算后的结果是表达式 1;* 如果条件为 false,运算后的结果是表达式 2;*/public static void main(String[] args) {int a=(80>60)?1:0;System.out.println(a);//1int age=20;String s=(age>18)?"成年":"未成年";System.out.println(s);System.out.println("-----------------------");System.out.println("三个数中最大的");int a1=10,b1=8,c1=20;int d=(((a1>b1)?a1:b1)>c1)?((a1>b1)?a1:b1):c1;System.out.println(d);//20}}
6.键盘录入
键盘录入数据的步骤:
A:导包(位置放到 class 定义的上面) import java.util.Scanner;
B:创建对象 Scanner sc = new Scanner(System.in);
C:接收数据 int x = sc.nextInt();
/*** @author Lynn* @create 2020-11-18-10:52*///1.导入Scanner类import java.util.Scanner;public class A {public static void main(String[] args) {//2.创建Scanner对象//System .in 表示键盘的输入信息Scanner sc=new Scanner(System.in);//3.每次回车后获取输入的信息int num=sc.nextInt();//4.输出键盘输入的信息System.out.println("num:"+num);}}
import java.util.Scanner;/*** @author Lynn* @create 2020-11-18-10:56*/public class B {//键盘录入两个数据,并对这两个数据求和,输出其结果public static void main(String[] args) {Scanner sc=new Scanner(System.in);//加入提示System.out.println("输入第一个数:");//获取第一个数int num=sc.nextInt();//加入提示System.out.println("输入第二个数:");//获取第二个数int num2=sc.nextInt();int num3=num+num2;System.out.println("num3="+num3);}}
