Java运算符、流程控制

本文详细介绍了Java中的各种运算符,包括算术、赋值、比较、逻辑和位运算符,并提供了实例演示。此外,还讲解了Java中的程序流程控制结构,如if-else、三元运算符、switch-case和循环结构(while、do-while、for),以及break和continue的使用。通过这些基础知识,读者可以更好地理解和掌握Java程序的逻辑控制。
摘要由CSDN通过智能技术生成

Java运算符、流程控制

运算符

  • 算术运算符
public class Demo1 {
	public static void main(String[] args) {
			//算术运算符 
			//+、-、*、/、%、++、--
			int x = 2046;
			x = x /100 * 100;
			System.out.println(x);//整数除法的结果只保留整数部分,舍弃小数部分
			System.out.println(6%5);//模运算	
			System.out.println(x++);//自增
			System.out.println(x--);//自减
	}
}
  • 赋值运算符
public class Demo2 {
	public static void main(String[] args) {
			//赋值运算符 
			//= , +=, -=, *=, /=, %=
			int a,b,c;
			a = b = c = 6;
			int x = 2046;
			x+=4;//等效于x = x + 4;
	}
}
  • 比较运算符和逻辑运算符
public class Demo3 {
	public static void main(String[] args) {
		//比较运算符的结果都是boolean型
		//==、!=、<、>、<=、>=
		int a,b,c=7;
		a = b = 6;
		System.out.println(a==b);//true
		System.out.println(a>=c);//false
		
		/*逻辑运算符用于连接boolean类型的表达式。	
		true & true = true;
		true & false = false;
		false & true = false;
		false & false = false;
		只要两边的boolean表达式结果,有一个为false。那么结果就是false。只有两边都为true,结果为true。
		*/
		int x = 8;
		System.out.println(x>3&x<6);//false
				/*
		true | true = true;
		true | false = true;
		false | true = true;
		false | false = false;
		两边只要有一个为true,结果为true。只有两边都有false,结果为false。
		*/
		System.out.println(x>3|x<6);

		/*
		true ^ true = false;
		true ^ false = true;
		false ^ true = true;
		false ^ false = false;
		两边相同结果是false。两边不同结果是true。
		*/
		System.out.println(x>3^x<6);
		/*“&”和“&&”的区别:	
		&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。“|”和“||”的区别类似,左边为真,右边不参与运算。
        */
	}
}
位运算符
运算符运算例子运算规则
<<左移4<<2=16空位补0,被移除的高位丢弃
>>右移4>>2=1被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1
>>>无符号右移4>>>2=1被移位二进制最高位无论是0或者是1,空缺位都用0补
&与运算4&2=0二进制位进行&运算,只有1&1时结果是1,否则是0
|或运算4|2=6二进制位进行 | 运算,只有0 | 0时结果是0,否则是1
^异或运算4^2=6任何相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 进行^ 运算结果是1。1^0=1 , 0^1=1
~反码~4=-5正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

程序流程控制

  • 判断结构
  1. if(条件表达式){
     执行语句;
    }
  2. if(条件表达式){
     执行语句;
    }
    else{
     执行语句;
    }
  3. if(条件表达式){
     执行语句;
    }
    else if (条件表达式){
     执行语句;
    }

    else{
     执行语句;
    }
  • 三元运算符
    (条件表达式)?表达式1:表达式2;
    如果条件为true,运算后的结果是表达式1;
    如果条件为false,运算后的结果是表达式2;
class IfDemo 
{
	public static void main(String[] args) 
	{
		int x = 10;

		if(x>10)
		{
			System.out.println("x>10");
		}
		else
		{
			System.out.println("x<=10");
		}
		
		/*
		if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;
		
		*/
		int a = 9,b;
		b = (a>10)?100:200;

		if(a>10){
			b = 100;
		}
		else{
			b = 200;
		}


		int n = 4;

		if(n>1)
			System.out.println("a");
		else if(n>2)
			System.out.println("b");
		else if(n>3)
			System.out.println("c");
		else
			System.out.println("d");
	}
}

  • 选择结构
    switch(表达式){
     case 取值1:
      执行语句;
      break;
     case 取值2:
      执行语句;
      break;
     …
     default:
      执行语句;
      break;
    }
    (switch语句选择的类型只有四种:byte,short,int , char)
class SwitchDemo 
{
	public static void main(String[] args) 
	{
		int a=4,b =2;
		char ch = '-';

		switch(ch){
			case '-':
				System.out.println(a-b);
				break;
			case '+':
				System.out.println(a+b);
				break;
			case '*':
				System.out.println(a*b);
				break;
			case '/':
				System.out.println(a/b);
				break;
			default:
				System.out.println("error");
		}
	}
}

  • 循环结构
    while方式:
     while(条件表达式){
       执行语句;
     }

  do while方式:
   do{
    执行语句;
   }while(条件表达式)
(无论条件是否满足,循环体至少被执行一次)

  for方式:
   for(初始化表达式;循环条件表达式;循环后的操作表达式){
    执行语句;
   }
(最简单无限循环格式:while(true) , for( ; ; ),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环)

class CycleDemo 
{
	public static void main(String[] args) 
	{
		int i = 10;
        while(i > 0){            
    		if(i==8){
    			i--;
    			continue;//跳出本次循环
			}
	   		System.out.println(--i);
	    	if(i==5) break;//结束循环
		}
        System.out.println(i);
        
        do{
            System.out.println(i++);
        }while(i < 8 );
        
        
        for (;; --i){//也是无限循环
            if (i==5)continue;                    
            System.out.println("m = " + i);
        }		
}

  • break(跳出),continue(继续)
    break:跳出整个循环
    continue:结束本次循环继续下次循环
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值