05.01 循环结构循环嵌套输出4行5列的星星)(掌握)
案例演示
需求:请输出一个10行10列的星星(*)图案。
如图:
*****
*****
*****
*****
注意:
System.out.println("*");和System.out.print("*");的区别:print不换行。
B:结论:
外循环控制行数,内循环控制列数
案例:
public class MyDemo3 {
public static void main(String[] args) {
for (int i = 0; i <10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
05.02 循环结构循环嵌套输出正三角形(掌握)
案例演示
需求:请输出下列的形状
*
**
***
****
*****
案例:
public class MyDemo3 {
public static void main(String[] args) {
for (int i = 1; i <=5; i++) {
for (int j = 1; j <=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
05.03 循环结构九九乘法表(掌握)
案例演示
需求:在控制台输出九九乘法表。
代码优化
注意:
'\x' x表示任意,这种做法叫转义字符。
'\t' tab键的位置(空格)
'\n' 换行
public class MyDemo {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + (j * i) + "\t");
}
System.out.print("\n");
}
}
}
05.04 控制跳转语句
05.04.1 break语句
break的使用场景
(1):在选择结构switch语句中
(2):在循环语句中
注意:离开使用场景的存在是没有意义的
作用
a:退出单层循环 写在哪一层,中断的就是哪一层的循环。
b:退出多层循环(几乎不使用) 在内层循环结束外层循环
要想实现这个效果,就必须知道一个东西;带标签的语句;
格式:标签名:语句
案例:
public class MyDemo2 {
public static void main(String[] args) {
for (int i = 1; i <=10; i++) {
System.out.println(i);
}
System.out.println("====================");
for (int i = 1; i <=10; i++) {
System.out.println(i);
if(i==5){
break;
}
}
int j=1;
while (true){
System.out.println("呵呵");
if(j>10){
break;
}
j++;
}
System.out.println("下面的代码");
}
}
案例,内层循环中断外层循环:
public class MyDemo4 {
public static void main(String[] args) {
wc:for (int i = 0; i < 10; i++) {
nc:for (int j = 0; j < 10; j++) {
if (j == 2) {
break wc;
}
System.out.print("*");
}
System.out.println();
}
}
}
05.04.2 continue语句
continue的使用场景
(1):在循环语句中
(2):离开使用场景的存在是没有意义的
作用
a:跳出一次循环,执行下一步操作
练习题
for(int x=1; x<=10; x++) {
if(x%3==0) {
}
System.out.println(“Java基础班”);
}
我想在控制台输出2次:“Java基础班“
我想在控制台输出7次:“Java基础班“
我想在控制台输出13次:“Java基础班“
案例:
public class MyDemo {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if(i%2==1){
continue;
}
System.out.println(i);
}
System.out.println("======================");
for (int i = 1; i <= 10; i++) {
if (i==5||i==6) {
continue;
}
System.out.println(i);
}
}
}
练习题:
public class MyDemo4 {
public static void main(String[] args) {
for (int x = 1; x <= 10; x++) {
if (x % 3 == 0) {
System.out.println("Java基础班");
}
System.out.println("Java基础班");
}
}
}
05.05 方法
为什么要有方法:为了提高代码的复用性;
什么是方法
方法就是完成特定功能的代码块
在很多语言中都有函数的定义,但是在咱们JAVA语言中,我们将其称之为方法。
方法的格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 ....){
方法体;
return 返回值;
}
方法的格式详细说明
(1): 修饰符 比较多,后面会详细介绍。目前使用 public static
(2): 返回值类型 用于限定返回值的数据类型
(3): 方法名 就是一个名称,它的存在是为了方便我们调用方法
(4): 参数类型 限定调用方法时传入参数的数据类型
(5): 参数名 是一个变量,接收调用方法时传入的参数
这个参数其实有一个专业的名词,被称之为形式参数,它的作用是用来接收实际参数的.
(6): 方法体 完成功能的代码
(7): return 结束方法以及返回方法指定类型的值
(8): 返回值 就是功能的结果,由return带回,带回给调用者
案例:
public class MyDemo {
public static void main(String[] args) {
System.out.println("主方法调用了");
send();
System.out.println("=================");
send();
System.out.println("=================");
send();
System.out.println("=================");
send();
}
public static void send(){
System.out.println("发射子弹1");
System.out.println("发射子弹2");
System.out.println("发射子弹3");
System.out.println("发射子弹4");
System.out.println("发射子弹5");
System.out.println("发射子弹6");
System.out.println("发射子弹7");
System.out.println("发射子弹8");
}
}
求和方法的调用:
public class MyDemo2 {
public static void main(String[] args) {
System.out.println("主方法调用了");
add();
int r=add2();
System.out.println(r);
System.out.println(100+r);
add2();
int sum=add2();
long l=add2();
double v = add3();
System.out.println(v);
}
---------------------------------------------------------------------------------
public static int add2() {
System.out.println("add2 方法调用了");
int a = 20;
int b = 20;
int sum = a + b;
System.out.println("sum=" + sum);
return sum;
}
------------------------------------------------------------------------------------
public static double add3() {
System.out.println("add3 方法调用了");
int a = 20;
int b = 20;
double sum = a + b+3.2;
System.out.println("sum=" + sum);
return sum;
}
--------------------------------------------------------------------------------------
public static void add() {
int a = 20;
int b = 20;
int sum = a + b;
System.out.println("sum=" + sum);
}
}
05.05.1 return的作用
return 结束方法以及返回方法指定类型的值
public class MyDemo3 {
public static void main(String[] args) {
int add = add();
System.out.println(add);
return;
}
public static int add(){
return 100;
}
public static void add2() {
return;
}
}
05.05.2 如何写一个方法 方法的调用
需求:求两个数据之和的案例
如何写一个方法
两个明确
(1):返回值类型 明确功能结果的数据类型
(2):参数列表 你要传递几个参数,以及每一个参数的数据类型
方法调用(有明确返回值的调用)
a:单独调用,一般来说没有意义,所以不推荐。
b:赋值调用,推荐方案。
c:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
public class MyDemo4 {
public static void main(String[] args) {
int sum = add();
System.out.println(sum);
int sum2 = add2(50, 50);
System.out.println(sum2);
int sum3 = add2(60, 40);
System.out.println(sum3);
int i=200;
int j=300;
int sum4 = add2(i, j);
System.out.println(sum4);
int aaa=add2(2, 3);
System.out.println(aaa);
System.out.println(add2(2, 3));
}
-----------------------------------------------------------------------------------
public static int add() {
int a = 20;
int b = 30;
return a + b;
}
-----------------------------------------------------------------------------------
public static void add0() {
int a = 20;
int b = 30;
return;
}
------------------------------------------------------------------------------
public static int add2(int a, int b) {
int sum = a + b;
return sum;
}
}
05.05.3 方法的注意事项
方法不调用不执行
方法与方法是平级关系,不能嵌套定义
方法定义的时候参数之间用逗号隔开
方法调用的时候不用在传递数据类型
如果方法有明确的返回值,一定要由return带回一个值
05.05.4 方法的重载
案例演示
求和案例
2个整数
3个整数
4个整数
方法重载概述
在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同,与返回值无关。
参数列表不同:
A:参数个数不同
B:参数类型不同
public class MyDemo {
public static void main(String[] args) {
int sum1 = add(1, 2); 优先与int类型匹配,因为整数是int类型。
int sum2 = add(1, 2, 3);
int sum3 = add(1, 2, 3, 4);
System.out.println(sum1);
System.out.println(sum2);
System.out.println(sum3);
System.out.println("=====================");
add(20,30.3);
}
public static int add(int a, int b) {
System.out.println("两个整型的方法调用了");
return a + b;
}
public static double add(int a, double b) {
System.out.println("一个整形一个浮点型的方法调用了");
return a + b;
}
public static int add(int a, int b,int c) {
return a + b+c;
}
public static int add(int a, int b, int c,int d) {
return a + b + c+d;
}
}