|
该用户从未签到
|
1. java 的方法Method (函数 Function), 功能, 动作
% |# J k+ M c$ c i% I; z8 m" b 1) 方法就是函数: y=f(x)=3x+6;
2 v$ u! P. @( F' C2 N* @ 2) 方法的语法; l# w" {. y/ C% g* \/ h
(修饰词)(返回值类型)(方法名)(参数列表){
8 ?( p" S1 g6 w# K' K1 c& ]5 ^ //方法体: m; e# Q) t1 N+ q
}: s; ]; n- N4 t6 ]) {9 _0 f
public static void main(String[] args){}) m8 i$ Y* R* o. i' v* d
如:
0 m K" m7 }, f# C0 | public static int f(int x){( {+ `1 }- ?; S& a7 l
int y = 3 * x + 4;* l0 g Z2 k, l
return y;8 h& a9 F5 q, D" q( k0 b+ S
}$ ~6 P3 @7 x" G- i, V
4) 如果有返回值定义就必须有return语句, 返回和返回值类型
0 X5 f( t$ i$ f9 s e6 H) l, y8 y 兼容的数据# k( X5 h$ j8 `2 m3 s, M1 U+ \4 m9 f
5) 方法的参数和方法内部的变量 都是局部变量,
4 c7 B3 f1 A& ]7 i9 J 这些变量作用域只在方法内部!
( s, o0 |0 g/ T" E9 O 6) 实参: 方法调用时候实际传递的参数变量
6 d+ z* @$ m6 W9 V) n6 d 形参: 方法的参数定义,是临时变量.
6 P8 X s& }5 Z" s( K1 f7 V
; b% Y8 k W5 C* A3 {2. Java 运算符9 X; j9 I' d' `' Y& m
1) 数学运算符 + - * / %$ ?. ^6 b4 k3 g6 r8 t6 ^
A 运算的封闭性(补码运算的封闭性): ( S, t7 l/ \: g; Y# }2 }
1.同种类型参与运算(可能需要自动类型转换)
' d' i8 g% ?9 D 2.返回同种类型(可能发生:上溢出和下溢出)
' Q; [. t$ j0 L2 h# ?) a 3.byte, short, char 按照int运算
. x* B; m. Z7 w8 v3 Q9 N. f 如: int a = 1 + 'A';
/ V" S6 p" I1 f7 w' ]9 R4 E B. 整数的除法是整除5 U4 t. p `6 z3 V2 _( U. h! ?
1.除以2相当于移位运算(移动小数点)
0 z" u5 j+ O0 U2 c3 x3 m4 s C.Java中字面量的运算被Javac优化了, 优化为一个固定的常量.
& h6 e$ h5 D+ T# L$ ^ D. % 计算除法的余数
# n3 C0 W1 Y2 P0 h! v3 X: H: r6 m 1. 0 对其他数的 余数 是0
7 S4 F% ~! U4 K. R! C( f 2. n%3 是 周期函数, 函数值 [0,3)
+ @4 S) i; [9 |9 f+ e+ P+ h8 i 3. 负数的余数是负数(考试可能出现, 工作中很少用)
: A& c! W/ ]4 s2 n' J6 g2 e: \, k h: v. i! X- ?1 [7 D$ |
2) 自增(自减)运算 ++ --
5 l3 B2 k! i* D2 y+ h' \! r& n" j 1. 可以将当前变量自我增加(减少)1& A3 e4 Z! }% `0 x
2 i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.
8 i* p# H# ?1 V7 S& ]* k3 t z 3 ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.
! W8 Y7 G& H2 v7 O* u: C9 W int a = i++;
+ J; ^: y4 u8 a* v (i++)%33 \ ^5 f8 e r
. k. k6 W) ]7 z% ?9 q$ ~9 } 3) 逻辑与比较运算
1 P- T0 ~1 H. @& S- m 1.逻辑运算 与(并且)&& 或(或者)|| 非(否则)!
" i y+ ]9 ?8 G5 j$ {; I! D 非短路的逻辑运算 & | , 比较少使用, 逻辑不合理
* W3 f8 O( C- g; n: @& m 2. 比较运算, 比较变量的值, 就是逐个"位"比较值: > >= < <= == !=$ R' l) n) `% ]$ @ r) O- [4 v2 g
基本类型变量的值就是基本值如: i=1
* h6 q- Z( U# K' ^ m4 Q 引用类型变量的值是对象地址值.(在面向对象阶段详细讲解)
7 u6 m* `. F }. w( m0 w2 N: }1 `5 \, \* R
int i = 1;
' k! o8 o9 \* W& o7 ?6 m0 \$ z! { long l = 1;# z0 C z6 a$ Q
System.out.println(i==l); //true, _9 h1 m" K7 j3 ]# M# }4 `+ ?
4) 条件运算符(3元运算符) ( w( D4 g) R, h2 C% ^2 c
语法: 条件表达式 ? 表达式1 : 表达式2
5 y! h3 ~: r- k' y( j 当"条件表达式"为true时候, 表达式1作为整个表达式的值,
6 F' O' n4 t) _2 O+ G6 b 否则 表达式2作为整个表达式的值
- o* U% a+ B6 b: y 如:
7 {. E* {1 G. \" O* P( Q boolean isBoy = true;4 g- S+ b2 i) k' B3 W& |
int level = isBoy ? 2 : 3 ;// 28 m7 }2 l$ G5 d, c7 g% j& w
! k, ~* O8 X% k) r8 x6 H1 ?
3. 分支流程控制$ [( K2 ~; P: x
1) if ... else
V% m3 f- Y$ s* I 语法: if(布尔表达式){6 m/ H" D5 a y6 D3 }0 a4 `
//语句块..! F7 X4 N9 x$ x' D- G' w
}else{
8 l3 A1 i( n- R+ {0 X6 C) }. R //语句块( A! f, S, m% I. `/ g% ^9 K
}# B# r1 Q; C4 {7 k+ Q: G8 r# I% O
嵌套: if(布尔表达式){/ t! ~1 z- G0 r
//...
* ]* |! M _) s6 _ }else if(布尔表达式){
; B4 Y: R& P+ ^+ a, `( } //..., O# M0 I- ?; z8 V; I2 |4 [# z
}else if(布尔表达式){: W7 W; Y2 ]+ y1 Y2 W
//...0 [6 c& F7 o7 L( q
}else{) o8 F5 h- t. _! G9 I3 ^ \# O
//... V- Y- X p+ c1 W6 Y; r
}" L1 B4 z5 |7 r6 I6 S
/ _9 y* p ]5 F3 L$ N! ]2 X1 q- h
2) switch ... case5 R- K8 r& U) g) x2 j4 _
语法: switch: 开关, case: 情况下% z, _8 I; Z* U
switch(整数表达式){
! @+ b" _; t1 n; a case 整数常量1:
9 e( U6 k, B) i3 c: @ //语句序列% A9 l" t1 r+ g/ H5 J+ i
break;0 r8 p- M1 O: Z0 [8 U9 L& O
case 整数常量2:
( ~! l G! b- w //语句序列. P5 P2 T6 H Z/ O% A6 G- z
break;
2 \) S" E9 O) t. Z. `9 x# @ default:
8 `( {7 z$ N4 q1 U& j" C //语句序列
$ `! I C: m: L, ] }1 Z/ o# u0 |. |' t. m
A. switch条件: 只能是整数(int byte char short)表达式7 @. L4 N1 a1 ^, A
switch 不能处理long 或其他类型3 m$ Z( l% M h: @& T
B. case 只能是整数(int byte char short)常量, 不能使用
2 r1 Y$ f& o: y- e( D 变量及表达式. 如: '中'; r" X5 h' E1 M7 K) d
C. break 跳转到switch结束继续执行, 可以根据业务逻辑是否使用
# D a3 [. E# { 经常都写break
& h1 a5 [" q/ v- {# h0 J' K
0 L+ ]! g3 D7 k, B& c4. 循环控制& ]/ e' L' N9 F, _
1) While 循环控制5 q g1 A: t' ?! o" v" V- l
语法: k7 N1 X0 L" q* c; y# i- _/ T
while(布尔表达式){
" ?8 K. d$ g0 g* a: R( P7 Y //循环体 语句序列. d1 P# _7 E7 Z c4 D7 y0 D
}+ A' c4 B) K6 W- V1 r3 D9 T" Y E
* f* h r/ Q' Y7 \( E8 q1 \2 {# A
/ o" {! c; L% G' |1 }: z! w! @# D
|
|