学得有点快,得缓缓
Java流程控制下篇 顺序结构(略) 选择结构分为:
-
if单选择结构(无else)
-
if双选择结构(有else)
-
if多选择结构(if(){}else if(){}else if(){}…else)
-
嵌套的if结构(逐个判断)
-
switch多选择结构(这个之前没学过,具体语法结构如下:
switch(expression){ case value: ...... break;//可选 case value: ...... break;//可选 //任意数量case语句 default: }
break说是可选,但不写反而会出现case穿透现象?不懂)(case标签必须为字符串常量或者字面量)
循环结构循环结构分为:
-
while循环(先判断再循环,可能一次也不会执行)
-
do…while循环(先循环一次再判断并循环,至少执行一次)
-
for循环(for(初始化;布尔表达式;更新))
-
主要用于数组的增强型for循环(未学数组还不理解,学了回看)
写了俩段小代码,其一为打印九九乘法表:
public class Graphic99 {
public static void main(String[] args){
for(int a=1;a<=9;a++){
for(int b=1;b<=a;b++){
System.out.print(a+"*"+b+"="+(a*b)+"t");
}
System.out.println();
}
}
}
另一为打印三角形
public class TriangleDemo {
public static void main(String[] args){
for(int a=1;a<=5;a++){
for(int b=5;a
System.out.print(" ");
}
for(int c=1;c<=a;c++){
System.out.print("*");
}
for(int d=1;d
System.out.print("*");
}
System.out.println();
}
}
}
循环结构就先这样了。
break & continuebreak:在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句(在switch中也可使用)。
continue:在循环语句体中用于终止某次的循环,即跳过该次循环体中尚未执行的语句,接着进行是否进行下一次循环的判定。
goto关键字/标签不推荐使用?也没大讲清楚,鸽了。(以后可能会补充吧)
Java方法基础Java的方法类似其他语言的函数,是一段用来完成特定功能的代码片段。一般情况下,定义一个方法包含以下语法:
修饰符 返回值类型 方法名 (参数类型 参数名){
······
方法体
······
return 返回值
}
其中,参数类型分为形式参数和实参,形式参数即在方法被调用时用于接受外界输入的数据,实参即调用方法时实际传给方法的数据。
方法的重载在一个类中,有相同的函数名称,但形参不同的函数。
规则:方法名称必须相同,参数列表(个数,类型以及排列顺序)必须不同。(方法的返回值类型可以相同也可以不同,但仅仅返回值类型不同不足以成为方法的重载)
实现理论:方法名称相同时,编译器会根据调用方法的参数个数,参数类型等逐一匹配,以选择对应的方法,如果匹配失败,则编译器报错。
命令行传参了解即可,有一点需注意,即编译java文件为class文件时(用javac)可以在当前文件目录下进行,但执行时(用java)需退回到src文件目录下输入包和类的路径执行。
可变参数用法:在方法声明中,在指定参数类型后面加一个省略号。
注意:一个方法中只能指定一个可变参数,且它必须是环境的最后一个参数,任何普通的参数必须在它之前声明。
递归(一定情况时非最优算法)递归结构:
递归头:什么时候不调用自身方法(如果没有头将陷入死循环)
递归体:什么时候需要调用自身方法
简易计算器作业虽然可以循环,但只是很简陋的两个数字运算
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两个数字:");
while(scanner.hasNextDouble()){
double a=scanner.nextDouble();
double b=scanner.nextDouble();
System.out.print("加法请输入1n减法请输入2n乘法请输入3n除法请输入4n结束输入任意字母:");
switch(scanner.nextInt() ) {
case 1:
System.out.println(a + "+" + b + "=" + add(a, b));
break;
case 2:
System.out.println(a + "-" + b + "=" + sub(a, b));
break;
case 3:
System.out.println(a + "*" + b + "=" + mul(a, b));
break;
case 4:
System.out.println(a + "/" + b + "=" + div(a, b));
break;
default:
System.out.println("请按规定输入!!!");
}
}
scanner.close();
System.out.println("谢谢使用");
}
public static double add(double a,double b){
return a+b;
}
public static double sub(double a,double b){
return a-b;
}
public static double mul(double a,double b){
return a*b;
}
public static double div(double a,double b){
return a/b;
}
}
啧,没想出别的办法,技仅至此了。



