Java基础(二)

运算符和表达式

与C语言中的运算符大致类似,以下为一些特殊情况

1.运算符
  • 逻辑运算符的短路:因逻辑运算符的特点决定

    // && 的短路:当第一个操作数值为false时,不再去运算第二个操作数
    int x = 0, y = 0;
    if(x!= 0 && (1 / x > (x + y)){
    		System.out.println("if分支");
    	}else {
    		System.out.println("else分支");
    	}
    		
    // || 的短路:第一个操作数是true时,不运算第二个操作数
        boolean bo1 = x != 0 || x ++ > y;
    	System.out.println(x);
    	System.out.println("bo1");
    
  • ‘+’、‘-’ 可为正负号

    int x = 0, y = 10;
    int add = x + -y;
    System.out.println(add); // -10;
    
  • 两种右移

    /* 
     * >>有符号右移:高位要补符号位
     * >>>无符号右移:高位不补符号位
     */
    int i = -1;
    System.out.println(i >> 1);
    System.out.println(i >>> 1);
    
2.表达式
  • 概念:符合一定语法规则的运算符和操作数的序列
  • 类型与值:
    • 类型:表达式的数据类型
    • 值:操作进行运算得到的结果
3.类型转换
  • 数据类型按容量大小排序(隐式)

    byte→ short→ (char)→ int→long→float→ double。

    byte,short, char之间不会相互转换,他们三者在计算时首先转换为 int 类型。

  • 逆顺序的需要借助强制类型转换

在这里插入图片描述

三种类型

顺序流程

顺序流程是按照语句顺序依次执行一系列语句(或语句块)。顺序流程是最基本的控制流程。

分支流程
1. if…else分支
  • 基本语法:

    if ( 条件表达式 ) {
    	//条件为真时执行  
    	语句块1 
    } else {
    	//条件为假时执行
    	语句块2
    }
    
    if(c == '+')
        System.out.println(a + b);
    else if(c == '-')
        System.out.println(a - b);
    else if(c == '*')
        System.out.println(a * b);
    else
        System.out.println(a / b);
    
2. switch–case分支
  • 基本语法

    基本语法:
    switch ( 表达式 ) {
    	case constant1:
    	语句;
    	break;
    	case constant2:
    	语句;
    	break;
    	default:
    	语句;	
    	break;
    }
    
  • switch 后允许的表达式类型:String/char/byte/short/byte或枚举类型

    Scanner sc = new Scanner(System.in);
    System.out.printf("输入成绩的等级");
    String grade = sc.nextLine();
    switch(grade){
        case "A":
            System.out.println("你的成绩在90-100之间");
        case "B":
            System.out.println("你的成绩在80-90之间");
    }
    
循环流程

循环语句是根据条件,要求程序反复执行某些操作。

1. for 循环
  • 当循环变量在指定范围内变化时,重复执行循环体,直到循环变量超出了指定的范围时退出。

  • 基本语法

    for( 初始化表达式; 终止条件表达式; 更新表达式 ) {
    循环体
     }
    
  • 注意:初始化表达式中的变量必须声明并赋值。终止条件表达式的值必须为布尔值。

    for(int i = 15; i >= 10; i --) {
        for(int k = 0; k < 15 - i; k ++){
            System.out.print("          ");
        }
        for(int j = 10; j <= i; j ++){
            System.out.printf("%d*%d=%d ", i, j, i * j);
        }
        System.out.println();
    }
    
2. while循环
  • 当条件满足时进入,重复执行循环体,直到条件不满足时退出。

  • 基本语法

    while( 循环条件表达式 ) {
    	循环体
    }
    
    while(n != 0){
        System.out.println(n);
        n --;
    }
    
3. do…while循环
  • 无条件进入,执行一次循环体后判断是否满足条件,当条件满足时重复执行循环体,直到条件不满足时退出

  • 基本语法:

    do {
     循环体
     } while ( 循环条件表达式 );
    
    
     do {
         s += n * ( n + 1 ) ;
         n = n + 1 ;
     } while ( s < totalNum ) ;
    
4.加强 for 循环
  • Java提供了一个更为简洁的循环语句,用于数组或者集合的遍历。

  • 基本语法

    for ( 类型 变量名: 数组或集合 ) {
    	循环体
    }
    
     int[] nums = {10, 20, 30, 40, 50};
    for(int i : nums){
        System.out.println(i);
    }
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值