黑马程序员技术交流社区

标题: 【阳哥笔记】极速秒杀Java基础之笔记系列—Day03(基础语法)! [打印本页]

作者: 阳哥忠粉    时间: 2015-6-1 22:51
标题: 【阳哥笔记】极速秒杀Java基础之笔记系列—Day03(基础语法)!





笔记总链接:http://bbs.itheima.com/thread-200600-1-1.html

一、Java语言基础组成-Part 2

1.6 运算符

   1.6.3 比较运算符



    P.S.
    1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。
    2、比较运算符“==”不能误写成“=” 。

    示例1:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 3 > 2 );
  5.         System.out.println( 3 == 2 );
  6.     }
  7. }
复制代码
    运行结果:


    1.6.4 逻辑运算符



    逻辑运算符用于连接两个boolean类型的表达式。

    "&"符号的运算特点:
    true & true = true;
    true & false = false;
    false & true = false;
    false & false = false;

    "&"符号运算规律:
    运算的两边只要有一个是false,结果肯定是false。
    只有两边都为true,结果才是true。

    示例1:

  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 6;
  5.         System.out.println( x > 2 & x < 5 );
  6.     }
  7. }
复制代码
    运行结果:


    "|"符号的运算特点:
    true | true = true;
    true | false = true;
    false | true = true;
    false | false = false;

    "|"符号运算规律:
    运算的两边只要有一个是true,结果肯定是true。
    只有两边都为false,结果是false。

    示例2:

  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         System.out.println( x > 2 | x < 5 );
  6.     }
  7. }
复制代码
  运行结果:


   "^"符号的运算特点:
    true ^ true = false;
    true ^ false = true;
    false ^ true = true;
    false ^ false = false;


    "^"符号运算规律:
    ^符号的两边结果如果相同,结果是false。
    两边的结果不同,结果是true。


    示例3:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         System.out.println( x > 2 ^ x < 5 );
  6.     }
  7. }
复制代码
    运行结果:



   "!"符号运算规律:
    true = false
    !false = true
    !!true = true

    示例4:

  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         System.out.println( ! ( x > 2 ) );
  6.     }
  7. }
复制代码
    运行结果:



    P.S.
    &&:和&运算的结果是一样的,但是运算过程有点小区别。
    &:无论左边的运算结果是什么,右边都参与运算。
    &&:当左边为false时,右边不参加运算,这样可以提升效率。

    ||:和|运算的结果是一样的,但是运算过程有点小区别。
    |:无论左边的运算结果是什么,右边都参与运算。
    ||:当左边为true时,右边不参加运算,这样可以提升效率。

    使用&&和||比使用&和|更高效一些。

    逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。


    1.6.5 位运算符





    P.S.
   位运算是直接对二进制位进行运算。

   与运算例子:

   6 & 3 = 2
        110
   &  011
   -------
        010

    示例:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 6 & 3 );
  5.     }
  6. }
复制代码
   运行结果:


    P.S.
    用“与运算”可以很方便提取某一二进制数的其中几位数。

    例如:取17476二进制数的后四位。
        0100010001000100

    & 0000000000001111
    ------------------------
        0000000000000100

    或运算例子:
    6  |  3 = 7
   
      110

     |   011
    --------
   
      111

    示例:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 6 | 3 );
  5.     }
  6. }
复制代码
   运行结果:


    异或运算例子:
    6 ^ 3 = 5
  
        110
    ^   011
    -------
     
     101

    示例:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 6 ^ 3 );
  5.     }
  6. }
复制代码
   运行结果:


    P.S.
    一个数异或同一个数两次,结果还是这个数。

    例子:
    6 ^ 3 ^ 3 = 6
    6 ^ 3 = 5
  
        110
    ^   011
    -------
  
        101
    ^   011
    -------
   
      110

    技巧:
    利用异或运算可以实现对数据简单地进行加密,例如对一幅图片的所有数据异或3进行加密,那么这幅图片就无法查看了。解密只需要再对图片的数据执行异或3操作即可。


    取反运算:
    取反操作就是对二进制数值的每一位0变1,1变0。

    示例:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( ~6 );
  5.     }
  6. }
复制代码
   运算结果:



    左移运算例子:
    3 << 2 = 12 相当于 3 * 2(2) = 12
    00000000000000000000000000000011
    00000000000000000000000000001100

    3 << 3 = 24 相当于 3 * 2(3) = 24
    00000000000000000000000000000011
    00000000000000000000000000011000


    示例:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 3 << 2 );
  5.         System.out.println( 3 << 3 );
  6.     }
  7. }
复制代码
   运行结果:


    总结:
    左移几位其实就是该数据乘以2的几次方。
    <<:可以完成2的次幂运算。


    右移运算例子:
    6 >> 1 = 3 相当于 6/2(1)=3
    00000000000000000000000000000110
    00000000000000000000000000000011

    6 >> 2 = 1 相当于 6/2(2) = 1
    00000000000000000000000000000110
    00000000000000000000000000000001

    示例:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 6 >> 1 );
  5.         System.out.println( 6 >> 2 );
  6.     }
  7. }
复制代码
   运行结果:


    总结:
    右移几位其实就是该数据除以2的几次幂。

    附:
    以上例子中括号表示次幂的意思。

    P.S.
    >>:对于高位出现的空位,原来高位是什么,就用什么补这个空位。
    >>>:无符号右移,数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。

    练习:
    1. 最有效率的方式算出2乘以8等于几?

    答案:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         System.out.println( 2 << 3 );
  5.     }
  6. }
复制代码
    运行结果:



    2. 对两个整数变量的值进行互换(可以使用第三方变量)。  

    答案:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int a = 3,b = 5;

  5.         //开发时,使用第三方变量的形式,因为阅读性强。
  6.         int c;

  7.         System.out.println( "a = " + a + ",b = " + b );

  8.         c = a;
  9.         a = b;
  10.         b = c;

  11.         System.out.println( "a = " + a + ",b = " + b );
  12.     }
  13. }
复制代码
    运行结果:


    3. 对两个整数变量的值进行互换(不可以使用第三方变量)。

    答案1:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int a = 3,b = 5;
  5.         int c;

  6.         System.out.println( "a = " + a + ",b = " + b );

  7.         //这种方式不要用,如果两个整数的数值过大,会超出int范围,会强制转换,数据会变化。
  8.         a = a + b;
  9.         b = a - b;
  10.         a = a - b;

  11.         System.out.println( "a = " + a + ",b = " + b );
  12.     }
  13. }
复制代码
   运行结果:


    答案2:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int a = 3,b = 5;
  5.         int c;

  6.         System.out.println( "a = " + a + ",b = " + b );

  7.         a = a ^ b;
  8.         b = a ^ b;
  9.         a = a ^ b;

  10.        System.out.println( "a = " + a + ",b = " + b );
  11.     }
  12. }
复制代码
   运行结果:



    1.6.5 三元运算符

    格式:
    (条件表达式) ? 表达式1 : 表达式2;
    如果条件为true,运算后的结果是表达式1;
    如果条件为false,运算后的结果是表达式2。

    示例1:
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3,y;
  5.         y = ( x > 1 ) ? 100 : 200;
  6.         System.out.println( "y = " + y );
  7.     }
  8. }
复制代码
   运行结果:


    示例2:获取两个整数中的较大的整数。
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int a = 3,b = 5;
  5.         int max = a > b ? a : b;
  6.         System.out.println( max );
  7.     }
  8. }
复制代码
   运行结果:


    示例3:获取三个整数中的较大的整数。
  1. class OperatorDemo
  2. {
  3.     public static void main(String[] args){
  4.         int o = 4,p = 5,q = 10;
  5.         int temp = o > p ? o : p;
  6.         int max = temp > q ? temp : q;
  7.         System.out.println( max );
  8.     }
  9. }
复制代码
    运行结果:


    P.S.
    表达式:就是具有一定语法规则的语句。

1.7 程序流程控制

    1.7.1 判断结构

    if语句

    格式一:
    if ( 条件表达式 )
    {
          执行语句;
    }


    示例:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         if( x > 1 ){
  6.             System.out.println("yes");
  7.         }
  8.         System.out.println("over");
  9.     }
  10. }
复制代码
   运行结果:


    P.S.
    1、如果if语句中只有一条语句,那么可以不写大括号。不过初学者一定要写括号,以免出错。
    2、如果if语句没写大括号,if就只能控制离它最近的单条语句。

    示例:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         if( x > 1 )
  6.             System.out.println("yes");
  7.             System.out.println("over");
  8.     }
  9. }
复制代码
   运行结果:


    格式二:
    if ( 条件表达式 )
    {
         执行语句;
    }
    else
    {
         执行语句;
    }


    示例1:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         if( x > 1 ){
  6.             System.out.println("yes");
  7.         }else{
  8.              System.out.println("over");
  9.         }
  10.         System.out.println("over");
  11.     }
  12. }
复制代码
   运行结果:


    示例2:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.         int a = 3,b;
  5.         if( a > 1 )
  6.             b = 100;
  7.         else
  8.             b = 200;
  9.         System.out.println("b = " + b);
  10.     }
  11. }
复制代码
   运行结果:


    P.S.
    三元运算符就是if else语句的简写格式。
    例如:b = a > 1 ? 100 : 200;就可以实现和上面同样的功能。

    简写格式什么时候用?
    当if else运算后,有一个具体的结果时,可以简化写成三元运算符。


    格式三:
    if(条件表达式)
    {
         执行语句;
    }
    else if (条件表达式)
    {
         执行语句;
    }
    ……
    else
    {
        执行语句;
    }


    示例:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         if( x > 4 )
  6.             System.out.println("a");
  7.         else if( x > 3 )
  8.             System.out.println("b");
  9.         else if ( x > 2 )
  10.             System.out.println("c");
  11.         else if(  x > 1 )
  12.             System.out.println("d");
  13.    
  14.         System.out.println("over");
  15.     }
  16. }
复制代码
   运行结果:



    P.S.
    if( 表达式 )后面切忌加上分号,否则表示无论表达式为true或者false,都不执行任何语句。
   
    示例:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.         if( false );
  5.         {
  6.             System.out.println("Hello World!");
  7.         }
  8.     }
  9. }
复制代码
   运行结果:


    说明:由于if( false );语句后面加了分号,因此不执行任何操作。{ System.out.println("Hello World"); }为局部代码块。

    局部代码块:局部代码块可以定义局部变量的生命周期。

    示例:
  1. class IfDemo
  2. {
  3.     public static void main(String[] args){
  4.     {
  5.         int m = 89;
  6.         System.out.println("Hello World..." + m);
  7.     }
  8.     System.out.println("over..." + m);
  9.     }
  10. }
复制代码
    运行结果:



    说明:变量m是局部变量,生命周期仅在局部代码块括号中,当代码执行到局部代码块右括号外,变量m便消失了。局部代码块外的代码当然也就访问不到变量m了。

    if语句特点:
    1、每一种格式都是单条语句。
    2、第二种格式与三元运算符的区别:三元运算符运算完一定要有值出现。好处是:可以写在其他表达式中。
    3、条件表达式无论写成什么样子,只看最终的结构是否是true或者false。

    练习1:根据用户定义的数值不同,打印对应的星期。
  1. class IfDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 /*
  6.                 需求:根据用户指定的具体数据,判断该数据对应的星期。

  7.                 思路:
  8.                 虽然用户输入无法获取,但是那只是具体数据的一种获取手段而已。
  9.                 而我们要做的功能仅仅是对用户指定的数据进行对应星期的打印而已。
  10.                 所以具体的数据不确定,可以使用变量来表示。
  11.                 我们只对变量进行操作即可。至于变量的值,可以由用户决定。
  12.                 因为数据的不确定性,所以要对数据进行判断。
  13.                 使用if语句。
  14.                 */

  15.                 int week = 4;

  16.                 if(week==1)
  17.                         System.out.println(week+"对应中文是星期一");
  18.                 else if(week==2)
  19.                         System.out.println(week+"对应中文是星期二");
  20.                 else if(week==3)
  21.                         System.out.println(week+"对应中文是星期三");
  22.                 else if(week==4)
  23.                         System.out.println(week+"对应中文是星期四");
  24.                 else if(week==5)
  25.                         System.out.println(week+"对应中文是星期五");
  26.                 else if(week==6)
  27.                         System.out.println(week+"对应中文是星期六");
  28.                 else if(week==7)
  29.                         System.out.println(week+"对应中文是星期日");
  30.                 else
  31.                         System.out.println(week+"没有对应的星期");
  32.         }
  33. }
复制代码
    运行结果:


    练习2:根据用于指定月份,打印该月份所属的季节。
  1. class IfDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 /*
  6.                 一年有四季。
  7.                 春季:3 4 5
  8.                 夏季:6 7 8
  9.                 秋季:9 10 11
  10.                 冬季:12 1 2
  11.                 根据用户输入的月份,给出对应的季节。
  12.                 */
  13.                
  14.                 int month = 9;
  15.                
  16.                 if(month<1 || month>12)
  17.                         System.out.println(month+"月没有对应的季节");
  18.                 else if(month>=3 && month<=5)
  19.                         System.out.println(month+"月是春季");
  20.                 else if(month>=6 && month<=8)
  21.                         System.out.println(month+"月是夏季");
  22.                 else if(month>=9 && month<=11)
  23.                         System.out.println(month+"月是秋季");
  24.                 else
  25.                         System.out.println(month+"月是冬季");        
  26.         }
  27. }
复制代码
    运行结果:


    1.7.2 选择结构

    switch语句

    格式:
    switch(表达式)
    {
  
        case 取值1:

               执行语句;
               break;
          case 取值2:
               执行语句;
               break;
          …...
          default:
               执行语句;
               break;
    }

    switch语句特点:
    1、switch语句选择的类型只有四种:byte,short,int,char。
    2、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
    3、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
    4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

    5、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。

    示例1:
  1. class SwitchDemo
  2. {
  3.        public static void main(String[] args){
  4.              int x= 3;
  5.              switch(x)
  6.             {
  7.                    default:
  8.                         System.out.println("d" );
  9.                         break;
  10.                    case 4:
  11.                         System.out.println("a" );
  12.                         break;
  13.                    case 2:
  14.                         System.out.println("b" );
  15.                         break;
  16.                    case 3:
  17.                         System.out.println("c" );
  18.                         break;
  19.             }
  20.       }
  21. }
复制代码
   运行结果:



    示例2:
  1. class SwitchDemo
  2. {
  3.        public static void main(String[] args){
  4.              int a = 4,b = 2;
  5.              char opr = '-' ;

  6.              switch(opr)
  7.              {
  8.                    case '+' :
  9.                         System.out.println(a+b);
  10.                         break;
  11.                    case '-' :
  12.                         System.out.println(a-b);
  13.                         break;
  14.                    case '*' :
  15.                         System.out.println(a*b);
  16.                         break;
  17.                    case '/' :
  18.                         System.out.println(a/b);
  19.                         break;
  20.                    default:
  21.                         System.out.println("无法运算,符号不支持" );
  22.                         break;
  23.             }
  24.       }
  25. }
复制代码
   运行结果:


    示例3:部分case和default中没有break语句的情况。
  1. class SwitchDemo
  2. {
  3.        public static void main(String[] args){
  4.              int x= 3;
  5.              switch (x)
  6.             {
  7.                    case 4:
  8.                          System.out.println("a" );
  9.                          break ;
  10.                    case 2:
  11.                         System.out.println("b" );
  12.                    case 3:
  13.                         System.out.println("c" );
  14.                    default :
  15.                         System.out.println("d" );
  16.             }
  17.       }
  18. }
复制代码
    运行结果:

   

    示例4:
  1. class SwitchDemo
  2. {
  3.        public static void main(String[] args){
  4.             /*
  5.             用户输入的数据对应的星期。
  6.             */
  7.             int week = 4;
  8.             switch(week)
  9.             {
  10.                   case 1:
  11.                         System.out.println(week + "对应的是星期一" );
  12.                         break;
  13.                   case 2:
  14.                         System.out.println(week + "对应的是星期二" );
  15.                         break;
  16.                   case 3:
  17.                         System.out.println(week + "对应的是星期三" );
  18.                         break;
  19.                   case 4:
  20.                         System.out.println(week + "对应的是星期四" );
  21.                         break;
  22.                   case 5:
  23.                         System.out.println(week + "对应的是星期五" );
  24.                         break;
  25.                   case 6:
  26.                         System.out.println(week + "对应的是星期六" );
  27.                         break;
  28.                   case 7:
  29.                         System.out.println(week + "对应的是星期日" );
  30.                         break;
  31.                   default:
  32.                         System.out.println(week + "没有对应的星期" );
  33.                         break;
  34.             }
  35.       }
  36. }
复制代码
   运行结果:


    示例5:多个case同一种处理方式的情况。
  1. class SwitchDemo
  2. {
  3.        public static void main(String[] args){
  4.             int month = 3;

  5.             switch(month){
  6.                  case 3:
  7.                  case 4:
  8.                  case 5:
  9.                       System.out.println(month + "月对应的是春季" );
  10.                       break;
  11.                  case 6:
  12.                  case 7:
  13.                  case 8:
  14.                       System.out.println(month + "月对应的是夏季" );
  15.                       break;
  16.                  case 9:
  17.                  case 10:
  18.                  case 11:
  19.                       System.out.println(month + "月对应的是秋季" );
  20.                       break;
  21.                  case 12:
  22.                  case 1:
  23.                  case 2:
  24.                       System.out.println(month + "月对应的是冬季" );
  25.                       break;
  26.                  default:
  27.                       System.out.println(month + "没有对应的季节" );
  28.                       break;
  29.            }
  30.       }
  31. }
复制代码
   运行结果:


    if和switch语句的应用:

    if:
    1. 对具体的值进行判断。
    2. 对区间判断。
    3. 对运算结果是boolean类型的表达式进行判断。

    switch:
    1. 对具体的值进行判断。
    2. 值的个数通常是固定的。

    对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高。


    1.7.3 循环结构

    关键词:while,do while,for。

    while语句格式:

    while( 条件表达式 )
    {
          执行语句;
    }


    示例:
  1. class  WhileDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int x = 1;
  6.                 while(x<3)
  7.                 {
  8.                         System.out.println("x="+x);
  9.                         x++;
  10.                 }
  11.         }
  12. }
复制代码
   运行结果:


    P.S.
   一定要注意不要写while(x < 3);这样的语句,后面的分号就是循环体,代表不执行任何语句,这个循环就成了一个死循环。

    do while语句格式:

    do
    {
         执行语句;
    }while( 条件表达式 );

    示例:
  1. class DoWhileDemo
  2. {
  3.        public static void main(String[] args){
  4.          int x = 1;
  5.          do{
  6.             System.out.println("x = " + x);
  7.             x++;
  8.          }
  9.          while(x < 3);
  10.       }
  11. }
复制代码
   运行结果:


    while和do while的区别:
    do while语句的特点:无论条件是否满足,循环体至少执行一次。
    while如果条件不满足,循环体一次都不会执行。

    练习1:获取1到10,10个数字的和。
  1. class WhileDemo
  2. {
  3.     public static void main(String[] args){
  4.       int x = 1;//记录参与加法的数据。
  5.       int sum = 0;//记录住每一次的和

  6.       while(x <= 10){
  7.          sum += x;
  8.          x++;
  9.       }
  10.       System.out.println("sum = " + sum);
  11.    }
  12. }
复制代码
   运行结果:



   练习2:1~100之间,6的倍数出现的次数。
  1. class WhileDemo
  2. {
  3.        public static void main(String[] args){
  4.          int x = 1;
  5.          int count = 0;

  6.          while(x <= 100)
  7.          {
  8.              if(x % 6 == 0){
  9.                   count++;
  10.              }
  11.              x++;
  12.          }
  13.          System.out.println("count = " + count);
  14.       }
  15. }
复制代码
   运行结果:


    for语句格式:

    for(初始化表达式;循环条件表达式;循环后的操作表达式)
    {
         执行语句;(循环体)
    }

    for里面的三个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

    示例:
  1. class ForDemo
  2. {
  3.        public static void main(String[] args){
  4.          for(int x = 0; x < 3; x++){
  5.               System.out.println("x = " + x);
  6.          }
  7.   }
复制代码
   运行结果:


    P.S.
    for循环的初始化表达式、循环后的操作表达式可以是多个表达式,通过逗号分隔。

    例如:
    for(int a = 1,b =2; a < 2 & b < 3; a++,b++){

    }


    练习1:
  1. class ForDemo
  2. {
  3.      public static void main(String[]args)
  4.      {
  5.           int x=1;
  6.           for(System.out.println("a");x<3;System.out.println("c"))
  7.           {
  8.                System.out.println("d");
  9.                x++;
  10.           }
  11.      }
  12. }
复制代码
    运行结果:

    1、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。
   
    下面通过两个例子对比:

    示例1:
  1. class whileDemo
  2. {
  3.     public static void main(String[] args){
  4.         //打印1~10十个数字
  5.         int x = 1;
  6.         while(x <= 10)
  7.         {
  8.            System.out.println("x = " + x++);
  9.         }
  10.     }
  11. }
复制代码
    运行结果:


    示例2:
  1. class ForDemo
  2. {
  3.     public static void main(String[] args){
  4.         for(int y = 1; y < 10; y++){
  5.             System.out.println("y = " + y);
  6.         }
  7.         System.out.println("y = " + y);
  8.     }
  9. }
复制代码
   运行结果:


    2、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
    3、在使用循环时候,一定要明确哪些语句需要参与循环,哪些不需要。循环通常情况下,需要定义条件,需要控制次数。

~END~



~爱上海,爱黑马~



作者: bin2015    时间: 2015-6-1 23:43
谢谢阳哥分享
作者: thoris    时间: 2015-6-1 23:51
继续跟着复习~
作者: 时光匆匆    时间: 2015-6-2 07:25
太赞了,一天更一章的节奏啊
作者: 阜南lxd    时间: 2015-6-2 07:25
挺详细的!
作者: 夏尔    时间: 2015-6-2 07:35
每天都能看到 真好
作者: zhanglaoda1989    时间: 2015-6-2 08:25
继续!!!
作者: vvipqiqi    时间: 2015-6-2 09:11
超详细。
作者: 嘉Ming    时间: 2015-6-2 09:16
对复习很有帮助,顶起
作者: tougboy    时间: 2015-6-2 09:46
路过 学习 谢谢
作者: InterDoly    时间: 2015-6-2 10:05
每天都可以查漏补缺
作者: qian0217wei    时间: 2015-6-2 17:22
问下,这是毕老师的视频笔记还是刘毅的!
作者: langxiao505    时间: 2015-6-2 17:45
阳哥加油!伪前排!
作者: 小囧    时间: 2015-6-2 18:35
巩固了基础哈

作者: sky930722    时间: 2015-6-2 22:19
笔记很详细,谢谢阳哥
作者: 唐海    时间: 2015-6-2 22:23
收藏了,以后回来看
作者: 城北一直晴。    时间: 2015-6-3 19:09
很不错啊,受益颇多。
作者: 15383016390    时间: 2015-6-3 19:17
期待更新,,,,,,
作者: danlyalex    时间: 2015-6-4 08:17
怎么下载啊?我都是复制粘贴然后自己改板式..好麻烦
作者: tougboy    时间: 2015-6-4 09:17
阳哥 真男人
作者: Sky丶    时间: 2015-6-4 19:54
本帖最后由 Sky丶 于 2015-6-4 19:56 编辑
  1. <div class="blockcode"><blockquote>class IfDemo//这个应该是阳哥你想表达的代码  原程序只要大于1 输出都是a   这个程序就没必要用if语句了
  2. {
  3.     public static void main(String[] args){
  4.         int x = 3;
  5.         if( x > 4 )
  6.             System.out.println("a");
  7.         else if( x > 3 )
  8.             System.out.println("b");
  9.         else if ( x > 2 )
  10.             System.out.println("c");
  11.         else if(  x > 1)
  12.             System.out.println("d");
  13.    
  14.         System.out.println("over");
  15.     }
  16. }
复制代码

阳哥辛苦了,我来帮你找错误  (PS:其实我是复习 前面学的都忘了)

QQ截图20150604193403.png (58.49 KB, 下载次数: 29)

QQ截图20150604193403.png

作者: 乌卡卡    时间: 2015-6-5 13:06
受益,基础知识虽然很早学过,但是这样归纳的笔记让我快速记忆
作者: wx_iAuO26mH    时间: 2015-6-6 11:28
本帖最后由 wx_iAuO26mH 于 2015-6-6 11:30 编辑

学习中  这个地方少一个 ! 符号C:\Users\Administrator\Desktop

QQ截图20150606112240.gif (3.55 KB, 下载次数: 27)

QQ截图20150606112240.gif

作者: wx_iAuO26mH    时间: 2015-6-6 12:39
看过 自己以前不注意的小细节 都知道了 懂了
作者: 海角秋风    时间: 2015-6-6 12:45
很详细,需要保留下来。。。
作者: 李俊超    时间: 2015-6-7 00:59
for循环的案例很不错,很是受用:分享下
循环结构for语句的格式:
                for(初始化表达式语句;判断条件语句;控制条件语句) {
                        循环体语句;
                }
执行流程:
                a:执行初始化语句
                b:执行判断条件语句,看其返回值是true还是false
                        如果是true,就继续执行
                        如果是false,就结束循环
                c:执行循环体语句;
                d:执行控制条件语句
                e:回到B继续。

注意事项:
     初始化表达式语句只执行一次
                a:判断条件语句无论简单还是复杂结果是boolean类型
                b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
                c:一般来说:有左大括号就没有分号,有分号就没有左大括号


作者: 微尘爱笑    时间: 2015-6-7 10:51
bin2015 发表于 2015-6-1 23:43
谢谢阳哥分享

好好学习,天天向上。
作者: 小囧    时间: 2015-6-7 15:47
我又看了一遍,倒数第二个程序好像应该这样class whileDemo
作者: 小囧    时间: 2015-6-7 15:48
刚刚发失败了,我再发一次
*/
class whileDemo

{

    public static void main(String[] args){

        //打印1~10十个数字

        int x = 1;

        while(x < 11)

        {

           System.out.println("x = " + x);
                   x++;

        }

    }

}
作者: 老徐    时间: 2015-6-7 20:59
看完了 好顶赞,明天就要学循环了
作者: Jackie7    时间: 2015-6-7 22:09
明天的内容,再复习+预习一次。
作者: cyd1058    时间: 2015-6-9 00:27
阳哥,比较运算符列表中4>=3,结果显示为false,是不是笔误?
作者: Jackie7    时间: 2015-6-9 22:29
今儿就学的这个。再复习一遍。
作者: 新缘    时间: 2015-6-10 06:21
赞一个。
作者: 小悟空et    时间: 2015-6-10 11:02
SwitchDemo 月份的那个,没有加break;吧
作者: 大爱卓生    时间: 2015-6-10 14:10
简直就是如虎添翼!!!
作者: New_PS    时间: 2015-6-10 23:08
受教  好东西
作者: thoris    时间: 2015-6-11 20:20
switch判断的升级要不要加进去  枚举 字符串都可以判断
作者: Jackie7    时间: 2015-6-12 22:51
今儿考试 了。。。考的好差、再看看。。
作者: 以梦为马123    时间: 2015-6-16 11:24
学习了额  
作者: wxRocky    时间: 2015-6-18 09:09
阳哥太谢谢啦。
作者: wxRocky    时间: 2015-6-19 08:53
阳哥笔记更新的真快。
作者: 魏海洲    时间: 2015-6-22 21:26
谢谢阳哥分享
作者: 纪青超    时间: 2015-6-22 21:34
今天刚学了视频课程,赋值运算符的优先级比比较运算符差。
作者: 十五号的人生    时间: 2015-6-22 21:41
值得收藏   
作者: heisanheisan123    时间: 2015-6-22 21:42
正好用到,谢过。。
作者: wxRocky    时间: 2015-6-24 09:08
阳哥要罩着我啊。
作者: yanda007    时间: 2015-6-25 08:25
谢谢阳哥!正在收益中!
作者: 不要想静静    时间: 2015-7-3 00:04
一天结束啦,很有收获! 发现看笔记比看视频学的更快呢 呵呵。
作者: 不要想静静    时间: 2015-7-3 08:45
不要想静静 发表于 2015-7-3 00:04
一天结束啦,很有收获! 发现看笔记比看视频学的更快呢 呵呵。

好的
作者: linqiwang    时间: 2015-7-7 13:12
收益颇多
作者: 安卓新手    时间: 2015-7-20 16:55
出错了吧  1.7.1 最后例题 怎么9月是春季 结果错了
作者: Sad_king    时间: 2015-7-20 22:56
不错     学习了
作者: 对时间过敏113    时间: 2015-7-22 20:10
:handshake
作者: deng2242    时间: 2015-8-13 20:05
别人笑我太疯癫,我笑他人看不穿,不管别人怎样,我都要坚持每天的学习,黑马,我来了
作者: 一个人的朝圣    时间: 2015-9-19 16:39
又看了一遍
作者: 迷茫不堪的年纪    时间: 2015-9-22 23:46
夜班终于又回忆了一次,嘿嘿,   switch 和 if   稍微生疏,其他都还OK。、
作者: 1384588560    时间: 2015-9-23 02:17
福利福利
作者: 怀旧小柯    时间: 2015-9-23 07:45
这一部分内容刚学过
作者: tuyrt7    时间: 2015-10-13 22:48
果然牛掰了

作者: 1975532882    时间: 2015-10-23 20:21
牛,,,,,,,,,,,,,,,,,
作者: 周伟168    时间: 2015-10-23 23:36
值得信赖
作者: 石三伢子1    时间: 2015-11-1 12:38
很全面细致,尤其是ps部分都是面试易错的题;非常棒;
作者: 刘印    时间: 2015-11-1 12:44
不错可以出书了
作者: 刘印    时间: 2015-11-1 12:45
不错,可以出书了
作者: MRguo    时间: 2015-11-26 17:07
笔记很好,谢谢阳哥分享啊{:2_32:}
作者: 回归原点521    时间: 2015-12-14 19:08
很好理解,一看全明白
作者: lixy    时间: 2015-12-20 13:49
总结得不错,赞一个!
作者: byb442230    时间: 2016-2-23 13:38
复习就靠它了
作者: 13120298870    时间: 2016-5-2 01:25
知识点很通透!赞一个
作者: 安分的心灵    时间: 2016-5-2 08:58
谢谢分享
作者: 90后的契约    时间: 2016-5-2 09:11
复习当中。
作者: liuqjss    时间: 2016-5-2 11:31
温习了一遍加深印象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2