该用户从未签到
|
1. java 的方法Method (函数 Function), 功能, 动作: R; d' u3 D0 [" x0 B0 W
1) 方法就是函数: y=f(x)=3x+6;
, j" k7 t7 U- r1 O 2) 方法的语法( ]7 y5 @& T: {, q- ?9 ^
(修饰词)(返回值类型)(方法名)(参数列表){ h6 a1 u" t5 \2 t( F+ _
//方法体% q6 b9 u5 P+ Y
}6 S" y/ P& L' M
public static void main(String[] args){}0 _2 I$ ?8 ]. q* r
如:& Q/ [" B% U y4 A- _
public static int f(int x){0 S4 v. F) Z7 j) ]
int y = 3 * x + 4;/ |/ s2 M p' ]$ ]5 v
return y;5 h! {/ j3 R4 j
}' d' {1 E- k6 h+ `4 {2 v8 B
4) 如果有返回值定义就必须有return语句, 返回和返回值类型5 z% B' O0 ?( U8 o X
兼容的数据* v4 Z) U" j; i0 T6 J( M0 t
5) 方法的参数和方法内部的变量 都是局部变量,
; `8 T, w/ o n& H 这些变量作用域只在方法内部!
- |$ M3 t- r) A8 z; k3 X 6) 实参: 方法调用时候实际传递的参数变量: t6 R1 v; c* B7 O; }# t
形参: 方法的参数定义,是临时变量.- }5 s# G% d' x+ w+ e
3 K( h, C8 j5 q2 d6 y* l2. Java 运算符
6 R7 @7 f) B* E2 Z" _ 1) 数学运算符 + - * / %, v+ [6 X5 L ^+ t j
A 运算的封闭性(补码运算的封闭性):
! Y2 |6 M' w1 ~5 L$ [. D1 B1 n0 W 1.同种类型参与运算(可能需要自动类型转换); z: C9 M" \# f* u3 U0 e
2.返回同种类型(可能发生:上溢出和下溢出) n0 @( t" M, O' V
3.byte, short, char 按照int运算
% g+ Z# i0 O8 _) B5 N 如: int a = 1 + 'A';
% N, b" {8 w; B' ]1 O: b B. 整数的除法是整除
}+ x X3 L; U5 g% f" C8 u 1.除以2相当于移位运算(移动小数点)
{6 v, v5 {" p0 G& {: R. L C.Java中字面量的运算被Javac优化了, 优化为一个固定的常量.5 A+ w J1 I' { ^/ y
D. % 计算除法的余数
% i- H `" {; d# E- \% l* s2 w 1. 0 对其他数的 余数 是0
( D* m1 v2 n( l9 L 2. n%3 是 周期函数, 函数值 [0,3)
. q$ m' Z; s9 `0 } 3. 负数的余数是负数(考试可能出现, 工作中很少用)
( F# V7 [9 G" | j6 m% P
% J1 R+ J: D4 j. I4 ]: U! u 2) 自增(自减)运算 ++ --
4 E+ i T& H5 |3 w 1. 可以将当前变量自我增加(减少)11 A, ?4 J' f5 X* I3 Y) S
2 i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.
$ R0 @4 T9 C6 E6 X( H- U 3 ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.
7 B/ e9 s0 c! d" l# p% G int a = i++;0 ?# R! y3 h; `# {
(i++)%3! W. t6 S9 ]& G$ c7 J
2 C" k, j, X4 E! g 3) 逻辑与比较运算 4 n, Q( G9 n% C4 z7 R
1.逻辑运算 与(并且)&& 或(或者)|| 非(否则)! 2 D" Z, N$ E$ s
非短路的逻辑运算 & | , 比较少使用, 逻辑不合理
/ d+ N+ O/ V) K2 s! j3 {% W! G 2. 比较运算, 比较变量的值, 就是逐个"位"比较值: > >= < <= == !=
6 n9 Y+ x w& A- y3 z3 ?9 x" b 基本类型变量的值就是基本值如: i=1
$ i |& [ ~% M: M 引用类型变量的值是对象地址值.(在面向对象阶段详细讲解)
4 F; ~" a6 m4 k# o$ D
+ W" W+ l2 T# _8 D, e" |# p int i = 1;9 s' I3 B$ y5 U6 J2 Y
long l = 1;7 W8 d+ D- R) ?, N$ B
System.out.println(i==l); //true6 ?8 P5 k9 m7 }7 l. Q
4) 条件运算符(3元运算符)
, _" a6 c% j9 k/ m% m: w 语法: 条件表达式 ? 表达式1 : 表达式2
% n1 t+ G, n- O& c, B2 f 当"条件表达式"为true时候, 表达式1作为整个表达式的值, # g( G3 b3 w# c3 F" B: v6 B
否则 表达式2作为整个表达式的值% j6 Z- f5 h& f. T$ f' Z# D
如:
" ^9 U4 D. q$ s7 } boolean isBoy = true;
) {7 `* C0 K" V1 {8 } int level = isBoy ? 2 : 3 ;// 2
0 c3 ]) h3 d5 C5 s: D1 `- Z5 v3 v
Q' N; J7 P$ X, `# }) F9 m1 G3. 分支流程控制
: m" N! g1 G- W- K1 Y 1) if ... else. C4 T( c2 D; q; H! p) U# ~& |
语法: if(布尔表达式){7 y1 _1 L/ o9 g# I' e+ Y
//语句块..
: J$ L3 l1 }7 Q% X. M5 Z. b }else{
5 b) Y6 u( L( H' d1 q5 e //语句块/ H! A7 g, |1 a* a7 X
}
^5 C; R3 M1 C# ?) W/ X: i# } 嵌套: if(布尔表达式){0 u6 [! f$ U* M1 f3 i7 J
//...( G0 r3 V p" @( P/ S: M9 s
}else if(布尔表达式){0 v" \) }0 Q+ _/ h: d5 Y& a2 Y
//...8 ~" `6 l: i3 b ~, J, U
}else if(布尔表达式){
0 c1 B+ K' Z ]' e. u" c //...
. }0 b/ B4 h; z1 n: r# `9 Y }else{
9 d5 i d( }1 x2 D% X //...
7 I, }# u' Y$ O, ]3 H- w6 k0 ? }1 P5 e. Y6 a' o" \
$ D/ ~2 Z; Y, D 2) switch ... case. ], N; E9 e- k
语法: switch: 开关, case: 情况下# ~* F. F- Y( w7 u3 S
switch(整数表达式){
8 B3 X' |. Y, A0 p% C' v4 M case 整数常量1:
1 u+ V+ c7 |" b7 _& k5 v //语句序列, Z+ o# `; {+ |- r) }# }
break;' _( M; u- m8 n, Q; R! P7 j
case 整数常量2:
2 E1 P2 H4 G( J! o6 W //语句序列# {4 @" I1 U0 {/ T4 c6 I1 z5 r
break;" s- _6 `# S5 e. x9 J9 @
default:
8 Z/ {' t8 \: ?2 `! D //语句序列
+ y( i% \. P. S6 C5 R# g7 |: [# D }' J" ~! v* y6 W- _ t# G6 i
A. switch条件: 只能是整数(int byte char short)表达式
* U9 j! M+ {* G/ c; X switch 不能处理long 或其他类型
9 m' V7 t' Q. f( P/ i$ Q B. case 只能是整数(int byte char short)常量, 不能使用8 p4 U/ V2 o/ ]4 x9 N# L; h
变量及表达式. 如: '中', {# W; S# ]3 r% W1 T H; C
C. break 跳转到switch结束继续执行, 可以根据业务逻辑是否使用. W. u* ]- F2 B
经常都写break
$ S5 E/ ]0 \! `. W/ N! C5 j5 a+ \3 N1 [
4. 循环控制, ^1 d* |6 W4 d2 }9 ~
1) While 循环控制
4 ~; N- D" P1 T+ j 语法:
* t2 ]3 V! i; u( d. \. ]4 ] while(布尔表达式){
4 S2 u+ k" y" `2 ~2 b6 ?% U //循环体 语句序列; {$ u% b2 E. Q
}; J0 B1 z; ` }3 h; i
/ p, a, g' x( L) [
+ m! H. [9 ?( O) f1 m% }. w( A1 t |
|