特殊时期,大家一定要保重身体。增强自身免疫力,一切都会过去,一起加油!!!

Java入门学习–JavaSE04关于for语句的嵌套,函数与数组概念解析

Java zchao 767℃ 0评论

这节学习的是for语句嵌套使用,函数与数组相关的知识

1.for循环嵌套

下面是直接可以运行的案例代码

举例

2.打印矩形

class ForForDemo
{
public static void main(String[] args)
{
//大圈套小圈思想。
/*
for(int x=0; x<3; x++)
{
for(int y=0; y<4; y++)
{
System.out.println(“ok”);
}
}
*/

/*

*****
*****
*****
*****

*/
for(int x=0; x<4; x++)//外循环控制的是行数
{
for(int y=0; y<5; y++)//内循环控制的是每一行的个数
{
System.out.print(“*”);
}
System.out.println();
}
}
}

3.打印倒三角(直角三角形)

class ForForTest
{
public static void main(String[] args)
{

/*

*****
****
***
**
*

*/

/*
int z = 5;
for (int x = 1; x<=5 ;x++ )//1-5 1-4 1-3//1-5 2-5 3-5
{
for (int y=1; y<=z ; y++ )
{
System.out.print(“*”);
}
System.out.println();
z–;
}
*/
/*

int z = 1;
for (int x = 1; x<=5 ;x++ )//1-5 1-4 1-3//1-5 2-5 3-5
{
for (int y=z; y<=5 ; y++ )
{
System.out.print(“$”);
}
System.out.println();
z++;
}
*/
for(int x=1; x<=5; x++)
{
for(int y=x; y<=5; y++)
{
System.out.print(“*”);
}
System.out.println();
}

4.打印正三角(直角三角形)

/*

*
**
***
****
*****
*/
System.out.println(“———-“);
for (int x=1; x<=5 ;x++ )
{
for (int y=1;y<=x ;y++ )
{
System.out.print(“*”);
}
System.out.println();
}

 

System.out.println(“———-“);
/*

54321
5432
543
54
5

 

*/
for (int x=1; x<=5; x++ )
{
for (int y=5; y>=x ;y– )
{
System.out.print(y);
}
System.out.println();
}

 

System.out.println(“———-“);
/*
1
22
333
4444
55555

*/

for (int x=1; x<=5 ; x++)
{
for (int y=1;y<=x ;y++ )
{
System.out.print(x);
}
System.out.println();
}
}
}

5.打印99乘法表

class ForFor99
{
public static void main(String[] args)
{

/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9

*/

for (int x=1; x<=9 ;x++ )
{
for (int y=1; y<=x ;y++ )
{
System.out.print(y+”*”+x+”=”+y*x+”\t”);
}
System.out.println();
}

/*
\n:回车:
\t:制表符。
\b:退格。
\r: 按下回车键。

windows系统中回车符其实是由两个符号组成的 \r\n.
linux中回车符是 \n.

System.out.println(“\\hello world\\”);
*/

}
}

6.打印倒着等腰三角形

class ForForTest2
{
public static void main(String[] args)
{

/*

* * * * *
-* * * *
–* * *
—* *
—-*

*/
for(int x=1; x<=5; x++)
{
for(int y=1; y<x; y++)
{
System.out.print(” “);
}

for(int z=x; z<=5; z++)
{
System.out.print(“* “);
}

System.out.println();
}

 

/*

*
* *
* * *
* * * *
* * * * *

*/
}
}

7.Break和Continue案例解析

class BreakContinueDemo
{
public static void main(String[] args)
{

/*
break:跳出。
break作用的范围:要么是switch语句,要么是循环语句。
记住:当break语句单独存在时,下面不要定义其他语句,因为执行不到。
break跳出所在的当前循环。
如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号来完成。

for(int x=0; x<3; x++)
{
if(x==1)
break;
System.out.println(“x=”+x);
}

xiaoqiang:for (int x=0; x<3 ;x++ )
{
wangcai:for (int y=0; y<4 ; y++)
{
System.out.println(“x=”+x);
break xiaoqiang;
}

}*/

/*
continue:继续。
作用的范围:循环结构。
continue:结束本次循环,继续下次循环。
如果continue单独存在时,下面不要有任何语句,因为执行不到。

 

for (int x=0; x<11 ;x++ )
{
if(x%2==0)
continue;
System.out.println(“x=”+x);
}
*/
xiaoqiang:for (int x=0; x<3 ;x++ )
{
wangcai:for (int y=0; y<4 ; y++)
{
System.out.println(“x=”+x);
continue xiaoqiang;
}

}

}
}

8.Function函数相关概念解析

下面是函数的案例代码

class FunctionDemo
{
public static void main(String[] args)
{
// int a = 3;
// int b = 4;
// int c;
// c = a+b;
//
// c = 5+7;
// c = 9+8;

// int c = add(3);
// System.out.println(“c=”+c);

// System.out.println(“hello world”);
// myPrint();
// myPrint();

}
/*
9.定义函数的格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…)
{
执行语句;
return 返回值;
}

 

10.特殊情况:

功能没有具体的返回值。

这时return的后面直接用分号结束。
返回值类型怎么体现呢?因为没有具体值,所以不可以写具体的数据类型。
在java中只能用一个关键字来表示这种情况。关键字是:void.

总结:没有具体返回值时,返回值类型用void来表示。

注意:如果返回值类型是void,那么函数中的return语句可以省略不写。

 

*/

public static void myPrint()
{
System.out.println(“hello java”);
return ;
}

 

public static int add(int a,int b)
{
return a+b;
}

}

 

class FunctionDemo2
{
public static void main2(String[] args)
{

// myPrint();
int x = add(3,5);//绞肉机
System.out.println(“x=”+x);
// System.out.println(add(3,5));
}
/*
public static void add(int a,int b)
{
System.out.println(a+b);
return;
}
*/

public static int add(int a,int b)
{
return a+b;
}
/**/

 

public static void myPrint()
{
System.out.println(“Hello World!”);
}
}

 

class FunctionDemo3
{
public static void main(String[] args)
{
// draw(4,6);
// draw(7,9);
// print99();

System.out.println(“hello”);

}

/*
11.需求1: 定义一个功能,完成两个整数的和的获取。

思路:既然定义功能,就是可以用函数来体现。
如何定义一个函数呢?
通过两个明确来完成。
明确一:这个功能的结果是什么?
是和。是功能的结果,所以该功能的返回值类型是int 。
其实就是在明确函数的返回值类型。

明确二:这个功能实现过程中是否需要未知内容参与运算?
有,加数和被加数。这就是函数的参数列表(参数的个数,参数的类型)
其实就是在明确参数列表。

注意:返回值类型和参数类型没有直接关系。

*/
public static int add(int a,int b)
{
int sum = a+b;
return sum;
}

/*
12.需求2: 定义一个功能,画一个矩形在控制台。

明确一:这个功能的结果是什么?
没有结果,因为直接打印到了,控制台,并未返回给调用者。
用void表示。
明确二:这个功能实现过程中是否需要未知内容参与运算?
有,行和列不确定。两个。整数 int.
*/
public static void draw(int row,int col)
{
for (int x=1; x<=row ;x++ )
{
for (int y=1;y<=col ; y++ )
{
System.out.print(“*”);
}
System.out.println();
}
// return ;//可以省略不写。
}

 

/*
13.需求3: 定义一个功能,比较两个数是否相等。

明确一:这个功能的结果是什么?
有,boolean.
明确二:这个功能实现过程中是否需要未知内容参与运算?
有,两个整数。

*/
public static boolean equals(int a,int b)
{
/*
if(a==b)
return true;
else
return false;

 

boolean x ;
if(a==b)
x = true;
else
x = false;
return x;

*/
// return (a==b)?true:false;

return a==b;

}

/*
14.需求1: 定义一个功能,获取两个整数中较大的那个数。

明确一:这个功能的结果是什么?
有,其中一个数。 int
明确二:这个功能实现过程中是否需要未知内容参与运算?
有,参与比较的两个整数 int
*/
public static int getMax(int a,int b)
{
/*
if(a>b)
return a;
else
return b;
*/

return a>b?a:b;
}

/*
15.定义功能,打印99乘法表。

*/

public static void print99()
{
for(int x=1; x<=9; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+”*”+x+”=”+y*x+”\t”);
}
System.out.println();
}
}

/*
16.根据考试成绩获取学生分数对应的等级

90~100 A
80~89 B
70~79 C
60~69 D
60以下 E

结果:等级,字符,char
参数:分数 ,int.
*/

public static char getLevel(int num)
{
char level ;
if(num>=90 && num<=100)
level = ‘A’;
else if(num>=80 && num<=89)
level = ‘B’;
else if(num>=70 && num<=79)
level = ‘C’;
else if(num>=60 && num<=69)
level = ‘D’;
else
level = ‘E’;

return level;
}

 

}

 

/*
17.需求:函数的重载。
*/

class FunctionDemo4
{
public static void main(String[] args)
{
// add(4,6,9);
// System.out.println(“Hello World!”);
printCFB(7);
}

/*
18.函数的重载。

1,同一个类,
2,同名。
3,参数个数不同。or 参数类型不同。
4,函数重载和返回值类型无关。
5,java是严谨性语言,如果函数出现的调用的不确定性,会编译失败。

 

*/

//加法运算。两个整数的和。
public static int add(int a,int b)
{
return a+b;
}

//加法运算。两个小数的和。
public static double add(double a,double b)
{
return a+b;
}

//加法运算,三个整数的和。
public static int add(int a,int b,int c)
{
return add(a,b)+c;
}

 

/*
打印乘法表。
*/
public static void printCFB(int num)
{
for(int x=1; x<=num; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+”*”+x+”=”+y*x+”\t”);
}
System.out.println();
}
}

/*
打印标准乘法表。
*/
public static void printCFB()
{
printCFB(9);
}

}

 

19.Array数组相关概念解析

class ArrayDemo
{

public static void main(String[] args)
{
//元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

{//局部代码块。限定局部变量的生命周期。
int age = 3;
System.out.println(age);
}

 

int[] arr = new int[3];

// arr[0] = 89;
System.out.println(arr[0]);
for(int x=0; x<4; x++){}

}
}

 

/*
20.内存的划分:

1,寄存器。
2,本地方法区。
3,方法区。
4,栈内存。
存储的都是局部变量。
而且变量所属的作用域一旦结束,该变量就自动释放。

 

5,堆内存。
存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。
特点:
1,每一个实体都有首地址值。
2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean false char ‘\u0000’
3,垃圾回收机制。

 

*/

 

class ArrayDemo2
{
public static void main(String[] args)
{
int[] arr = new int[3];
// System.out.println(arr[3]);//ArrayIndexOutOfBoundsException:
//当访问到数组中不存在的角标时,就会发生该异常。

// arr = null;
// System.out.println(arr[0]);//NullPointerException
// 当引用型变量没有任何实体指向时,还在用其操作实体。就会发生该异常。

// System.out.println(arr);// [I@c17164

}
}

转载请注明:zchao博客之家 » Java入门学习–JavaSE04关于for语句的嵌套,函数与数组概念解析

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!