2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 运算符-if语句-switch语句-循环语句-continue/break语句

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

时间:2020-02-21 16:25:03

相关推荐

运算符-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++));//10System.out.println(num1);//11//++在前面时表示先后用这里是12的结果因为上面num1已经加了1System.out.println("++,"+ (++num1));//12System.out.println(num1);//12// --(自动减1)int num2=10;//打印结果为10原因是在后面--是先用后加System.out.println(",--"+ (num2--));//10System.out.println(num2);//9//--在前面时表示先后用这里是8的结果因为上面num1已经减了1System.out.println("--,"+ (--num2));//8System.out.println(num2);//8//比较运算符 【> < >= <= == !=】 返回的结果是Boolean类型int a=10;int b=15;System.out.println("(a>b):"+ (a>b));//falseSystem.out.println("(a<b):"+ (a<b));//trueSystem.out.println("(a!=b):"+ (a!=b));//trueSystem.out.println("(a==b):"+ (a==b));//false//逻辑运算符【|| && !】返回的结果是Boolean类型int int1=10;int int2=15;// 或||有一个满足就是trueSystem.out.println("(int1>int2 || int1>9):"+ (int1>int2 || int1>9));//true// 与&&有一个不满足则falseSystem.out.println("(int1>int2 && int1>9):"+ (int1>int2&&a>9));//falseSystem.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-5for(int i=1;i<6;i++){System.out.println("递增的"+i);}//递减,输出5-1for(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-5int i=1;while(i<6){System.out.println("递增--"+i);i++;}//递减循环5-1int 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多执*///定义初始值为falseBoolean 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);}}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。