双重循环 函数
1 双层循环
//例子 打印如下图形01 2 3456 7 89
01 2 3456 7 89
01 2 3456 7 89
0 12 3456 7 89
01 2 3456 7 89
for(int i=0;i<5;i++){
for(int j=0;j<10;j++){
System.out.print(j+"\t");
}
System.out.println(); //每打印完一组,换行
}
//例子 打印如下图形
**********
**********
**********
**********
for(int i=0;i<4;i++){
for(int j=0;j<10;j++){
System.out.print("*");
}
System.out.println();
}
//例子 打印如下图形
##########
#########
########
#######
######
#####
####
###
##
#
int count=10;
for (int i = 0; i <10; i++) {
for(int j=0;j<count;j++){
System.out.print("#");
}
count--;
System.out.println();
}
2 break 和 cuntinue
break 用于结束 switch case语句或循环语句//判断1=10000之间所有能被99整除的数是不是超过20个
int count=0;
for (int i = 0; i <10000; i++) {
if(i%99==0){
count++;
if(count>20){
System.out.println("报告:超过20个");
break; //用来结束循环
}
}
}
if(count<20){
System.out.println("报告:不超过20个");
}
//例子 本例演示的是break打断的是离自已最近的一层循环
for(int i=0;i<5;i++){
for(int j=0;j<10;j++){
System.out.print(j+" ");
if(j>6){
break; //打断的是离自已最近的那层循环
}
}
System.out.println();
}
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
//例子 标号的使用
AAA:for(int i=0;i<5;i++){
BBB:for(int j=0;j<10;j++){
System.out.print(j+" ");
if(j>6){
break AAA; //打断的是离自已最近的那层循环
}
}
System.out.println();
}
结果 0 1 2 3 4 5 6 7 后面就没有了,因为外循环也打断了
//例子 cuntinue 的使用
for (int i = 0; i < 1000; i++) {
if(i%5 !=0){
continue; //结束当前这次循环,继续下一次循环
}
System.out.println(i);
System.out.println("一年一班的小豆包们你们好");
}
3 函数
就是一段能独立运行的程序修饰符 返回类型 函数名(参数类型 参数名 ,参数类型 参数名 , ....) {
函数体
return 返回值
}
public static void main(String [] args) {
...
return; //可以省略
}
//例子,写一个函数,求两个数的合
class Test{
public static void main(String[] args) {
System.out.println("哈哈");
System.out.println("哈哈");
int a=888777; //这就是要传给函数实参
int b =99000;
add(a,b); //调用函数,并传参
System.out.println("哈哈");
System.out.println("哈哈");
}
//这就是一个能算加法的函数
static void add(int a,int b) { //a , b 是函数的形式参数
System.out.println(a+b);
}
}
//例子 计算加法,带有返回值的函数
public static void main(String[] args) {
System.out.println("哈哈");
System.out.println("哈哈");
int a=5000;
int b =3000;
int c =add(a,b);
System.out.println("计算结果是"+c);
System.out.println("哈哈");
System.out.println("哈哈");
}
static int add(int a,int b) { //这个函数,将会有一个int型的返回值 This method must return a result of type int
return a+b;
}
//例子 写一个函数,接收两个参数和一个计算符号,能根据符号进行计算,返回计算结果
class Test{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入第一个数:");
int a=scan.nextInt();
System.out.println("请输入第二个数");
int b=scan.nextInt();
System.out.println("请输入计算符号");
String c=scan.next(); //从键盘接收一个字符串
int result=jisuan(a,b,c.charAt(0));
System.out.println("计算结果是:"+result);
}
static int jisuan(int a ,int b, char c){
int result=0;
switch(c){
case '+':
result=a+b;
break;
case '-':
result=a-b;
break;
case '*':
result=a*b;
break;
case '/':
result=a/b;
break;
default :
System.out.println("输入错误:错误代码:99999");
result= -99999;
}
return result;
}
}
//例子 铺地板
##################
##################
##################
##################
##################
//方式一
class Test {
public static void main(String[] args) {
System.out.println("赶紧来个工人帮我干点活");
System.out.println();
pudiban();
System.out.println();
System.out.println("活干完了");
}
static void pudiban() {
for (int j = 0; j < 5; j++) {
for (int i = 0; i < 20; i++) {
System.out.print("#");
}
System.out.println();
}
}
}
//方式二 (带参数)
class Test {
public static void main(String[] args) {
System.out.println("赶紧来个工人帮我干点活");
System.out.println();
pudiban(5,10,"@");
pudiban(10,8,"$");
System.out.println();
System.out.println("活干完了");
}
static void pudiban(int row,int cols,String style) {
for (int j = 0; j < row; j++) {
for (int i = 0; i < cols; i++) {
System.out.print(style);
}
System.out.println();
}
}
}
//方式三 (带返回值)
class Test {
public static void main(String[] args) {
System.out.println("赶紧来个工人帮我干点活");
System.out.println();
pudiban(5,10,"@");
pudiban(10,8,"$");
float gongzi=pudiban(7,12,"%",2.99f);
System.out.println("应付工资"+gongzi);
System.out.println();
System.out.println("活干完了");
}
//这个函数,不带返回值
static void pudiban(int row,int cols,String style) {
for (int j = 0; j < row; j++) {
for (int i = 0; i < cols; i++) {
System.out.print(style);
}
System.out.println();
}
}
//这个函数,能计算工资并返回
static float pudiban(int row,int cols,String style,float money) {
for (int j = 0; j < row; j++) {
for (int i = 0; i < cols; i++) {
System.out.print(style);
}
System.out.println();
}
float 工资=row*cols*money;
return 工资;
}
}
4 函数的重载
在一个类中,可以存在名称相同, 但函数的参数的个数,或者是参数的类型不同,这样的函数可以同时存在称为函数的重载,函数是不是重载,不看返回值(和返回值没有关系)
以下函数哪个 void a (int a,char b, String c) 是的重载
void a(int x,char y,String z) //不是,和原函数相同
int a (int a,String b, char c) //是重载
void a (int a,String b, String c) //是重载
int a (int a,String b) //是
int a () //是
boolean a (int a,char b,String name) //不是,因为函数是不是重载和返回值无关