01基础语言

1.程序结构

1)分支结构

  • if…else if结构:多条路
  • switch…case结构:多条路
    优点:效率高、结构清晰
    缺点:只能对整数判断相等
    break:跳出switch

2)循环结构

反复多次执行一段相同或相似的代码:

  • for结构:应用率最高,与次数相关的循环
  • while:先判断后执行,有可能一次都不执行
  • do…while:先执行后判断,至少执行一次循环:

循环三要素

1.循环变量的初始化

2.循环的条件(以循环变量为基础)

3.循环变量的改变(向着循环的结束变)

循环变量:在整个循环过程中所反复改变的那个数

嵌套循环

  • 循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列
  • 执行规则:外层循环走一次,内层循环走所有次
  • 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层
  • break只能跳出当前层循环

三种循环结构如何选择:

  • 先看循环是否与次数相关:

    相关用for
    无关,再看要素1与要素3的代码是否相同:若相同用do…while,若不同用while

循环中的关键字

		break:跳出循环-------------可以用在switch和循环中
		continue:跳过循环体中剩余语句而进入下一次循环-----------只能用在循环中

2.练习

1)分支结构:

  • 输入年月,判断当月有多少天?

这里用三目运算符:Boolean?表达式:表达式 代替if…else
代码如下:

import java.util.Scanner;

public class DateTime {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("请输入年份:");   
        int year = scanner.nextInt();
        
        System.out.println("请输入月份:");
        int month = scanner.nextInt();
        
        System.out.println(month==2? (year%4==0? 29:28):(month<8? (month%2==0? 30:31):(month%2==0? 31:30)));
    }

}

2)循环:

  • 如图,根据输入的行数,打印字符*组成的等腰三角形。6行输出结果如下:
        *
       ***
      *****
     *******
    *********
   ***********

代码如下:

import java.util.Scanner;

public class Star {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入星星行数:");
        int n = scanner.nextInt();
        for(int i=0;i<n;i++){
            for(int j=0;j<2*n-1;j++){
                //if...else结构
//                if(j>n-i-2&&j<n+i){
//                    System.out.print("*");
//                }
//                else{
//                    System.out.print(" ");
//                }
                //三目运算符结构
                System.out.print(j>n-i-2&&j<n+i?"*":" ");
            }
            System.out.println();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值