java基础2

一.逻辑运算符:


         1.&&:逻辑"与"(并且):两个都为true结果为true;有一个为false,结果为false;


         2.||:逻辑"或"(或者):有一个为true,结果为true;


         ?3.!:逻辑"非"(不是...):!true即false,!false即true


 二..位运算符:&,| ,^可以操作整数,和布尔类型的。这里的例子主要操作"布尔类型",效果同"逻辑运算符"一样。


         但不同的是,"逻辑运算符"具有"短路行为"。


         4.&:按位"与":效果同逻辑&&,只是没有短路行为


         5.|:按位"或":效果同逻辑||,只是没有短路行为


         6.^:按位"异或":两边相同,结果为false,不同为true;


位运算符:


         1.<< : 将左操作数的二进制位,向左移动右操作数的位数;右侧空位补0;


                            int num1 = 10;


                            System.out.println(num1 << 2);


                            实际移动的位数 = 右操作数 % 32


                       每左移1位,相当于原数 * 2;


 


         2.>> : 带符号右移:每右移1位,右侧数字丢弃,左侧补原最高位的(符号位)的值。


                            每右移一位,相当于原数 / 2;


                            正数右移,始终是正数;


                            负数右移,始终是负数;


         3.>>> : 无符号右移:每右移1位,右侧数字丢弃,左侧补0;


                            对于负数,一旦无符号右移1位,将变为正数;


         4.& :按位与:两位都是1,结果为1,其它都为0;


         5.| : 按位或:有1位是1,结果为1,其它都为0;


         6.^ : 按位异或:两位相同,结果0,不同结果为1;


         7.~ : 按位取反:0 变 1 ,1 变 0;


三….三目运算符:


         条件表达式  ?   表达式1 : 表达式2;


         注意:


         1.条件表达式:必须要返回一个true或false,


         2.如果为true,执行表达式1,


           如果为false,执行表达式2;


       3.表达式1和表达式2,一定要返回一个结果,不能是System.out.println()等语句;而且必须要一个变量接收;


例:


class Demo


{


         public static void main(String[] args)


         {


                   int num1 = 100;


                   int num2 = 2000;


                   int max = num1 > num2 ? num1 : num2;


                            System.out.println("max = " + max);


                   //求三个数的最大值-->嵌套的三目运算符


                   int a = 100;


                   int b = 2000;


                   int c = 30;


                   max = a > b ? (a > c ? a : c) : (b > c ? b : c) ;


                   System.out.println("max = " + max);


 }


         }


}


四…从控制台接收数据,需要使用Java的类库。


         我们现在只需要记住三个步骤就可以


         1.在定义类(class语句)之前:


                   import java.util.Scanner;


         2.在main方法里:


                   Scanner sc = new Scanner(System.in);


         3.获取数据:


                   1.整数:sc.nextInt();


                   2.字符串:sc.next();


例: import java.util.Scanner;


class Demo


{


         public static void main(String[] args)


         {


                   Scanner sc = new Scanner(System.in);


                   //引导用户输入数据:


                   System.out.println("请输入第一个数:");


                   //接收一个数据


                   int num1 = sc.nextInt();


                   System.out.println("请输入第二个数:");


                   int num2 = sc.nextInt();


                   System.out.println("你输入的数是:" + num1 + " 和 " + num2 + " 它们的和是:" + (num1 + num2));


                   int max = num1 > num2 ? num1 : num2;


                   System.out.println("你输入的数是:" + num1 + " 和 " + num2 + " 它们的最大值是:" + max);


         }


}


例2:


键盘录入三个数据,获取这三个数据中的最大值


import java.util.Scanner;


class Demo2


{


         public static void main(String[] args)


         {


                   Scanner sc = new Scanner(System.in);       


                   System.out.println("请输入第一个数:");


                   int num1 = sc.nextInt();


                   System.out.println("请输入第二个数:");


                   int num2 = sc.nextInt();


                   System.out.println("请输入第三个数:");


                   int num3 = sc.nextInt();


                   int max = num1 > num2 ? (num1 > num3 ? num1 : num3) : (num2 > num3 ? num2 : num3);


                   System.out.println("它们的最大值是:" + max);


         }


五….if语句的格式1:


         ...程序代码....


         if(判断表达式){


                   //如果判断表达式结果为true,将执行这里的代码


         }


         .....程序的后续代码.....


         注意:


         1.判断表达式必须返回一个true或false;


         2.如果if体语句只有一条,可以省略大括号。但是不建议。


*/


class Demo


{


         public static void main(String[] args)


         {


                   int score = 30;


                   if(score >= 60){


                            System.out.println("你及格了!");


                            System.out.println("请客吃饭吧!");


                   }


                   System.out.println("你的分数是:" + score);


         }


}


if语句的格式2:


         .....程序的前置代码.....


         if(判断表达式){


                   //如果为true,执行这里


         }else{


                   //如果为false,执行这里


         }


         ......程序的后续代码......


class Demo


{


         public static void main(String[] args)


         {


                   int score = 30;


                   if(score >= 60){


                            System.out.println("恭喜你,及格了,请客吃饭!");


                   }else{


                            System.out.println("不及格,找家长!");


                   }


                   System.out.println("你的分数是:" + score);


         }


}


if语句的格式3:


         if(关系表达式1){//是否学习Java?


                   //语句体:学习Java


         }else if(关系表达式2){//不学习Java,学习IOS?


                   //语句体:学习IOS


         }else if(关系表达式3){//不学习IOS,学习C++?


                   //语句体:学习C++


         }else{


                   //学习平面设计


         }


         例子:


         90-100      优秀


         80-90        好


         70-80        良


         60-70        及格


         60一下    不及格


class Demo


{


         public static void main(String[] args)


         {


                   int score = 950;


                   if(score >= 90 && score <= 100){


                            System.out.println("优秀");


                   }else if(score >= 80 && score < 90 ){


                            System.out.println("好");


                   }else if(score >= 70 && score < 80 ){


                            System.out.println("良");


                   }else if(score >= 60 && score < 70){


                            System.out.println("及格");


                   }else if(score >= 0 && score < 60){


                            System.out.println("不及格");


                   }else{


                            System.out.println("不正确的分数");


                   }


         }


 例:/*


         获取三个数据中的最大值


                   由此案例讲解if语句的嵌套


class Demo3


{


         public static void main(String[] args)


         {


                   int num1 = 100;


                   int num2 = 20;


                   int num3 = 30;


                  


                   //使用三目运算符


                   int max = num1 > num2 ? (num1 > num3 ? num1 : num3) :


                                                                                    (num2 > num3 ? num2 : num3);


 


                   System.out.println("max = " + max);      


                   int max2 = 0;


                   //使用if语句:嵌套的if语句.建议:不要超过2层,如果需要第3层if语句,那么请先考虑优化代码;


                   if(num1 > num2){


                            if(num1 > num3){


                                     max2 = num1;


                            }else{


                                     max2 = num3;


                            }


                   }else{


                            if(num2 > num3){


                                     max2 = num2;


                            }else{


                                     max2 = num3;


                            }


                   }


         }


}


一…1)..switch(表达式) {


               case 值1:


                            语句体1;


                            break;


                     case 值2:


                            语句体2;


                            break;


                       …


                     default:    


                            语句体n+1;


                            break;


    }


2)..执行流程:


                   1.查找case:先找匹配的case,后找default


                   2.执行代码:按照代码的顺序执行;


3)…    switch语句的注意事项:


                   1.case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的


                   2.default可以省略吗?


                            可以省略。一般不建议。除非判断的值是固定的。(单选题)


     3.break可以省略吗?


                            可以省略,一般不建议。否则结果可能不是你想要的


                            如果某个case匹配成功,执行完case内语句后如果没有break,


                            将无条件的继续执行后续的case或default内的代码,而且


                            不会进行case匹配。


  4.default的位置一定要在最后吗?


                            可以出现在switch语句任意位置。


                   5.switch语句的结束条件


                            遇到break


                            执行到程序的末尾


二    while循环格式:


         while(条件表达式){


                   //循环体


         }


         1.条件表达式:一定要是一个返回boolean类型的结果的表达式。可以是条件表达式或逻辑表达式


         2.如果条件表达式返回true,则进入循环体,执行循环体内的代码。


         3.执行完循环体内代码后,再次回到"条件表达式"进行验证,如果还是为true,则再次进入循环体,如果为false,则跳到循环体后执行后续代码。


例子”:.打印1--100之间,所有偶数的累加和


class Demo


{


         public static void main(String[] args)


         {


                   int num = 1;


                   int sum = 0;


                   while(num <= 100){


                            //先判断


                            if(num % 2 == 0){


                                     sum += num;


                            }


                            num++;


                   }


                   System.out.println("1--100的偶数和:" + sum);


}


}


三  do_while循环:


 


       格式:


       do{


              //循环体


       }while(判断语句);


 


       1.执行流程:


              1).先执行"循环体"语句


              2).进行while判断;


                     如果为true:再进入循环体执行循环体语句;


                     如果为false:跳到do_while的后续代码执行;


       2.与while循环的区别:


              1).do_while:总是先无条件的执行一次循环体语句,然后再进行判断;


              2).while:总是先进行判断,然后再决定是否进入循环体。


or循环的基本语法:


 


四.. for(初始化语句;判断条件语句;控制条件语句) {


         循环体语句;


    }


 


       三条语句,都不是必须的,可以省略,可以分开写。但是,分号一定要写
       1.初始化语句:用于初始化循环变量,只在循环语句被第一次执行时,执行一次;


       2.判断条件语句:产生一个boolean值,如果为true进入循环,否则,结束循环;


       3.控制条件语句:一般用于操作循环变量,用以促成"判断条件语句"产生false,结束循环


例:


//打印1--100之间的整数


class Demo


{


       public static void main(String[] args)


       {


for(int num = 1;num <= 100;num++){


                     System.out.println("num = " + num);              
              }


              */


              //计算1--100之间所有的偶数和


              //注意:num 的作用域范围在for循环内部


              int sum = 0;


              for(int num = 1 ; num <= 100; num++){


                     if(num % 2 == 0){


                            sum+=num;


                     }


              }


       }System.out.println("sum = "  + sum);


例: "水仙花"数


class Demo


{


       public static void main(String[] args)


       {


              int count = 0;


              for(int num = 100 ; num <= 999 ; num++){


                     //取每一位


                     int ge = num % 10;


                     int shi = num / 10 % 10;


                     int bai = num  / 100 % 10;


  //判断


                     if((ge * ge * ge + shi * shi * shi + bai * bai * bai) == num){


                            System.out.println("找到水仙花数:" + num);


                            count++;


                     }


              }


              System.out.println("水仙花的数量是:" + count);


       }


}




求:5的阶乘:


              1 * 2 * 3 * 4 * 5


*/


class Demo


{


       public static void main(String[] args)


       {


              int result = 1;


              for(int num = 1; num <= 5 ; num++){


                     result *= num;


              }


              System.out.println("5的阶乘是:" + result);


       }


需求:请输出如下图形


                     *


                     **


                     ***


                     ****


                     *****


class Demo2


{


       public static void main(String[] args)


       {


              for(int i = 1 ;i <= 5; i++){


                     for(int j = 1 ; j <= i ; j++){


                            System.out.print("*");


                     }


                     System.out.println();


              }


       }


}




  


输出九九乘法表:


class Demo3


{


       public static void main(String[] args)


       {?


              for(int i = 1 ;i <= 9 ;i++){


                     for(int j = 1 ; j <= i ; j++){


                            System.out.print(j + "*" + i + "=" + (i*j) + "\t");


                     }


                     System.out.println();


              }


       }



五,,, break和continue


       1.break用于switch语句中,结束switch语句;


         break也可以用于循环语句中,代表结束循环;




       2.continue:只能用于循环语句,代表:结束本次循环,继续下一次循环

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值