疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

第三节:带你详解Java的操作符,控制流程以及数组


 

 

 

 

前言

大家好,给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢

操作符

算数操作符

一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符。
这里的操作算法,一定要掌握 好强制类型转换和自动类型转换。

理解%取模

取模就是在数学中的求余,输出的结果就是余数的多少

//可以亲自试试效果,输出为1 public class Test {  public static void main(String[] args) {   int i = 3;   int j = 2;   int z = i % j;   System.out.println(z);  } }

理解自增 自减

++ -- , i++ 等价于 i = i+1 ; i-- 等价于 i = i-1 ; i++ 的理解为 先取值,再运算; ++i 的理解为 先运算,再取值。

//示例代码理解 public class Test {  public static void main(String[] args) {   int i = 2;   System.out.println(i++); //先取值,再运算,那么打印的值,就是先取值,为i=2;   //如果再次打印i的值   System.out.println(i); //输出i=3;  } }
//示例代码理解 public class Test {  public static void main(String[] args) {   int j = 2;   System.out.println(++j); //先运算,再取值,那么打印的值,就是先运算,++j,那么j=3,打印结果为3;   //如果再次打印i的值   System.out.println(j); //输出j=3;  } }

关系操作符

  • 关系操作符:> 大于 ; >= 大于或等于 ;< 小于 ;<= 小于或等于 ;== 是否相等 ;!= 是否不等

逻辑运算符

  • 逻辑运算符:&为长路与, &&为短路与;| 为长路或,|| 为短路或;!为取反;^ 为异或

长路和短路的区别:

  • 长路: 两侧,都会被运算
  • 短路: 只要第一个是false,那么第二个就不进行运算(短路只要第一个通过,那么第二个就不进行运算)

什么是异或:
口诀:不同为true,相同为false

位操作符

  • 遵循规则:0看做是false,1看做是true.
    &:参与运算的两个数,若相应位数的值都为1,则该位结果值为1,否则为0。
    (相同为1(前提两个都为1,没有0的情况),不同为0)
    |:参与运算的两个数,若相应位数中,只要有一个1,结果就为1。
    (有1为1,没1为0)
    ^:参与运算的两个数,若相应位数中,相同则结果为0,否则为1。
    (相同为0(可以两个数为1,结果为0;可以两个数为0,结果为0),不同为1)
    ~ :表示把每个二进制位的“1”换成“0”,把“0”换成“1”。

  • 补充原码、补码、反码的一点知识:
    1.正数的反码、补码都与原码一样
    2.负数的反码、补码与原码不同。

左移 右移

public class Test {  public static void main(String[] args){   int i = 12;  System.out.println(i<<1); //代表乘2,结果为24  System.out.println(i>>1);//同理,举一反三,结果可得6  } }

三元运算符

格式:表达式 ? 值1 : 值2
如果表达式为 true,那么结果返回值1;否则返回值2。

控制流程

if语句的格式:

if(表达式1){   表达式2; }

if else 语句的格式:

if(表达式1){   表达式2; }else{   表达式3; }

switch语句格式:

 switch (mon) {   case 1:   case 2:   case 3:   System.out.println(mon + "月是春天");   break;   case 4:   case 5:   case 6:   System.out.println(mon + "月是夏天");   break;   case 7:   case 8:   case 9:   System.out.println(mon + "月是秋天");   break;   case 10:   case 11:   case 12:   System.out.println(mon + "月是冬天");   break;   default:   System.out.println("一年有12个月"); }

while和do-while循环语句

while为true时,继续执行;do-while中条件为true时,继续执行,至少会执行一次。

for语句格式:

for(int i=0;i<10;i++){  表达式语句; }

continue和break

  • continue 为继续下一次循环
  • break 为结束整个循环

数组

  • 数组是具有相同类型数据的集合
    声明一个数组 int[] a ;创建数组的长度 int[] a = new int[5];给数组赋值 int[] a = new int[]{1,2,3,45,5}; 或 int[] a = {2,4,24,5,7,66,55,1,2,3,4};

数组的选择排序

//这种就是排序算法,比如有6个人,第一轮要进行5次比较 //第一轮 for(int index=1;index

数组的冒泡排序

public class Demo{  public static void main(String[] args){  int[] nums = { 3,1,7,5,8,9,23,45};  for(int i = 0; i< nums.length-1;i++){   for(int j = 0;j

数组的打印

//使用for  int[] i = { 2,3,4,5,6 };  for(int each : i){   System.out.println(each);  }

二维数组的表达

int a[][] = new int[][]{    {1,2,3},    {4,5,6},    {7,8,9} };

总结

  • 本文讲了带你详解Java的操作符,控制流程以及数组,如果您还有更好地理解,欢迎沟通