深入讲解Java中的流程控制与运算符

所属分类: 软件编程 / java 阅读数: 46
收藏 0 赞 0 分享

Java流程控制
Java流程控制的语法与 C/C++ 类似,也有 if...else、while、do...while、for、switch...case等,这里不再讲述具体语法,仅举例说明。

输出九九乘法表(右上三角):

public class Demo {
  public static void main(String[] args){
    int i, j;
    for(i=1; i<=9; i++){
      for(j=1; j<=9; j++){
        if(j<i){
          //打印八个空格,去掉空格就是左上三角形
          System.out.print("    ");
        }else{
          System.out.printf("%d*%d=%2d ", i, j, i*j);
        }
      }
      System.out.print("\n"); 
    }
  }
}

运行结果:

1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 1*6= 6 1*7= 7 1*8= 8 1*9= 9 
    2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 
        3*3= 9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 
            4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 
                5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 
                    6*6=36 6*7=42 6*8=48 6*9=54 
                        7*7=49 7*8=56 7*9=63 
                            8*8=64 8*9=72 
                                9*9=81


Java中也有 printf() 语句,用来控制输出格式,不过实际开发中不常用,因为输出到控制台的数据很少要求严格的格式,一般 println() 和 print() 就够了。

println() 输出内容后换行,print() 不换行。

又如,求某一年的某一月有多少天:

import java.util.*;
public class Demo {
  public static void main(String[] args){
    int days = 0;
    // 获取用户输入
    Scanner sc = new Scanner(System.in);
    System.out.print("输入年份:");
    int year = sc.nextInt();
    System.out.print("输入月份:");
    int month = sc.nextInt();
    
    switch(month){
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
        days=31;
        break;
      case 4:
      case 6:
      case 9:
      case 11:
        days=30;
        break;
      case 2:
        // 判断闰年
        if(year%4==0 && year%100!=0 || year%400==0)
          days=29;
        else
          days=28;
        break;
      default:
        System.out.println("月份输入错误!");
        System.exit(0); // 强制结束程序
    }
    System.out.printf("天数:%d\n", days);
  }
}

运行结果:

输入年份:2014
输入月份:02
天数:28

Java中没有像C语言中的scanf()语句,从控制台获取输入有点麻烦,我推荐使用 Scanner 类,具体语法请大家自行查看API。

Java运算符
Java中的运算符和C/C++相差无几。
数学运算符

数学运算,结果为一个数值。见下表:

关系运算符

关系运算符,结果为一个布尔值。见下表:

位运算符

位运算符对整数的二进制形式逐位进行逻辑运算,得到一个整数。见下表:

条件运算符

Java中也有一个条件运算符(三目运算符):

  condition ? x1 : x2


condition为一个boolean值。根据condition,取x1或x2的值。

下面是关于运算符的一个综合举例:

public class Demo {
  public static void main(String[] args){
    int a=10;
    int b=10;
    
    int x=10;
    int y=21;
    int z=10;
    
    System.out.println("后自加 a=" + (a++));
    System.out.println("a的值 a=" + a);
    System.out.println("前自加 b=" + (++b));
    
    System.out.println("---------------------");
    System.out.println("说 x>y,对吗?" + (x>y));
    System.out.println("认为 x>y 并且 x<y,对吗?" + ( (x>y) && (x<y) ));
    System.out.println("认为 x>=y 或者 x==y,对吗?" + ( (x>=y) || (x==y) ));
    System.out.println("认为 x<y 或者 x=z,对吗?" + ( (x<y) || (x==z) ));
    System.out.println("---------------------");
    System.out.println("a&x 的结果是:" + (a&x));
    System.out.println("a|x 的结果是:" + (a|x));
    System.out.println("y^z 的结果是:" + (y^z));
    
    System.out.println("---------------------");
    System.out.println("a 左移2位的结果是:" + (a<<2));
    System.out.println("y 右移3位的结果是:" + (y>>3));
  }
}

运行结果:

后自加 a=10
a的值 a=11
前自加 b=11
---------------------
说 x>y,对吗?false
认为 x>y 并且 x<y,对吗?false
认为 x>=y 或者 x==y,对吗?false
认为 x<y 或者 x=z,对吗?true
---------------------
a&x 的结果是:10
a|x 的结果是:11
y^z 的结果是:31
---------------------
a 左移2位的结果是:44
y 右移3位的结果是:2

更多精彩内容其他人还在看

Springmvc restful配置遇到的小坑

本文是小编给大家带了的Springmvc restful配置遇到的小小坑,小编给大家带来了问题原因及解决办法,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
收藏 0 赞 0 分享

Java中的匿名内部类小结

java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类。这篇文章主要介绍了Java中的匿名内部类的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java的云打印Lodop

这篇文章主要介绍了Java的云打印Lodop 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java线程池框架核心代码解析

这篇文章主要针对Java线程池框架核心代码进行详细解析,分析Java线程池框架的实现ThreadPoolExecutor,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java 交换两个变量的数值实现方法

下面小编就为大家带来一篇Java 交换两个变量的数值实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

全面了解JAVA_BaseDAO数据处理类

下面小编就为大家带来一篇全面了解JAVA_BaseDAO数据处理类。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java、python、JavaScript以及jquery循环语句的区别

本篇文章主要介绍java、python、JavaScript以及jquery的循环语句的区别,这里整理了它们循环语句语法跟示例,以便大家阅读,更好的区分它们的不同
收藏 0 赞 0 分享

基于JDBC封装的BaseDao(实例代码)

下面小编就为大家带来一篇基于JDBC封装的BaseDao(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

简单通用JDBC辅助类封装(实例)

下面小编就为大家带来一篇简单通用JDBC辅助类封装(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈java线程中生产者与消费者的问题

下面小编就为大家带来一篇浅谈java线程中生产者与消费者的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多