1.运算符

1.1算数运算符

  • 算术:+,-,*,/,%,++,--
  • %:取模/取余,余数为0即为整除
System.out.println(5%2); //1,商2余1
       System.out.println(8%2); //0,商4余0----整除
       System.out.println(2%8); //2,商0余2
  • ++/--:自增1/自减1,可在变量前也可在变量后
  • 单独使用时,在前在后都一样
//++单独使用:
         int a=5,b=5;
         a++; //相当于a=a+1
         ++b; //相当于b=b+1
         System.out.println(a); //6
         System.out.println(b); //6
         
         //--单独使用:
         int a=5,b=5;
         a--; //相当于a=a-1
         --b; //相当于b=b-1
         System.out.println(a); //4
         System.out.println(b); //4
  • 被使用时,在前在后不一样
  • a++的值为a----------(a--的值为a)
  • ++a的值为a+1--------(--a的值为a-1)
//++被使用:
         int a=5,b=5;
         int c = a++; //1)记录a++的值5  2)a自增1变为6  3)将刚刚记录的a++的值5 赋值给c
                      //简便记法: a++的值为5,所以c就是5
         int d = ++b; //1)记录++b的值6  2)b自增1变为6  3)将刚刚记录的++b的值6赋值给d
                      //简便记法: ++b的值为6,所以d就是6
         System.out.println(a); //6
         System.out.println(b); //6
         System.out.println(c); //5
         System.out.println(d); //6
         
         //--被使用:
         int a=5,b=5;
         int c = a--; //a--的值为5,所以c就是5
         int d = --b; //--b的值为4,所以d就是4
         System.out.println(a); //4
         System.out.println(b); //4
         System.out.println(c); //5
         System.out.println(d); //4

1.2关系运算符

  • 大于>,小于<,大于或等于>=,小于或等于<=,等于==,不等于!=
  • 关系运算的结果为boolean型,关系成立则为true,关系不成立则为false
int a=5,b=10,c=5;
       boolean b1 = a>b;
       System.out.println(b1);   //false
       System.out.println(c<b);  //true
       System.out.println(b>=c); //true
       System.out.println(a<=c); //true
       System.out.println(a==c); //true
       System.out.println(a!=c); //false
       
       System.out.println(a+c>10); //false
       System.out.println(a%2==0); //false
       System.out.println(a++>5); //false--------a自增1变为6
       System.out.println(a++>5); //true---------a自增1变为7

 1.3逻辑运算符

  • &&:短路与(并且),两边都为真则为真,见false则false
  • 若第1个条件为false,则发生短路(后面的不执行了)
int a=5,b=10,c=5;
       boolean b1 = b>=a && b<c;
       System.out.println(b1);          //true&&false=false
       System.out.println(b<=c && b>a); //false&&true=false
       System.out.println(a==b && a>c); //false&&false=false
       System.out.println(a!=b && c<b); //true&&true=true
       
       //演示短路
       int a=5,b=10,c=5;
       boolean b3 = a>b && c++>2;
       System.out.println(b3); //false
       System.out.println(c);  //5,发生短路了
  • 若第1个条件为true,则发生短路(后面的不执行了)
int a=5,b=10,c=5;
       System.out.println(b>=a || b<c); //true||false=true
       System.out.println(b<=c || b>a); //false||true=true
       System.out.println(a!=b || c<b); //true||true=true
       System.out.println(a==b || a>c); //false||false=false
       
       //演示短路
       int a=5,b=10,c=5;
       boolean b4 = a<b || c++>2;
       System.out.println(b4); //true
       System.out.println(c);  //5,发生短路了
  •   !:逻辑非(取反),非真则假,非假则真
int a=5,b=10,c=5;
       boolean b2 = !(a<b);
       System.out.println(b2);     //!true=false
       System.out.println(!(a>b)); //!false=true
  •  逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是boolean型

1.4赋值运算符

  • 简单赋值运算符:=
  • 扩展赋值运算符:+=、-=、*=、/=、%=
  • 扩展赋值自带强转功能
int a = 5;
       a += 10; //相当于a=(int)(a+10)
       System.out.println(a); //15
       a *= 2; //相当于a=(int)(a*2)
       System.out.println(a); //30
       a /= 6; //相当于a=(int)(a/6)
       System.out.println(a); //5
       
       //小面试题:
       short s = 5;
       //s = s+10; //编译错误,需强转,改为:s=(short)(s+10);
       s += 10; //相当于: s=(short)(s+10);

1.5字符串连接

  • +:
  • 若两边为数字,则做加法运算
  • 若两边出现了字符串,则做字符串连接
  • 任何类型的数据与字符串相连,结果都会变为字符串类型
int age = 38;
       System.out.println("age="); //age=
       System.out.println(age);    //38
       System.out.println("age="+age); //age=38
       System.out.println("我的年龄是"+age); //我的年龄是38
       System.out.println("我今年"+age+"岁了"); //我今年38岁了
       String name = "WKJ";
       System.out.println("name="+name); //name=WKJ
       System.out.println("大家好,我叫"+name); //大家好,我叫WKJ
       System.out.println("大家好,我叫"+name+",今年"+age+"岁了");
       
       System.out.println(10+20+""+30); //3030--------String
       System.out.println(""+10+20+30); //102030------String
       System.out.println(10+20+30+""); //60----------String

1.6条件

  • 语法:  boolean?数1:数2
  • 执行过程:
  • 整个表达式是有值的,它的值要么是?号后的数1,要么是:号后的数2
  • 计算boolean的值:
  • 若为true,则整个表达式的值为?号后的数1
  • 若为false,则整个表达式的值为:号后的数2
int num = 5;
       int flag = num>0?1:-1;
       System.out.println(flag); //1
       
       int a=8,b=55;
       int max = a>b?a:b;
       System.out.println("max="+max);

2.分支结构

2.1if结构:1条路

1)语法:
       if(boolean){
         语句块------------基于条件执行的语句
       }
     2)执行过程:
       判断boolean的值:
         若为true,则执行语句块(整个结束)
         若为false,则if直接结束
//1)偶数的判断:
     int num = 5; //带数(6,5)
     if(num%2==0){
         System.out.println(num+"是偶数");
     }
     System.out.println("继续执行...");
     
     //2)满500打8折:
     double price = 300.0; //消费金额   带数(600.0,300.0)
     if(price>=500){ //满500
         price=price*0.8; //打8折
     }
     System.out.println("最终结算金额为:"+price);

 

2.2if...else结构2条路

1)语法:
        if(boolean){
           语句块1
        }else{
           语句块2
        }
     2)执行过程:
        判断boolean的值:
          若为true,则执行语句块1(整个结束)
          若为false,则执行语句块2(整个结束)
     3)说明:
        语句块1和语句块2,必走其中之一-----------2选1
//1)偶数、奇数的判断:
     int num = 5;  //带数(6,5)
     if(num%2==0){
         System.out.println(num+"是偶数");
     }else{
         System.out.println(num+"是奇数");
     }
     System.out.println("继续执行...");
     
     //2)满500打8折,不满500打9折:
     double price = 300.0; //带数(600.0,300.0)
     if(price>=500){
         price*=0.8;
     }else{
         price*=0.9;
     }
     System.out.println("最终结算金额为:"+price);

3.明日单词

1)Scanner/scan:扫描仪
   2)import:引入、导入
   3)System:系统
   4)in:进入
   5)new:新的
   6)nextInt:下一个整数
   7)nextDouble:下一个浮点数
   8)switch:开关
   9)case:案例
   10)break:中断、退出
   11)command:命令
   12)by:通过
   13)times:次数
   14)while:当...的时候,循环的一种
   15)do:做、干
   16)math:数字
   17)random:随机
   18)guess/guessing:猜
   19)game:游戏
   20)level:等级
   21)count:数量