java学习——java基础(2)基础语法

一、流程控制

在java中程序的执行通常包含三种结构:

  1. 顺序结构(从main方法开始,从上往下依次执行);
  2. 分支结构(①if···else··· ;②switch)
  3. 循环结构

二、分支结构

1.if···else···

 if(条件表达式){
   //执行体
 }

 if(条件表达式){
   //执行体
 }else{
   //执行体
 }
 ········

2.switch

switch(变量){
 case1:
   //执行体
 break;  
 case2:
   //执行体
 break;
 case3:
   //执行体
 break;
 ·······
 default:
   //执行体
   break;
}

注意
switch能够支持的变量数据类型包含:
jdk1.7 新增支持String类型
jdk1.5 新增支持enum(枚举)类型
jdk1.5以下支持:byte、short、int、char

代码示例:

 //if···else···
 //学生成绩60输出及格,80输出优秀,100输出满分
 int score = 75;
 if( score >= 0 && score < 60){
  System.out.println("不及格")
 }else if( score >= 60 && score < 80){
  System.out.println("及格")
 }else if( score >= 80 && score < 99){
  System.out.println("优秀")
 }else if(score == 100){
   System.out.println("满分")
 }

//switch
//int 值 1:吃饭;2:运动 ;3:学习 ;默认:睡觉
int code ;
switch(code){
  case 1:
    System.out.println("吃饭");
  break;  
  case 2:
    System.out.println("运动");
  break; 
  case 3:
    System.out.println("学习");
  break;

  default :
   System.out.println("睡觉"); 
}

三、循环语句

  • for循环
  • while循环
  • do···while循环
  • forEach循环(增强for循环,主要用于数组或者集合遍历(迭代)操作)
  • 递归(recursion)

1.for循环

for(初始变量;条件表达式;步进表达式){
  //循环体
}

*例题:从1输出带31,每隔7个数换一行

for(int i = 1;i <= 31;i++){
  //"\t" : 相当于tab。缩进
  System.out.println( i + "\t");
  if(i % 7 == 0){
    //换行
    System.out.println();
  }
}

*例题:打印菱形

public static void lingxing(int n){
  //打印上半部分
  for(int i = 1;i <= n; i++){
     for(int j = n;j > i ; j--){
       //打印空格
       System.out.println(" ");
     }
     //每行*数:二倍行数减一
     for(int k = 0; K = 2 * i - 1;k++){
       //打印*
       System.out.println("*");
     }
     //换行
     System.out.println();
  }
  //打印下半部分
  for(int i = 1;i<= n ;i++){
    for(int j = 1;j <= i; j++){
      System.out.println(" ");
    }
    for(int k = (n - i)*2-1;k > 0;k--){
       System.out.println("*");
    }
    System.out.println();
  }
}

2.while循环

//while语法:
while(条件表达式){
   //循环体
}

*例题:用while语句写从1输出到31;每隔7个数换一行

 int i = 1;
 while(i <= 31){
     System.out.println(i + "\t");
     if(i % 7 ==0){
        System.out.println();
     }
     i++;
 }

3.do···while···循环

//do···while···语法
do{
  //执行体
}while(条件表达式)

*例题:用do···while···语句写从1输出到31;每隔7个数换一行

int i = 0;
do{
  System.out.println(i + "\t");
  if(i % 7 == 0){
     System.out.println();
  }
  i
  i++;
}while(i <= 31);

4.forEach循环

//把s在names中遍历一遍
 for(String s:names){
   System.out.println(s);
 }

5.递归
递归即在方法内部调用方法自身,递归可以解决一些算法问题(斐波那契数列),文件夹遍历(目录树),菜单树等,在java中有两种模式:直接递归与间接递归。

*例题:使用递归解决斐波那契数列(1,1,2,3,5,8,13,21····)

  /**
     * 输出50个斐波那契数
     * @param args
     */
    public static void main(String[] args) {
        for (int i = 1; i <= 7; i++) {

            int  l = new ArrayDemo1().fib(i);

            System.out.print(l+",");
        }

    }

    private int fib(int n) {
        if (n == 1 || n == 2){
            return 1;
        }
        else{
            return fib(n-1) + fib(n-2);
        }
    }

*例题:递归完成1 * 2 * 3 * 4 * 5 ····

     /**
     * 使用递归输出1*2*3*4*···n
     * @param args
     */
    public static void main(String[] args) {
        for (int i = 1; i < 10 ; i++) {
            int u = new ArrayDemo2().cale(i);
            System.out.println(u);
        }
    }
    public int cale (int n){
        if (n == 1){
            return  1;
        }else{
            return n * cale(n-1);
        }
    }

四、打断循环

  • continue:跳出循环语句中一次循环;
  • break:在循环语句中可以用于结束一层循环;
  • return:用于表示方法的结束,一旦执行到return,则方法结束,在同一个代码片段在return之后不允许执行任何其他代码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值