随堂记录

一.运算符:
1.算数运算符:+,-,*,/,%(取余),++,--
 注意:
 1).++,--:
    A.如果表达式只做一件++或--的事情,那么前++(--)和后++(--)没有分别;
例如:int a = 10;
     a++;//和++a没有区别
    B.如果表达式做多件事情,那么前++(--)和后++(--)将导致整个的表达式的结果不同;
例如:
     int a = 10;
     int b = 20;
     int c = ++a;//先将a自增1,然后再赋值;c = 11
     int d = b++;//先将b赋值给d,然后再自增:d = 20,b = 21;
 2).+符号:
    A.如果+符号两边是数值类型(包括字符类型),做加法运算:
例如:int a = 10 + 20;
例如:char c = 'a';
     System.out.println(c + 1);//98
     System.out.println((char)(c + 1));//b
    B.如果+符号两边,有一边是"字符串"类型,做"字符串连接"。
例如:String str = "abc";
     System.out.println(str + 'd');//abcd
     System.out.println(str + 10);//abc10
     System.out.println(str);//abc
 3)./符号:
    A.整数除法:结果为商,如果不能整除,小数部分舍去;
    B.对于整数除法,如果除数为0时:编译通过,运行时异常。10 / 0
    C.对于浮点除法,如果除数为0时:编译通过,打印:Infinity
 4).%符号:
    A.对于整数,如果模数为0。编译通过,运行时异常;10 % 0
    B.对于浮点,如果模数为0。编译通过,运行时打印:NaN
    C.对于结果的符号,取决于"被模数(左操作数)":
-5 % 2 :结果-1
5 % -2 :1
-5 % -2 : -1
----------------------------------------------------------------------------------------------------
2.赋值运算符:=,+=,-=,*=,/=,%=
 1).=符号:
   A).运算顺序:从右到左;
   B).此运算符会返回一个值,就是变量;
例如:int a = 10;
     System.out.println(a = 20);
 2).+=,-=,*=,/=,%=
   A).要注意带"强制转换"功能的;
例如:byte b1 = 10;
     b1 += 20;//OK的:b1 = (byte)(b1 + 20);
     b1 = b1 + 20;//不可以。编译错误
     b1 = (byte)b1 + 20;//不可以。此表达式只强转了b1,结果仍然是int类型;
----------------------------------------------------------------------------------------------------
3.关系运算符:==,!=,<,>,<=,>=
 1).==判断是否相等:
   A).是两个==符号,一个=符号是赋值运算符;
   B).对于两个符号的运算符,两个符号中间不能有空格;
   C).这种运算符会产生boolean类型的结果。包含关系运算符的表达式也叫:关系表达式;
----------------------------------------------------------------------------------------------------
4.逻辑运算符:&&(与),||(或),!(非),[再加三个位运算符:&,|,^]
 1).逻辑运算符的操作数,必须是boolean类型,而且结果是一个boolean类型;
 2).&&,||具有"短路"行为,一旦确定整个表达式的结果,将不再执行后续表达式:
例如:int a = 10;
     int b = 20;
     System.out.println(a > 20 && ++b > 10);
     System.out.println("b = " + b);//20
 3).位运算的&,|,^也可以操作boolean值,对于&和|操作boolean值的结果同逻辑的&&和||,只是没有"短路"行为:
例如:
     int a = 10;
     int b = 20;
     System.out.println((a > 20) & (++b > 10));
     System.out.println("b = " + b);//21
 4).^运算符:
    交换两个变量的值:
例如:int a = 10;
     int b = 20;
     a = a ^ b;
     b = a ^ b;
     a = a ^ b;
 5).关于运算结果:
A).&&:两个都为true结果为true,有一个为false结果为false;
B).||:有一个为true结果为true。
C).!:!true即false,!false即true
D).^:两位相同结果为false:
例如:true ^ true :false
     false ^ false : false
    两位不同结果为true:
例如:true ^ false : true
----------------------------------------------------------------------------------------------------
5.位运算符(对整数的二进制进行直接操作):<<,>>(带符号),>>>(无符号),&,|,^,~
  1).<<符号:每左移一位,相当于原数 * 2;
  2).>>带符号右移:每右移一位,相当于原数 / 2。左边最高位补原符号位的值。
  3).>>>无符号右移:左边最高位补0;
  4).&符号:两位都为1,结果为1,其它为0;
  5).|符号:有1位为1,结果为1,其它为0;
  6).^符号:两位相同结果0,不同结果为1;
  7).~符号:取反,1变0,0变1;
----------------------------------------------------------------------------------------------------
6.三目运算符:关系/逻辑表达式 ? 表达式1 : 表达式2
  1).相当于一个判断,两个选择:
  2).求两个数的最大值,求三个数的最大值;
-----------------------------------------------------------------------------------------------------------------
二.流程语句:
1.选择结构:
1).if语句:
A).if(){ //一个判断,一个选择
  };
B).if(){ //一个判断,两个选择
  }else{
  }
C).if(){ //多个判断,多个选择
  }else if(){
  }else if(){
  }else if(){
  }else{
  }
2).switch语句:
switch(表达式){
case 值1:
//语句
break;
case 值1:
//语句
break;
default:
//语句
break;


}
   A).表达式:可以是byte,short,int,char,String,枚举
   B).多个case之间,有没有顺序关系?没有的。
   C).case和default之间,有没有顺序关系?没有的。
   D).default是不是必须的?不是的。
   E).break是不是必须的?不是的。
2.循环结构:
1)while(关系/逻辑表达式){
 }
2)do{

 }while(关系/逻辑表达式);
3)for(初始化语句;判断语句;增量语句){
 }
 A.注意执行顺序;
 B.三个表达式都不是必须的。但是"分号"是必须的
for(;;){
}
4).对于同一个循环的问题,基本上使用三种结构都可以解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值