该用户从未签到
|
1. java 的方法Method (函数 Function), 功能, 动作: X; \ n1 @/ n# Q( Q
1) 方法就是函数: y=f(x)=3x+6;$ W: {' t& H! X$ s" |6 \
2) 方法的语法( }; @. l' L1 {; N3 M4 u
(修饰词)(返回值类型)(方法名)(参数列表){/ c0 M. i$ k7 k- b# M
//方法体
+ \( m$ O# j. A! o7 m& y }
/ G% h( k- c* `0 } public static void main(String[] args){}
: v$ y k3 e" ^8 R: d1 F7 ] 如:
% E7 w2 o; L1 V0 w public static int f(int x){
& a. y! _" Z) ^4 o$ I. E" ] int y = 3 * x + 4;0 F" n% u( v$ d& M2 V
return y;
! @! a& |5 U( |8 U6 u5 J% m* s0 j4 d% T }
- L: l9 u5 _" k1 s 4) 如果有返回值定义就必须有return语句, 返回和返回值类型4 j. J8 X$ U# n
兼容的数据
J. P' | j6 J6 U8 l# D; y 5) 方法的参数和方法内部的变量 都是局部变量,
) b+ s5 B6 ~; j2 s* O, N. z" f9 q 这些变量作用域只在方法内部!
) y# ~) \& L2 U 6) 实参: 方法调用时候实际传递的参数变量0 F0 M& Y' ^7 Y, ]
形参: 方法的参数定义,是临时变量.
8 T. C+ H/ ?2 A5 z: _9 d3 G
6 `1 _9 H6 K. W1 Z% P2 f: W2. Java 运算符" r( S7 }6 [7 o) {' M9 \
1) 数学运算符 + - * / %
4 r' E6 z6 T0 c; T9 k A 运算的封闭性(补码运算的封闭性): , F& }7 i# f3 b U! L5 V' O
1.同种类型参与运算(可能需要自动类型转换)# S6 `- C1 O, C
2.返回同种类型(可能发生:上溢出和下溢出)
, f2 L5 x, E/ ? n% n$ e4 y$ n 3.byte, short, char 按照int运算
* s3 t) h: r( v6 _ 如: int a = 1 + 'A';( x7 y/ U, Z& e3 }
B. 整数的除法是整除
9 ^3 c# z( l6 L' w3 F 1.除以2相当于移位运算(移动小数点)
$ |1 e+ w6 G5 g. ~ C.Java中字面量的运算被Javac优化了, 优化为一个固定的常量.
W1 o1 l8 a" G% w2 s D. % 计算除法的余数* |; N7 i9 {0 P& W- L
1. 0 对其他数的 余数 是0$ _* Z; B% X9 M, t, o
2. n%3 是 周期函数, 函数值 [0,3) ?* a& j6 K. M% {7 S! E0 _, T* D" K
3. 负数的余数是负数(考试可能出现, 工作中很少用)
1 u) Q8 U5 G: D4 h- N4 l$ O/ d& c! l5 Z, G- f
2) 自增(自减)运算 ++ --
" f0 `/ Z+ S# N. p2 n8 G% @ 1. 可以将当前变量自我增加(减少)16 v5 @: c1 \ i
2 i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.1 }. ]1 G/ H3 c! l' k
3 ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.' x0 A+ L: V/ j( G8 t, Q- G
int a = i++;
) r! g! h5 h- t+ o7 Z: O8 D. e (i++)%3
1 O8 \( l. n( \6 w0 I1 w7 O$ d: \8 ?% j g: T
3) 逻辑与比较运算
$ Q* E+ I+ }5 u5 Z 1.逻辑运算 与(并且)&& 或(或者)|| 非(否则)! - s5 Y+ h% H7 v' [; v5 \
非短路的逻辑运算 & | , 比较少使用, 逻辑不合理 O% n _$ Z6 v' k: x
2. 比较运算, 比较变量的值, 就是逐个"位"比较值: > >= < <= == !=
, l8 o/ z8 w% J& i4 h. X( c5 ?1 z+ Q7 K2 ` 基本类型变量的值就是基本值如: i=1
7 ]! O* o" |2 x3 Q" H3 v6 g 引用类型变量的值是对象地址值.(在面向对象阶段详细讲解)' d1 P# s; S K1 s$ t$ s
! i s1 y- }! Z; s4 c7 a9 @ int i = 1;' O% L! n' z: G I! o- u4 `
long l = 1;! f; X5 {4 G; t
System.out.println(i==l); //true
$ x% I6 M7 H, O1 b: f( n! F 4) 条件运算符(3元运算符) ' B1 l/ A) Q2 ?1 z0 k7 W
语法: 条件表达式 ? 表达式1 : 表达式2
" h/ Y" P9 ]+ Q3 ^ 当"条件表达式"为true时候, 表达式1作为整个表达式的值, " Z9 g v3 J h
否则 表达式2作为整个表达式的值: { z% Z; D" q5 D2 d
如:
) u, {& l# x4 a8 x8 o9 a6 d boolean isBoy = true;2 l9 t; V- A( j8 Z0 P
int level = isBoy ? 2 : 3 ;// 2+ G3 l9 T& G# y( Q7 o* y8 Q0 E( E
4 J: O3 W* w+ P1 M
3. 分支流程控制
: ]+ _! y# r F1 u 1) if ... else
' `* x$ @& E4 q- g 语法: if(布尔表达式){
3 h, ?% {" R* ~ //语句块..
L3 i2 |1 y h5 I }else{. O+ a- k& S% l8 n7 }+ d2 t5 F
//语句块# V" c' F2 }) @2 l7 O _8 i: M
}
& m6 E$ y% j5 U) \$ F 嵌套: if(布尔表达式){9 n0 H& k+ l0 j, {" A+ N8 i# b8 }
//...9 U/ U6 Q9 V, K; a# s0 Z
}else if(布尔表达式){
0 T2 O: Q/ ~8 [ //...
3 d2 q7 i' c( G( M9 d+ e }else if(布尔表达式){
# a# }3 L& E/ e //...
0 n1 U) D& n' K& X+ a. }1 Z# @ }else{
1 c0 ^+ e' U2 O+ W3 I3 ~! u //...
) S2 R+ ?$ K) Y) l }" x/ H" X1 e' Z# w; G7 B1 `
6 z' {! ?/ c- K! a2 z9 ~
2) switch ... case
/ W1 C b/ z9 P1 o, j3 a, B 语法: switch: 开关, case: 情况下6 i6 w% `3 C6 `% w9 a
switch(整数表达式){
' V' j# E* k r1 ?, T* I( Q' ? case 整数常量1:
% u) t' x% B& l* H1 m# ` //语句序列
0 c, q' [1 G; l1 f; u1 U" Z( i break;
; g# e2 [" `& Z2 @( x- A6 c c case 整数常量2:
0 u1 Q. \, x+ z" b/ ?4 f3 f //语句序列* |3 s/ z! m& ^% x
break;# F5 P+ r% {6 k9 Y$ p, C
default: ' t1 m4 U9 t2 l' i& _( L8 \) n
//语句序列) ]+ w2 g/ C' m |
}. Y* T; D+ l% [7 E
A. switch条件: 只能是整数(int byte char short)表达式
" A2 \% J! v7 D3 K; G- p9 g switch 不能处理long 或其他类型
- X$ k9 H6 i0 ^# h8 p! J1 E% t B. case 只能是整数(int byte char short)常量, 不能使用
! D4 s; L; I. c7 A% t 变量及表达式. 如: '中'
4 r+ T; n) [# F C. break 跳转到switch结束继续执行, 可以根据业务逻辑是否使用0 x& i: p% J6 r- E6 `' g0 ]
经常都写break! v$ x5 b; G$ |) P. J# s+ Z" Q
, Z9 O+ J& j# v
4. 循环控制) U8 P1 G0 D' m0 s9 ?
1) While 循环控制4 B( ^# \/ H/ t) h
语法:
- b8 I6 |4 k; C, o while(布尔表达式){0 Y' w r- a4 W! }/ E. K
//循环体 语句序列& N# \% T, i4 D4 h( K4 p
}1 Y- l& y- t, c5 j4 y- O" P' \3 }
6 [: i7 {( `$ h* j
* x, ?3 l$ n) T+ e. b# R
|
|