1. while0 n# X2 k- E9 y1 Q4 h
While 循环控制 ' ?0 H* I8 R* i) }/ ^$ T+ N# F- ` 9 N) t2 k$ l# k& J" t3 r9 { Scanner console = new Scanner(System.in); ; z& M# m" \1 G( g2 C while(布尔表达式){ % U5 H6 C9 n L5 H qty = console.nextInt();9 t) w. w$ m7 J5 f
if(qty>0 && qty<=5){ //五个以内 , x s, @% y* G/ `" T% F break; //打断, 打断当前循环 2 l' O2 c& ^8 z' S* K9 d8 t* F }: ^0 G" O$ u( X9 q/ X6 H
} ) o" w# ]+ z1 `- R6 h, |; `8 { % A8 y8 _% e6 f; M( _2. for 循环(主要用于几次的循环) % @, [1 o* e* n' @ 循环控制: E1 r/ n/ f' L" C8 _9 K+ x {: f
for(初始化表达式;布尔表达式; 递增表达式){ 3 p! ?. v' V. j5 f //循环体 3 A7 Z2 | B+ I4 y } " }. M$ v$ Z* ?5 J9 g# [, X. G for(;;){ : I; z! \' X2 r } 4 Y' X2 W" e" k/ N2 C' K for(int a=1, b=3;;){2 }+ K& P2 x# l1 f
}! G! |5 b# [) r3 U
+ @! K9 q( R- P7 @
6 G& _ y4 e, m- b. C+ t' J9 {" F Example: 1 M$ Z- r6 @7 r( ~8 L for (int i = 0; i < array.length; i++){ 8 ^: B9 D% a! r9 a4 s System.out.println(i);' l( c1 j3 {5 s2 q) U% H A `' T( m
} - D- R9 G9 b* | w1 v* R \' {( S- j& S3 }8 M0 w
3. do ... while * B; c9 V6 _9 q9 } do ... while() 循环控制9 Z. s/ h" e/ j1 }% i
do{ 7 p' n. L9 s- D' @" Y/ r+ S$ g //循环体 5 G) I: a$ W. U. h0 q1 }* _ }while(布尔表达式); 0 } y' e! [( f9 O/ c1 [* {6 a Example: 6 q0 x) u$ F O, F2 V1 p do{- ]- s' u; m; Q. S
System.out.print("输入押注数量:"); % p: M; |" A/ j J# Q6 s8 f bet = console.nextInt(); - D% ~! F0 X4 n, x* Y }while(bet <= 0 || bet > balance); //否定条件& }: Z% L" U" {( O5 n- Y; f+ D$ b7 j
1 f" q% u. b4 E- A4. java Array. U) A9 ]' R7 K( P
1) 数组变量的声明 h ?9 C7 p. H3 `& K; @7 m# B
int[] ary; 声明了数组变量 ary, 数组变量是代词,/ ?! m2 k; |7 }! H: z
int ary[]; 为了与C语法兼容的写法, 不建议写法,+ N- ?9 K4 O% Y* a
, [! b( n. I5 y- c
2) 数组对象动态初始化! S- A; m2 D# U/ i% e( z2 ?- b6 [, P
ary = new int[4]; //数组变量引用了具体数组对象, 就是代词 G6 M6 E! [8 a: b, j( P' u9 I
指代了具体事务. 7 B! _% G1 q% X. t+ c1 Q0 k 数组元素是自动初始化的, 自动初始化为"零"值. ) e" @" {& ^3 G1 S; S "零"值: 0, 0.0, \u0000, false, null g! t. h7 J3 t- m
ary = new int[]{1,2,3}; 直接给出元素的初始化 - D1 Q2 @4 x+ c) d( \2 Y 3) 数组对象的静态初始化, 只能用在声明数组变量时候同时初始化 2 w+ j0 { c w7 a2 C( R! F * 不能用于赋值语句 ! p. q! b1 C) s8 H% P% U' T* P int[] ary = {1,2,3};0 _& S4 h+ @; K6 G
ary = {3,4,5,6};//编译错误 6 d/ b l0 L9 U$ u# @" w % {6 _, o* u, g Java关键字: if, public, class, else, while. Z/ n" `8 P. i' C* K2 z
特殊关键字: goto, const 4 p1 {' S) [/ C$ l java中 true, false, null 不是关键字, 是字面量!& m7 u0 d' U2 H/ K
6 w _) ]" O. C1 w. \1 b& Z 4) 数组变量, 数组对象, 数组元素 " @% N( P, _5 A8 V& Y5 N. A 如: int[] ary = {1,2,3};) L4 f! ~7 W7 K$ v8 h/ ~
ary 是 数组变量 指代一个具体的数组, 同一个变量指代不同的数组5 }1 v1 a" p0 O5 r$ ~6 C+ R
{1,2,3} 数组对象 8 i' k/ C" A. P P" \ 1,2,3 是数组元素 5 ~$ k8 O0 r6 {, p! O H+ J4 K( X4 q! X7 D3 X9 I
5) 数组元素的访问, 数组对象的大小是固定的,长度是n,下标: 0~n-1 % a; [7 H( A# \" z m3 ` A 使用[下标] 访问数组元素7 a" T7 Z+ b* Q1 d
B 越界访问(小于0/大于等于n), 都会发生运行异常 , m! ?0 u% R- |0 j, X C 使用.length 属性可以获取数组对象长度 2 B X# \6 |6 O0 e; b8 \2 O : w4 R- \+ c5 T$ K) ~1 z0 l( T* ^9 ]0 U5 数组的复制与动态扩展算法 $ `" W" Y1 c- A, E7 X+ @ 1) 数组对象的复制 8 j& }+ g% Y" ?1 ^8 I) }( N6 n8 @# M4 y# [* l) q' }* L
2) 数组的扩展问题0 g X2 u- [: h2 w6 J" m
1 Java数组对象的大小是固定的, 数组对象是不能扩展的 % N5 M9 ^0 @: X. ^+ |5 b 2 利用数组复制到方法可以变通的实现数组扩展8 l1 `3 C# w; ^% x2 Y$ I6 @) ^
3 System.arraycopy() 可以复制数组5 _, q j# f) i2 u; R5 a
4 Arrays.copyOf() 可以简便的创建数组副本 / c- B7 h+ o4 s: A; c R/ ]- y4 L2 ~ 5 创建数组副本的同时将数组长度增加就变通的实现了' ]" V, \; `1 a6 ^
数组的扩展8 f: s% Q% {2 R