Day6 1for 2死循环 无限循环 3方法 4代码优化

是for

while(){  //先判断条件,true再执行循环体(有可能一次都不会执行)

do{

}while(); //先执行一边循环体,再判断条件,true再执行循环体(至少会执行一遍)

import java.util.Scanner;
public class Demo1 {
 public static void main(String[] args) {
 for(int i=1;i<=10;i++){
 System.out.print(i+" ");
 }
// System.out.println(i);//在 for 循环之后,循环中的 i 会被及时释放内存
 System.out.println();
 System.out.println("------------");
 int num=1;
 while(num<=10){
 System.out.print(num+",");
 num++;
 }
 System.out.println();
 System.out.println(num);//while 循环用过的 num 是可以继续使用的,如果你有需要继续使用
循环的初始化变量的时候,选择 while 循环
 } }

死循环  无限循环

public class Demo1 {
 public static void main(String[] args) {
 if(true) {
 System.out.print(1);
 }
// for(;;){
// System.out.println(2);
// }
// System.out.println("死循环之后的程序没法到达");//开发中一定要避免出现死循环。程序员开发
的禁忌
 } }
import java.util.Scanner;
public class Demo1 {
 public static void main(String[] args) {
 Scanner sc = new Scanner(System.in);
 int a =sc.nextInt();//用户在操作的时候,输入的信息,构成了死循环
 if(a!=1000) { //解决:避免用户输入 1000
 while (a == 1000) {
 System.out.print(1);
 }
 }
// for(;;){
// System.out.println(2);
// }
// System.out.println("死循环之后的程序没法到达");//开发中一定要避免出现死循环。程序员开发
的禁忌
 } }

while(true){

}

七.  循环控制语句

break;  中断循环

continue; 继续循环 (中止本次循环,继续下一次循环)

return; 它的作用不是结束循环的,而是结束方法的

案例:请输出4行5列图案

    *****

    *****

    *****

    *****

public class Demo1 {
 public static void main(String[] args) {
 for(int j=0;j<5;j++) { //外层循环,控制重复执行下面的五次
 //是输出一行五个*,把这里看作一个整体
 for (int i = 0; i < 5; i++) {
 System.out.print("*");
 }
 System.out.println();//输出换行
 }
 } }

需求:请输出正三角形

    *      //第1行 1个

    **     //第2行 2个

    ***    //第x行 x个

    ****

    *****

方法一:
public class Demo1 {
 public static void main(String[] args) {
 int n=1;//控制每行输出的个数
 for(int j=0;j<5;j++) { //外层循环,控制重复执行下面的五次
 //是输出一行五个*,把这里看作一个整体
 for (int i = 0; i < n; i++) {
 System.out.print("*");
 }
 System.out.println();//输出换行
 n++;//放在外层循环中
 }
 } }
方法二
public class Demo1 {
 public static void main(String[] args) {
 for(int j=1;j<=5;j++) { //外层循环,控制重复执行下面的五次
 //是输出一行五个*,把这里看作一个整体
 for (int i = 0; i <j; i++) { //j 整合记录的行数,每行*的个数=行数
 System.out.print("*");
 }
 System.out.println();//输出换行
 }

●Java 语言基础(方法)
A: 为什么要有方法
提高代码的复用性
B: 什么是方法
完成特定功能的代码块。
C: 方法的格式 修饰符 返回值类型 方法名 ( 参数类型 参数名 1, 参数类型 参数名 2...) {
方法体语句 ;
return 返回值 ;
}

修饰符  返回值类型  方法名(参数类型 参数名1,参数类型 参数名2...) {

    方法体语句;

     return 返回值;

}

最简单的

public static void 方法名(){

}

带参的方法

public static void 方法名(参数){

}

带返回值的方法

public static 返回值的数据类型 方法名(参数){

    return 值;

}

public class Demo1 {
    public static void main(String[] args) {
   /*     while(true){
            System.out.println("123");
        }*/
     /*   for ( ; ;) {
            System.out.println("123");
        }*/
        //1. break;  中断循环
        //输入1-10的数字
      /*  int i =1;
        while(true){
            System.out.println(i);
            if(i==10){
                break;
            }
            i++;
        }*/

      //2. continue继续
        for (int i = 1; i <= 10; i++) {
            if(i==4){
                continue;//结束本次循环(continue后面的代码不执行),继续下一轮循环
            }
            System.out.println(i);
        }
        System.out.println("程序结束");

    }
public class Demo2 {

    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if(i==4){
             /*   break;//结束当前循环*/
                continue;
             //   return;//结束当前的方法
            }
            System.out.println(i);
        }
        System.out.println("程序结束");
    }
}
public class Demo2_1 {

    //主方法main方法  程序入口   完成整个项目的功能
    //可以把一些模块分出去  自定义方法

    //方法:  能够完成某个功能的独立的代码块
    //为什么要去创建单独的方法呢?
    //1. 项目模块清晰,方便管理 维护 找错
    //2. 方法可以反复调用的,提高代码的复用性

    //怎么写方法
    public static void main(String[] args) {
        //调用方法  根据方法名
        qiantai();
        chushi("小龙虾",5);//实际的参数  实参
        chushi("烧烤",10);
/*        qiantai();
        qiantai();*/
    }

    //写一个自己的方法   方法命名
    public static void qiantai(){
        System.out.println("收快递");
        System.out.println("办理入职");
        System.out.println("接待");
    }

    //厨师  做任何一道菜  需要你告诉我菜名 括号中的参数
    //形参 String cai   参数类型  参数名
    public static void chushi(String cai,int jin){
        System.out.println("做了"+jin+"斤"+cai);
    }

public class Demo2_2 {

    public static void main(String[] args) {
        int sheng = waimai(100,10);//只要方法有返回值,通过变量来接收这个值
        //剩下的钱去买东西
        sheng = waimai(sheng  ,50);
        System.out.println("main:"+sheng);
    }
    //买东西  钱 money,  买的这个东西的价格price
    public static int waimai(int money,int price){
        int sheng = money;
        //判断
        if(money >= price){
            sheng = sheng - price;
            System.out.println("购买成功,还剩:"+sheng);
        }else{
            System.out.println("不够");
        }
        //最后返回一个值  一旦写了返回值return  ,void就要修改成对应的数据类型
        return sheng;
    }
}
public class Demo3 {

    public static void main(String[] args) {
        //循环嵌套  看5遍视频,每看一遍玩3局游戏
        //特点:外循环每执行一次,内循环全部执行完,再继续下一轮外循环
        for (int i = 1; i <= 5; i++) {
            System.out.println("看了"+i+"次视频");
            for (int j = 1; j <=3 ; j++) {
                System.out.println("-----玩了"+j+"局游戏-----");
            }
        }

    }
}
public class Demo5 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        // 输入 5个学生的分数(整数),每个学生有3门课程
        //求  和以及平均值
        int sum = 0;//和
        for (int i = 1; i <= 5 ; i++) {
            for (int j = 1; j <= 3 ; j++) {
                System.out.println("第"+i+"个学生,录入第"+j+"门课程分数:");
                int score = sc.nextInt();
                //2累加
                sum = sum + score;
            }
            //录完3个成绩,输出和的结果以及平均值
            System.out.println("这个学生的总和是"+sum+",平均分:"+sum/3);
            //在这个学生的数据统计完之后,sum 重置0
           //sum = 0;
        }


    }
}

public class Work1 {
    public static void main(String[] args) {
        //分别输入月份和天。利用循环计算出该日期是这一年的第几天(先不考虑闰年,默认2月固定为28天)
        Scanner sc = new Scanner(System.in);
        System.out.println("输入月");
        int month = sc.nextInt();
        System.out.println("输入日");
        int day = sc.nextInt();
        //  7 月10日  (前面6个月  30 *6 都是满的   单独+10)
        int sum = 0;
        for (int i = 1; i <= month-1 ; i++) {//i 目前的月份
            //判断这个月共有多少天
            if(i == 1 || i==3||i==5||i==7||i==8||i==10||i==12){
                sum = sum +31;
            }else if(i == 2){
                sum = sum+28;
            }else if(i == 4 || i==6||i==9||i==11){
                sum = sum +30;
            }
        }
        System.out.println(sum+ day);
    }
}
public class Work2 {

    public static void main(String[] args) {
        //一只青蛙掉进了一个50米的井里,青蛙每天早上爬7米,到了晚上就掉下来3米,
        // 问青蛙需要第几天才能爬出井里。(答案是12天)
        int gao = 0;//目前站的这个高度
        int day = 0;//统计当前是第几天  根据循环的次数
        while(true){ //搭配break中断循环  如果高度>=50  break
            gao += 7;
            day ++;//加一天
            //判断   有没有爬出去
            if(gao >= 50){
                System.out.println("爬出去了");
                break;//把循环结束
            }
            gao -=3;
        }
        System.out.println("day:"+day);

        //案例1、 山上有一口缸可以装50升水,现在有15升水,老和尚叫小和尚下山挑水,
        //每次可以挑5升,晚上蒸发掉一升、。 问:小和尚要挑几次水才可以把水缸挑满,编程实现
    }
}
B:代码优化
• 注意:
• '\x' x 表示任意,\是转义符号,这种做法叫转移字符。
• '\t' tab 键的位置 (单引号,双引号都可以)
• '\r' 回车
• '\n' 换行
• '\"'
• '\''

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值