Java 语言基础 Day03
2012/2/28
====================
方法
运算符
流程控制语句
1. Java 的方法Method (函数 Function), 功能, 动作
1) 方法就是函数: y=f(x)=3x+6;
2) 方法的语法
(修饰词)(返回值类型)(方法名)(参数列表){
//方法体
}
public static void main(String[] args){}
如:
public static int f(int x){
int y = 3 * x + 4;
return y;
}
4) 如果有返回值定义就必须有return语句, 返回和返回值类型
兼容的数据
5) 方法的参数和方法内部的变量 都是局部变量,
这些变量作用域只在方法内部!
6) 实参: 方法调用时候实际传递的参数变量
形参: 方法的参数定义,是临时变量.
2. Java 运算符
1) 数学运算符 + - * / %
A 运算的封闭性(补码运算的封闭性):
1.同种类型参与运算(可能需要自动类型转换)
2.返回同种类型(可能发生:上溢出和下溢出)
3.byte, short, char 按照int运算
如: int a = 1 + 'A';
B. 整数的除法是整除, 除以2相当于移位运算(移动小数点)
C.Java中字面量的运算被Javac优化了, 优化为一个固定的常量.
D. % 计算除法的余数
1. 0 对其他数的 余数 是0
2. n%3 是 周期函数, 函数值 [0,3)
3. 负数的余数是负数(考试可能出现, 工作中很少用)
2) 自增(自减)运算 ++ --
1. 可以将当前变量自我增加(减少)1
2 i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.
3 ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.
(i++)%3
3) 逻辑与比较运算
1.逻辑运算 与(并且)&& 或(或者)|| 非(否则)!
非短路的逻辑运算 & | , 比较少使用, 逻辑不合理
2. 比较运算, 比较变量的值, 就是逐个"位"比较值: > >= < <= == !=
基本类型变量的值就是基本值如: i=1
引用类型变量的值是对象地址值.(在面向对象阶段详细讲解)
int i = 1;
long l = 1;
System.out.println(i==l); //true
4) 条件运算符(3元运算符)
语法: 布尔表达式 ? 表达式1 : 表达式2
当"布尔表达式"为true时候, 表达式1作为整个表达式的值,
否则 表达式2作为整个表达式的值
如:
boolean isBoy = true;
int level = isBoy ? 2 : 3 ;// 2
3. 分支流程控制
1) if ... else
语法: if(布尔表达式){
//语句块..
}else{
//语句块
}
嵌套: if(布尔表达式){
//...
}else if(布尔表达式){
//...
}else if(布尔表达式){
//...
}else{
//...
}
2) switch ... case
语法: switch: 开关, case: 情况下
switch(整数表达式){
case 整数常量1:
//语句序列
break;
case 整数常量2:
//语句序列
break;
default:
//语句序列
}
A. switch条件: 只能是整数(int byte char short)表达式
switch 不能处理long 或其他类型
B. case 只能是整数(int byte char short)常量, 不能使用
变量及表达式. 如: '中'
C. break 跳转到switch结束继续执行, 可以根据业务逻辑是否使用
经常都写break
4. 循环控制
1) While 循环控制
语法:
while(布尔表达式){
//循环体 语句序列
}
作业:
1 复习并且完成 全部 课堂演示代码, 添加适当的
输出语句, 研究输出结果, 添加适当的注释.
2 重构课堂案例, 将参数通过Scanner输入
3 重构课堂案例, 加入while 循环, 增加输入信息合理性判断.
4 (选做)案例练习 输出等额本息还款计划表
如(示例):
月份 本金 利息 归还
第1月 930 712 1642
第2月 940 701 1642
......
预习: 流程控制语句for(),do...while, Java数组.参考Day04.txt
i++ % b
(int)a+b
y=g(x)=3*x*x+2*x+4;