运算符-if语句-switch语句-循环语句-continue/break语句

一、java中的运算符

        1.赋值运算符 =
        2.算数运算符【+   -   *   /   %(求余)   ++(自动加1)    --(自动减1)】
        3.比较运算符【>   <    >=   <=  ==   !=】
        4.逻辑运算符【||  &&  (位运算符  |   $   !  ~   ^  >>   <<)】
         (位运算符  |   $   !  ~   ^  >>   <<)
        位运算符需要将数据转换成2进制【00101010】数据进行运算
        掌握10进制转2进制:短除法[笨] 8421转化法
                                1024  512  256  128  64  32  16  8  4   2   1
        7=4+2+1——      0       0       0      0    0    0     0  0   1   1   1  ---00000111
        13=8+4+1——    0       0       0      0    0    0     0  1   1   0   1  ---00001101
        负数的2进制:实质上补码表示
                正数的补码是本身
                负数的补码是反码+1
        反码的表示方法是:
                正数的反码是其本身【原码】
                负数的反码是在其原码的基础上,符号位不变,其余各个位取反
                负数的原码就是把它正数的原码第一位变为1其余位不变
        原码就是符号位加上真值的绝对值,即用第一位表示符号,其余为表示值
        例如: -7的2进制-- 7的[00000111]-- [-7的原码10000111]-- [-7的反码11111000]-- [-7d的补码11111001]

例如: 

public class YunSuanFu{
	public static void main(String args[]){
		//算术运算符【+ - * / %{求余} ++{自动加1}  --{自动减1}】
		//++(自动加1)
		int num1=10;
		//打印结果为10原因是在后面++是先用后加
		System.out.println(",++"+ (num1++));//10
		System.out.println(num1);//11
		//++在前面时表示先后用这里是12的结果因为上面num1已经加了1
		System.out.println("++,"+ (++num1));//12
		System.out.println(num1);//12
		// --(自动减1)
		int num2=10;
		//打印结果为10原因是在后面--是先用后加
		System.out.println(",--"+ (num2--));//10
		System.out.println(num2);//9
		//--在前面时表示先后用这里是8的结果因为上面num1已经减了1
		System.out.println("--,"+ (--num2));//8
		System.out.println(num2);//8

		//比较运算符   【>  <  >=  <=  ==  !=】 返回的结果是Boolean类型	
		int a=10;
		int b=15;
		System.out.println("(a>b):"+ (a>b));//false
		System.out.println("(a<b):"+ (a<b));//true
		System.out.println("(a!=b):"+ (a!=b));//true
		System.out.println("(a==b):"+ (a==b));//false
		
		//逻辑运算符【||  &&  !】返回的结果是Boolean类型
		int int1=10;
		int int2=15;
		// 或||有一个满足就是true
		System.out.println("(int1>int2 || int1>9):"+ (int1>int2 || int1>9));//true
		// 与&&有一个不满足则false
		System.out.println("(int1>int2 && int1>9):"+ (int1>int2&&a>9));//false
		System.out.println("(int1<int2 && int1>=10):"+ (int1<int2&&int1>9));//true
		//反!
		System.out.println("(!int1>int2):"+ !(int1>int2));//true
		//【位运算符  |  &  !  ~  ^  >>  << 】
		byte byte1=7;
		byte byte2=-7;
		/*
		|按位或 相同位只要一个为1即为1【7 | -7】 【01--1  10--1  11-1】
		7的补码:00000111
		-7的补码:11111001
	     两个按位或:11111111转为10进制就是-1
		*/
		System.out.println(byte1 | byte2);//-1
		/*
		&按位与 相同1为1,不同为0。【7 & -7】【11--1  00--1  01-0  10-0】
		7的补码:00000111
		-7的补码:11111001
	    两个按位与:00000001转为10进制就是1
		*/
		System.out.println(byte1 & byte2);//1
		/*
		^ 按位异或 相同位不同则为1,相同则为0。【7 ^ -7】【01--1  10--1 11--0 00--0】
		7的补码:00000111
	      -7的补码:11111001
	    两个按位与:11111110转为10进制就是-2
		*/
		System.out.println(byte1 ^ byte2);//-2
		
		//三元运算符【(判断)? 数据值1:数据值2】
		/*
		先判断,判断结果为true,整运算表达式的结果取数据值1
		判断结果为false,整运算表达式的结果取数据值2
		*/
		System.out.println((int1>int2) ? "True":"False");//false
	}
}

二、java中的语句 

1.顺序结构 【写好的代码从上往下一行一行的逐个执行】

2.选择结构【if语句  switch语句】
例如:if语句

public class IfYuJu{
	public static void main(String args[]){
		/*
		if(判断){java代码}结构
		执行过程:先判断为true,执行Java代码
				  为false,不执行
		*/
		int a=10;
		if(a>=10){
			System.out.println("执行的代码");
		}
		
		/*
		if(判断1){
			代码1;
		}else{
			代码2;
			}
		执行过程:先判断1为true时,执行代码1
				   为false时,执行代码2
		*/
		if(a<10){
			System.out.println("执行的代码1");
		}else{
			System.out.println("执行的代码2");
		 }

		/*
		if(判断1){
			代码1;
		}else if(判断2){
			代码2;
		 }else{
			代码3;
		 }
		执行过程:先判断1为true则执行代码1
				   为false到判断2为true,则执行代码2
						    为false执行最后的代码
		*/
		int chengji=62;
		if(chengji>=85){
			System.out.println("优秀");
		}else if(chengji>=75){
			System.out.println("良好");
		}else if(chengji>=60){
			System.out.println("及格");
		}else if(chengji>0){
		  	System.out.println("不及格");
		}else{
			System.out.println("成绩输入有误");
		 }
		
		/*
		if(判断1){
			if(判断2){
				代码1;
			}else{
				代码2;
			}
		}else{
			if(判断2){
				代码3;
			}else{
				代码4;
			}
		}
		执行过程:先判断1位true时,判断2为true则执行代码1
						     为false到判断3为true则执行代码2
						     当判断3位false则到最后的代码3
		*/
		if(chengji>=60){
			if(chengji>=85){
				System.out.println("优秀");
			}else if(chengji>=75){
				System.out.println("良好");
			}else{
				System.out.println("及格");
			}
		}else{
			if(chengji>=0){
				System.out.println("不及格");
			}else{
				System.out.println("输入成绩有误");
			}
		}
	}
}

例如switch语句:
        switch(匹配值){
                  case  常量值1: java代码1;[break;]
                  case  常量值2: java代码2;[break;]
                  case  常量值3: java代码3;[break;]
                   ......
                   case  常量值n: java代码n;[break;]
                   default:java代码;[break;]
        }
        执行过程:先执行表达式,表达式的结果与case后面的常量值匹配,
                              如果匹配结果相等,执行对应case后面的java代码,
                              如果有break就结束switch语句的执行。
                          如果没有break,那么执行下一个case对应的java代码,直到有break,结束
                        表达式的结果与所有case后面的常量值都不匹配,那么执行default后面的代码。
                注意1:表达式的类型可以是 byte、short、char、int、long、String[jdk8.0],枚举
                注意2:有没有break,有break就结束执行,
                             没有break执行下一个case对应的java代码,直到有break停止。

public class SwitchYuJu{
	public static void main(String args[]){
		//switch语句
		/*
		switch(表达式){
	   	   	case  常量值1: java代码1;[break;]
	      		case  常量值2: java代码2;[break;]
        		case  常量值3: java代码3;[break;]
           		......
         		case  常量值n: java代码n;[break;]
         	default:java代码;[break;]
		}
		执行过程:先执行表达式,表达式的结果与case后面的常量值匹配,
			如果匹配结果相等,执行对应case后面的java代码,
			  如果有break就结束switch语句的执行。
		    	  如果没有break,那么执行下一个case对应的java代码,直到有break,结束
		表达式的结果与所有case后面的常量值都不匹配,那么执行default后面的代码
		注意1:表达式的类型可以是											byte、short、char、int、long、String[jdk8.0],枚举
		注意2:有没有break,有break就结束执行,
				   	没有break执行下一个case对应的java代码,直到有break停止。
		*/
		int num1=2;
		int num2=4;
		char op='+';
		switch(op){
			case '+':System.out.println(num1+"+"+num2+"="+(num1+num2));
			case '-':System.out.println(num1+"-"+num2+"="+(num1-num2));break;
			case '*':System.out.println(num1+"*"+num2+"="+(num1*num2));
			case '/':System.out.println(num1+"/"+num2+"="+(num1/num2));
		default:System.out.println("运算有误!");
		}
	}
}

3.循环结构--重复执行【for循环、while循环、do....while循环】
例如for循环:
      结构:for(初始值;判断条件;递增(递减)循环){java执行代码};
            初始值是循环的开始。
            判断条件:是循环的结束。
            递增(递减)循环:是循环的执行次数。
        执行过程:
            先初始值,再判断条件,为true则执行Java代码,在递增或递减,继续循环,
         直到 判 断条件为false则循环结束。

public class forDemo{
	public static void main(String args[]){
		//for循环
		/*
		结构:for(初始值;判断条件;递增(递减)循环){java执行代码};
			初始值是循环的开始。
			判断条件:是循环的结束。
			递增(递减)循环:是循环的执行次数。
		执行过程:
			先初始值,再判断条件,为true则执行Java代码,在递增或递减,			继续循环,直到判断条件为false则循环结束
		*/
		//递增,输出1-5
		for(int i=1;i<6;i++){
			System.out.println("递增的"+i);
		}
		//递减,输出5-1
		for(int j=5;j>=1;j--){
			System.out.println("递减的"+j);
		}

	}
}

例如while循环:
      结构:while(判断条件){
                                java执行代码;
                                递增/减;
                         }
            注意while循环没有初始值以及递增/减,初始值一般放在循环体外,递增/减一般放在循环体内。
            while循环不知道循环的次数
       执行过程:先执行判断条件,为true再执行代码,再递增/减,
                          继续判断条件·····继续循环,   直到判断条件为false时循环结束。

public class whileDemo{
	public static void main(String args[]){
		//while循环
		/*
		结构:while(判断条件){
				java执行代码;
				递增/减;
			}
			注意while循环没有初始值以及递增/减,初始值一般放在循环体			   外,递增/减一般放在循环体内。
		while循环不知道循环的次数
		执行过程:先执行判断条件,为true再执行代码,再递增/减,
			    继续判断条件·····继续循环
					      直到判断条件为false时循环结束
		*/
		//递增循环1-5
		int i=1;
		while(i<6){
			System.out.println("递增--"+i);
			i++;
		}
		//递减循环5-1
		int j=5;
		while(j>=1){
			System.out.println("递减--"+j);
			j--;
		}

	}
}

例如do...while循环:
       结构:do{    
                           执行代码;
               }while(判断条件);
              当知道执行循环次数时,一般将初始值放在循环体外,递增/减次数放 在循环体内。
      执行过程:先初始值,再执行判断条件为true时,执行Java代码,再递增/减,一直循环做
                   在之前的事情,直到判断条件为false时结束。
      注意:1.do··while也不知道循环次数。
              2.当判断条件为false时,会多输出一次代码。

public class DoWhileDemo{
	public static void main(String args[]){
		//do··while循环
		/*
		结构:do{	
			   执行代码;
			}while(判断条件);
		  当知道执行循环次数时,一般将初始值放在循环体外,递增/减次数放			在循环体内。
		执行过程:先初始值,再执行判断条件为true时,执行Java代码,再递增/		             减,一直循环做在之前的事情,直到判断条件为false时结束。
		注意:1.do··while也不知道循环次数。
		     2.当判断条件为false时,会多输出一次代码。
		*/
		//递增输出1-5
		//定义一个变量存储初始值
		int i=1;
		do{
			System.out.println("递增--"+i);
			i++;
		}while(i<6);
		//递减输出5-1
		//定义一个变量存储初始值
		int j=5;
		do{
			System.out.println("递减--"+j);
			j--;
		}while(j>0);

	}
}

三、比较这个三个循环的区别? 

1.for循环与while和do··while循环的区别
        for循环有定义循环增量/减量和定义了初始值,推荐明确循环的次数使用。
        while和do··while循环,没有定义循环增强/减量,往往都是自己定义的。推荐不明确循环次数时使用。
例如:test1.java

public class test1{
	public static void main(String args[]){
		//for循环与while和do··while循环之间的区别
		/*
		for循环有定义循环增量/减量具体位置,
		while和do{}while()循环,没有定义循环增量/减量具体位置,往往都是自			己定义在循环体中的最后一句
		for循环需要明确循环次数	
		while和do{}while()循环不需要考虑循环次数
		*/
		//for循环
		//知道即将循环的次数为5次
		for(int i=1;i<6;i++){
			System.out.println("循环第"+i+"次");
		};
		//while循环和do··while循环
		//需要自己定义初始值
		//不知道即将循环的次数。这里我让代码执行一次之后结束循环。
		boolean bloo=true;
		while(bloo){
			System.out.println("执行代码");
			bloo=false;
		}
	}
}


2.while和do{ }while();循环的区别
        while循环先执行判断条件后执行,do()while{};循环先执行代码后判断条件
        初始判断条件为false时,do{}while();比while循环多执行一次循环体
例如:test2.java

public class test2{
	public static void main(String args[]){
		//与while和do{}while();循环之间的区别
		/*
		while循环先判断后执行,do{}while()循环先执行后判断
		初始判断条件的结果为false的时候,do{}while()循环会比while多执
		*/
		
		//定义初始值为false
		Boolean bool=false;
		//while循环
		while(bool){
			System.out.println("while的执行代码");
		}
		//do{}while();循环
		do{
			System.out.println("do{}while();循环代码");
		}while(bool);
	}
}

四、 break语句与continue语句的用法和区别

1.break语句--循环汇总表示中断循环的执行
        如果循环是嵌套的,namebrake出现在那一层就终端那一层的循环。
例如:

public class BreakDemo{
	public static void main(String args[]){
		//break语句
		//break语句---循环中就表示中断循环的执行
		//如果循环是嵌套的,那么break语句出现在那一层就中断那一次的循环。
		//定义一个字符
		String op="*";
		int num1=2;
		int num2=3;
		switch(op){
		case"+":System.out.println(num1+"+"+num2+"="+(num1+num2));break;
		case"-":System.out.println(num1+"-"+num2+"="+(num1-num2));break;
		case"*":System.out.println(num1+"*"+num2+"="+(num1*num2));break;
		case"/":System.out.println(num1+"/"+num2+"="+(num1/num2));break;
		}
		//当内部循环的值j为3时,内部循环从j=3结束但是不影响外部循环的执行
		for(int i=1;i<6;i++){
			for(int j=1;j<6;j++){
					if(j==3){
				break;
			}
				System.out.println("i="+i+"___"+"j="+j);
			}
		}
	}
}

 2.continue语句--往往出现在循环中表示结束当前循环,继续下一次循环执行
例如:

public class ContinueDemo{
	public static void main(String args[]){
		//continue语句
		//往往出现在循环中表示结束当前循环,继续下一次循环执行
		/*所以continue出现在那一层只结束当前满足的条件的执行代码,之后继			续。不影响其他层的循环执行*/
	     //1.这里我们循环套嵌的第二层循环上当j=3时,结束j=3的循环之后继续第			//二层循环
		//可以看到第二层循环j=2时的执行代码没有输出
		for(int i=1;i<4;i++){
			for(int j=1;j<4;j++){
				if(j==2){
					continue;
				}
				System.out.println("i="+i+"___"+"j="+j);
			}
		}
	    //2.这里我们循环套嵌的第一层循环上当=3时,结束i=2的循环之后继续
		for(int k=1;k<4;k++){
			if(k==2){
				continue;
			}
			for(int q=1;q<4;q++){
				System.out.println("k="+k+"___"+"q="+q);
			}
		}
	
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值