零基础自学JAVASE Part5
今天下午打了场激烈的篮球赛,伸展了一下筋骨,舒服~
继续自学java之路。。
书接上集
2.3 do...whlie循环
格式:
初始化语句;
do {
循环体语句;
控制条件语句;
} while(判断条件语句);
流程:
先执行初始化语句
在执行循环体语句
在执行条件控制语句
在做条件的判断,
true, 继续执行循环体和条件控制
false, 循环结束
例子:
public class DoWhile { public static void main(String[] args) { int i = 0; do { System.out.println("默默成功"+ i); i++; }while(i<=10); } }
2.4 循环综合使用
需求: 在键盘上输入一个数,如果是 1,代表蛇吃食物,得分加 10,并继续输入,如果输入的是一个非 1 的数字,停止程序,输出得分。
import java.util.Scanner; public class Snake { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("游戏开始"); int score = 0; System.out.print("请输入一个整数:"); int oper = input.nextInt(); while (oper == 1) { score += 10; System.out.println("当前得分为:"+ score); System.out.print("请再次输入一个整数:"); oper = input.nextInt(); } System.out.println("游戏结束,最总得分为:"+ score); } }
需求: 1.控制台提示用户输入密码
2.用户输入密码
3.如果用户输入的密码不等于 1234,回到步骤 1
4.如果用户输入的密码等于 1234,提示登录成功
import java.util.Scanner; public class LoginPractice { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("欢迎Cason"); System.out.print("请输入密码:"); String password = input.nextLine(); while (!("momo nuli".equals(password))) { System.out.println("密码错误"); System.out.print("请重新输入密码:"); password = input.nextLine(); } System.out.print("密码正确,欢迎登陆"); } }
注:String不能使用“==”来比较另一个String,要用“已知”.equals ("未知输入")来比较
2.5 循环的嵌套
需求:打印99乘法口诀表
public class MultiTable { public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "x" + i + "=" + (i * j)+ "\t"); } System.out.println(); } } }
2.6 跳转控制语句
break: 结束单层循环,在循环语句和 switch 语句中使用
continue: 结束本次循环,在循环语句中使用
return: 结束整个方法,返回给生成调用者
注:switch语句中case和default不能用continue,这和python有所区别
3. 方法
3.1方法的定义
目的: 解决代码重复编写的问题:
格式:
修饰符 返回值类型 方法名(参数类型 参数名 1,参数类型 参数名 2…) {
函数体;
return 返回值;
}
方法格式的解释说明:
修饰符 比较多,后面会详细介绍。目前 public static
返回值类型 用于限定返回值的数据类型
方法名 一个名称,为了方便我们调用方法
参数类型 限定调用方法时传入参数的数据类型
参数名是一个变量,接收调用方法时传入的参数
方法体 完成功能的代码
return 结束方法以及返回方法指定类型的值
返回值 程序被 return 带回的结果,返回给调用者
import java.util.Scanner; /** * * 定义两个方法: * 1. 打印两个double类型的值的差 * 2. 打印圆的面积和周长 * 在main方法中调用: * 分别求 12.4 和 12.1 的差 * 求半径是4的周长和面积 * */ public class CallMethod { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请问有什么需求?"); System.out.println("1.计算两数之差; 2.计算圆的周长和面积"); int num = input.nextInt(); switch (num){ case 1: System.out.print("请输入第一个数字:"); double num_1 = input.nextDouble(); System.out.print("请输入第二个数字:"); double num_2 = input.nextDouble(); printdiff(num_1, num_2); break; case 2: System.out.print("请输入圆的半径:"); int num_3 = input.nextInt(); circle(num_3); break; default: System.out.println("输入数字有误"); break; } } public static void printdiff(double a, double b) { System.out.println(a - b); } public static void circle(int radius) { float PI = 3.14f; float a = 2 * radius * PI; float b = radius * radius * PI; System.out.println("圆的周长为:" + a); System.out.println("圆的面积为:" + b); } }
方法的重载也是一种快捷的方法
概念: 一个类中可以存在多个名字相同的方法,但是必须保证参数的个数或类型不同,与返回值无关

浙公网安备 33010602011771号