该用户从未签到
|
1. java 的方法Method (函数 Function), 功能, 动作+ }3 r$ @* S; V8 e1 `. L. K
1) 方法就是函数: y=f(x)=3x+6;( I+ O3 j! J9 m$ h+ i: s
2) 方法的语法
8 D1 ^/ c, F" C" Z2 t+ { (修饰词)(返回值类型)(方法名)(参数列表){
" O! Q3 v) w9 j+ i! n //方法体 U5 R* {7 v- x$ g8 I' Q: G
}
9 |; N4 j" G( Z) j+ G9 l public static void main(String[] args){}( z3 o- |: a4 x C* P
如:/ O) N0 B0 ^5 K2 Z% ?' h) u9 w, a2 l
public static int f(int x){
0 x }8 W# E: g# F: n int y = 3 * x + 4;
! M. a, B B# B6 ]+ E* B7 Q. L return y;: a E, w& \/ L* x" H* V/ `
}
5 W. O4 e/ w( E5 b1 o- A6 Y3 M( S' r 4) 如果有返回值定义就必须有return语句, 返回和返回值类型
8 C' F: |5 u5 E/ y7 P1 X0 G" b) T! ^ 兼容的数据
, U& N* H3 T- @+ X; ^ 5) 方法的参数和方法内部的变量 都是局部变量,
0 @# r9 J7 C$ G, R( Z) M1 ? 这些变量作用域只在方法内部!
$ X# ?2 O+ P, R) ^- q 6) 实参: 方法调用时候实际传递的参数变量. R7 {0 y; k, q2 a1 v
形参: 方法的参数定义,是临时变量.. e6 {" _7 w' u: L3 w: R+ ]: @: g" P
+ x. I6 u* t3 \, |3 j2. Java 运算符
; q& L- x- P- l: ]1 U+ @. w" m 1) 数学运算符 + - * / %
- R1 z; |5 Z- ]' p9 N4 o( ? A 运算的封闭性(补码运算的封闭性): 8 Y m/ ?: S0 M" X( u: v$ P4 [1 j
1.同种类型参与运算(可能需要自动类型转换)/ `! G0 x$ t2 _2 a0 C/ j
2.返回同种类型(可能发生:上溢出和下溢出)
( Y+ E1 q1 Q6 m U 3.byte, short, char 按照int运算
2 n' R7 u: m% L) s, V7 V5 S 如: int a = 1 + 'A';
* L9 L+ R1 ]4 Q( u0 z) Z6 W5 T B. 整数的除法是整除
$ ?, P6 O7 P/ f, y3 W 1.除以2相当于移位运算(移动小数点)
2 g* E q9 s( _0 d! c9 s# ? C.Java中字面量的运算被Javac优化了, 优化为一个固定的常量. e+ |4 R* ?1 K
D. % 计算除法的余数; C7 J8 H; F2 F" A% F
1. 0 对其他数的 余数 是0
5 e* E4 T# [& H 2. n%3 是 周期函数, 函数值 [0,3)& d$ W6 I% F! z2 p3 p
3. 负数的余数是负数(考试可能出现, 工作中很少用)
( k+ y8 F7 {* U5 {8 {, C, x
& Z! c+ T- ~8 v, M) k 2) 自增(自减)运算 ++ --
! ?2 F' ]6 I2 ]% r* x% \% g: y 1. 可以将当前变量自我增加(减少)1 N7 z" y$ ]! G5 }- g4 W
2 i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.! R/ h) J/ ~" d# H$ u. s" n# c9 T
3 ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.% d& M/ V+ c( _4 M; C+ j+ K
int a = i++;& ?0 ^. }% L! d- m% \3 D
(i++)%3- u6 H _2 U* m& F' G% U" ?
. o& ~- M4 @/ _
3) 逻辑与比较运算 2 J5 ^6 G% x8 S. m! u3 G0 N) ~8 f6 n
1.逻辑运算 与(并且)&& 或(或者)|| 非(否则)!
O A' e# {: O8 V8 Z; Y; S1 j4 _ 非短路的逻辑运算 & | , 比较少使用, 逻辑不合理
% a# N8 a; ]# T9 p* l 2. 比较运算, 比较变量的值, 就是逐个"位"比较值: > >= < <= == !=; |; U+ \! Z+ [7 H8 i
基本类型变量的值就是基本值如: i=16 f/ G0 o2 m5 v! O" K- O+ A8 F
引用类型变量的值是对象地址值.(在面向对象阶段详细讲解)
, k7 G' R' ` ^$ c W: g! X+ j# L& p; z6 W) J
int i = 1;% |9 ~, ]6 B1 w0 v
long l = 1;2 l0 }& J! i- G+ s$ N+ ]) b0 l; B
System.out.println(i==l); //true; S5 X E, k! }. a! j% ?
4) 条件运算符(3元运算符)
/ @+ _* _1 ?; n+ F 语法: 条件表达式 ? 表达式1 : 表达式2
) Y; O3 b2 r- s, G 当"条件表达式"为true时候, 表达式1作为整个表达式的值, 4 s$ c/ f+ q9 f# L2 O) i% w1 V) E
否则 表达式2作为整个表达式的值
% W- I5 U( g" m! Q0 Z* t 如:
. b& z" ?7 T4 E, I% e$ V+ [2 P1 K boolean isBoy = true;& X0 q1 d# P1 z; h0 O3 A* n
int level = isBoy ? 2 : 3 ;// 2; Y0 G) w4 [& i! v
. D9 d' _+ F N3 K- Q' @2 ]3. 分支流程控制- a4 f# G+ j% Q7 ]& r- X y
1) if ... else$ B/ d3 p7 ^0 F( p+ N7 Y/ G
语法: if(布尔表达式){, I1 N4 J5 G' A0 X! A, g0 l& q' ?
//语句块.." A( f: [) e0 @/ @# `
}else{
^; X# Q8 p) F: v5 ] //语句块
2 o1 k# m" X+ z }
" P5 M6 B- }% c9 {9 R* [/ q 嵌套: if(布尔表达式){( b$ k, ~, j( g; a" Q
//...7 \0 N& T- o0 p; D9 c
}else if(布尔表达式){
. t5 K! s: S, @) L+ x# x; p7 ] //...
N, M& c9 g1 M A+ p& I: W }else if(布尔表达式){. ?% J% r) g3 W# ~6 s$ p# Y
//...1 R' I+ ~7 |( k. R2 I( f) R
}else{7 O% h4 X* `/ A) K2 S
//...
* J& k% E% {& ], |5 J8 F( V }
{1 i$ c: |& }+ r
2 X9 u* N. t: B: ]6 |, P 2) switch ... case- B! a1 C* t5 O
语法: switch: 开关, case: 情况下
5 L5 _& o! a4 Q$ W" B3 E# [% r switch(整数表达式){ 1 {6 i- B' w( W0 M8 \* B. [4 |! }
case 整数常量1:
9 q1 z9 w7 a4 G6 [& R+ N7 I //语句序列
4 H$ m: v- G$ P+ V) ]7 m# o break;
, n* r2 u* ^7 ~& J0 V; R H2 ^) t0 I case 整数常量2:
) E. V5 D7 X; X+ O% Q //语句序列
, G2 F# {. w x6 p; g9 _6 H0 Z break;
/ A6 x+ B0 s7 }7 M K1 F9 w default:
2 u) B, q6 @2 H6 u, m! D8 h //语句序列
9 F; s: P9 [; d2 G5 M) @ }' \3 p$ x4 B; {
A. switch条件: 只能是整数(int byte char short)表达式
9 H" y- M+ I2 }+ z switch 不能处理long 或其他类型
" E+ \. j& U( X* G" p4 w B. case 只能是整数(int byte char short)常量, 不能使用
* q: `( l5 X) r$ G) s 变量及表达式. 如: '中'
+ J% N" ?7 o) l$ W$ ~0 M- Q C. break 跳转到switch结束继续执行, 可以根据业务逻辑是否使用
8 c& c4 a. P9 n. T 经常都写break
& P, O' ]9 ?1 n) {0 {+ R/ M1 o$ l0 ~4 T8 K& E, q+ j/ u
4. 循环控制
/ N& }7 b( y n9 b4 K' O# x 1) While 循环控制
$ f& Y; ?" w: r! k% H( u8 K: n 语法:+ ]& W7 n+ I# G, a4 U( D s9 W# Y
while(布尔表达式){
8 p, P, N# |9 } //循环体 语句序列' V, _1 T" F3 I8 j, o
}
% q$ A( s; F2 g6 e! A3 ?5 ~
% A5 X8 v% m3 G* O* i: f [
$ x6 x8 b G" ^' _8 D |
|