我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > 流程控制语句for(),do...while, Java数组
总共48087条微博

动态微博

查看: 1637|回复: 0

流程控制语句for(),do...while, Java数组

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-03-04 19:48:35 |只看该作者 |倒序浏览
    1. while
    & J  u5 y- [& ^" U  While 循环控制$ S- w8 I/ j4 A5 \6 o/ Y* I

    6 n3 \; _& [& r9 k# ]  Scanner console = new Scanner(System.in);8 i9 p: G  E: j2 }" c
      while(布尔表达式){5 y! F5 M" B0 U) l9 V
          qty = console.nextInt();
    - u: \% [; M7 f1 C8 w- Z      if(qty>0 && qty<=5){            //五个以内7 G4 W( V8 R. m6 A. c8 J
            break;                        //打断, 打断当前循环, y* y! w8 P# w! s/ a8 D
          }
    : a9 X9 J5 Q- [) A) n  T3 g  }' l8 U% }* U0 n

    0 E& c# m/ P8 A; b) U2. for 循环(主要用于几次的循环)% [* g' n2 W" J' @2 R
      循环控制, v$ o; O% k0 C6 n6 i
      for(初始化表达式;布尔表达式; 递增表达式){
    4 v0 m/ x+ h( X7 A& h          //循环体! h6 j6 o. j4 f/ a5 I# G+ h
      }
    9 {0 e* G! r* ^  for(;;){
    ! S4 _6 i. C9 u! @% M8 ~7 j  h2 U  }
    . ?# U9 U! _- ]" `: F- Q  for(int a=1, b=3;;){" h% |- o' \! m
      }) \- D- {; }3 `0 G, B
    . P( M! b: f, S3 e4 h, U* e

    9 q) X4 a9 }3 |. v2 I7 i1 h' U' j  Example:' W7 ~$ [* E" z  m
      for (int i = 0; i < array.length; i++){
    2 q+ o$ U! Z* o5 r          System.out.println(i);, n4 f3 G) _% Q( l- D
      }$ u5 N) j* y. V* k+ i

    * t% g; R4 j5 I/ e3 g3. do ... while
    ! l0 Z3 f- ^8 M   do ... while() 循环控制( s$ B. V0 y$ z9 u: @8 V
       do{
    7 R  u2 e3 ~) W/ O" }9 J6 L           //循环体2 P0 w* ?! ^& Z
       }while(布尔表达式);
      C; {( [! c* c# Y   Example:
    * Q" ]. y( Q" D- D( z' F. S   do{9 i, z$ i. Q- u: y# R/ d
          System.out.print("输入押注数量:");
      T) A: J; N4 W" D      bet = console.nextInt();6 r6 m9 I; y4 L; q& g9 u
       }while(bet <= 0 || bet > balance);  //否定条件0 A6 N5 E( f! q" A2 {' i  n; M3 b
    ; q" y9 g% I! P! _
    4. java Array
    & t' L1 {, ?8 @# x 1) 数组变量的声明
    , I8 E9 F. L1 r3 [3 J' O% V( l   int[] ary; 声明了数组变量 ary, 数组变量是代词,' V1 J% u  P$ Y8 S6 M: @) P, A  ~
       int ary[]; 为了与C语法兼容的写法, 不建议写法,
    % i1 L' w$ D3 z# [
    ; x" j8 q3 }/ e3 y 2) 数组对象动态初始化, b3 }5 |: x2 i
       ary = new int[4]; //数组变量引用了具体数组对象, 就是代词8 q& U- Q! g0 {( ?
       指代了具体事务.
    % Q& |- p6 V& Y) D4 {/ e$ X2 `5 y   数组元素是自动初始化的, 自动初始化为"零"值.
    " N, @0 o7 F8 j/ b5 J  "零"值: 0, 0.0, \u0000, false, null
      N6 c# q, s/ ]$ _   ary = new int[]{1,2,3}; 直接给出元素的初始化5 k2 d, b1 F* D1 I
    3) 数组对象的静态初始化, 只能用在声明数组变量时候同时初始化' D; Q7 u! ~: J9 p/ ^; R
        * 不能用于赋值语句
    * ?3 N% y0 l# T% B   int[] ary = {1,2,3};
    8 Y! F" Y* E5 i6 v6 _   ary = {3,4,5,6};//编译错误
    : ~+ v) i* d1 m% y) w$ B6 V3 x
    8 D4 F3 d$ c6 [0 P  Java关键字: if, public, class, else, while+ k, l4 r( l4 p6 X1 A
      特殊关键字: goto, const
    9 G& G, J# c% s: ~. H3 G3 T  java中 true, false, null 不是关键字, 是字面量!
    ( o+ `# z2 c% \4 |$ Y: R$ r# U$ Z; B
    4) 数组变量, 数组对象, 数组元素 8 k2 |/ j- J8 I6 \  M
       如: int[] ary = {1,2,3};0 b$ Z) y' f9 P+ N7 v1 j1 T) ^
         ary 是 数组变量 指代一个具体的数组, 同一个变量指代不同的数组2 ]& ]3 W) Y% c8 Z4 ^3 o. @- k
         {1,2,3} 数组对象
    $ Q5 p( V* ?3 u; ~% j& G     1,2,3 是数组元素0 O3 f  B1 L/ F. }0 _
    8 g* s9 q8 m5 K5 n9 }9 t
    5) 数组元素的访问, 数组对象的大小是固定的,长度是n,下标: 0~n-1
    ( U8 b* y% R$ i1 j* u# V  A 使用[下标] 访问数组元素
    1 ?- H/ p; t' u4 ]9 t. Q2 ^  B 越界访问(小于0/大于等于n), 都会发生运行异常
    ' G& S, F5 h1 i3 O  |. B  C 使用.length 属性可以获取数组对象长度
    6 R' g' `- G# N
    8 U1 `* G. R/ T! q7 @+ g+ h2 B5 数组的复制与动态扩展算法: j& P$ s" k0 ]( \
    1) 数组对象的复制
    8 t+ f4 P4 c+ a, C/ j/ [6 V& k$ g: W: |
    2) 数组的扩展问题
    + J; i* g1 S5 t/ j8 D  1 Java数组对象的大小是固定的, 数组对象是不能扩展的
      a9 m! N" T# @* q. x* A! w& x  2 利用数组复制到方法可以变通的实现数组扩展; S/ Z5 I6 \4 Y% p, l& q
      3 System.arraycopy() 可以复制数组
    + W. x( L, {& x  4 Arrays.copyOf() 可以简便的创建数组副本
    " r; N5 O& `1 l% t: h3 }2 I  5 创建数组副本的同时将数组长度增加就变通的实现了, a9 R: u3 Y( Y& t
        数组的扩展
    " {. Z! i  s8 o5 U+ h2 k1 a" D8 N+ T1 Y) f1 P% x! r8 k8 \
      案例1 : 统计一个字符在字符串中的所有位置.3 u$ V% S: \. D' r+ R
            字符串: 统计一个字符在字符串中的所有位置4 {1 ?5 W' l/ E) S8 E) k
            字符: '字'1 K2 C2 e+ E( X0 z$ R
            返回: {4,7}# B, I( ^1 D' R2 m' v1 {$ _0 u9 O

    , C- b. Y% A, H7 E6) 数组的迭代: 将每个数组元素重复的处理一遍.
    5 X) t+ A6 W- H# W% C' d) j! s* [         for(int i=0; i<ary1.length; i++){
    . S4 [) H  |' t/ R1 J- f; \! ]4 j) v# }) ~      System.out.print(ary1[i] + " ");
    , @0 _& u  S1 r    }
    - H$ t$ O6 Q- R3 l* o: W) g
    & }+ B- \8 s5 M) X! X5 b0 w8 S# Y

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表