一、语句与复合语句
1.语句
定义:语句是构成Java程序的基本单位之一。
简单语句:以分号 ; 结尾
Java语言不允许在两个嵌套的复合语句(用一对{ }括起来的复合语句)内声明两个变量。
文件注释(javadoc)产生一个HTML文档,从而为程序提供文档说明。
2.顺序结构 注:byte\short\char在一起计算时将它们统一转化成int类型
3.选择结构
(1)if--else语句
if 或 else控制的对象可以是单个语句,也可以是程序块,后者必须加 大括号。
(建议不论是单个语句还是复合语句都加上大括号)
条件可以是任何返回布尔值(true\false,不接受0和1)的表达式,else自居是可选的
(2)switch--case语句(break匹配为非常 常考点,即下图红字)
从JVM优化上看,switch多分支结构的执行效率要高于if语句。(多于450个分支时)
(3)例题:
int i = 0;
switch(i) {
case 0:
System.out.print("zero ");
case 1:
System.out.print("one ");
break;
case 2:
System.out.print("two ");
default:
System.out.print("default ");
}
最后输出结果为 zero one
4.循环结构
(1)for语句 for(表达式1;条件表达式;表达式2){...}
(2)while语句 先判断再执行
(3)do--while语句 先执行再判断
5.跳转语句
(1)break语句 (默认跳出最近的循环)
(2)continue语句 (默认跳出最近的循环)
(3)return语句
加入outer后,利用continue outer跳出的是外层循环,否则不加outer的话跳出的是内层循环。上图代码就实现了打印9*9乘法表的功能。
6.标号:
(1)标号是后面跟有冒号的标识符。
(2)标号后跟for/while/do--while等循环。
(3)可以给语句加标号赋予他们名称,标号位于语句之前,标号只能被continue和break引用。(上图中outer即为标号。)
(4)语句前只允许加一个标号。
7.递归
(1)递归方法就是直接或间接调用自身的方法。
(2)要终止一个条件,问题最后必须达到一个终止条件。
所有递归代码都有其非递归实现。
优点:易于理解,代码简洁,容易理解和维护; 缺点:效率低(函数调用有成本,有爆栈风险)
二、实验
1.求一组数据中最小值时,设的min初始值要尽量大,最好让 min = Integer.MAX_VALUE;(数据是int型时)
...最大值 ... max ... 尽量小 ... max = Integer.MIN_VALUE(确保元素能遍历)
2.初始化数值时不要用期待的数值去给他赋值。
3.字符之间是否相等的比较要使用“ == ”,而不能用equals()方法
字符串之间是否相等的比较要使用“ equals() ”,而不能用" == "方法
4.可以使用System.in.read()语句读取字符
char c = (char) System.in.read();
5.不同操作系统中换行符:
苹果macOS、 unix : \n
linux : \r
windows : \n\r