【大数据开发】Java语言基础——基本语法day02

    技术2022-07-10  130

    1.运算符

    1.1算术运算符

    取余%的计算结果的正负由被除数决定

    class Demo3 { public static void main(String[] args) { System.out.print(5%-2); } }

    自增运算符

    class Demo3 { public static void main(String[] args) { int m = 6,n; n = m++; System.out.println("m:" + m + "\t" + "n:" + n); } }

    class Demo3 { public static void main(String[] args) { int m = 6,n; n = ++m; System.out.println("m:" + m + "\t" + "n:" + n); } }

    class Demo3 { public static void main(String[] args) { int m , n=5; m=++n + n++ + ++n; System.out.println("m:" + m + "\t" + "n:" + n); } }

    class Demo3 { public static void main(String[] args) { int m, n = 6; m = n-- + --n; System.out.println("m:" + m + "\t" + "n:" + n); } }

    1.2复合赋值运算符

    += -= *= /= %=

    class Demo3 { public static void main(String[] args) { short s = 5; s = s+5; System.out.print(s); } }

    class Demo3 { public static void main(String[] args) { short s = 5; s += 5; System.out.print(s); } }

    结论:利用复合赋值运算符编译不会出错,内部做了强制类型转换

    1.3关系运算符

    >= < <= == !=

    运算符是有值的,由运算符和数据组合在一起的式子就是表达式

    class Demo3 { public static void main(String[] args) { int a = 5, b = 6, c=8; System.out.println(a<b); System.out.println(a>b); System.out.println(c==88); System.out.println(c!=88); } }

    总结:关系表达式的值只有True和False两种情况 1.4逻辑运算符

    &&(短路与) ||(短路或) !(非) &(逻辑与) |(逻辑或)

    &&:短路与,如果左边的表达式为false,那么不会计算右边的表达式 &:逻辑与,如果左边的表达式为false,还会计算右边的表达式 ||:短路或,如果左边的表达式为true,那么不会计算右边的表达式 |:逻辑或,如果左边的表达式为true,还会计算右边的表达式

    1.5位运算符

    &(与) |(或) ^(异或) ~(取反) <<(左移) >>(无符号右移)

    &(与): |(或): ^(异或): 注意:连续异或两次又得到结果7 ~(取反):

    class Demo4 { public static void main(String[] args) { System.out.println(~8); } }

    得到结果为-9

    <<(左移):

    class Demo4 { public static void main(String[] args) { System.out.println(6<<2); } }

    得到结果为24

    >>(右移)

    得到结果我-2

    >>>(无符号右移)

    用于进制转换,例如将十进制的60转换为16进制的数字 十进制转换为十六进制

    class Demo4 { public static void main(String[] args) { int num = 60; int n1 = num&15; //将数字与二进制1111相与,得到低4位 int n2 = num>>>4; System.out.println(n2 + "" +(char)(n1-10+'a')); } }

    1.6三元运算符 1.7习题总结

    class Demo5 { public static void main(String[] args) { //最有效的方式计算2*8 System.out.println(2<<3); //对两个整数变量进行交换 int a=5, b=6; a=a^b; b=a^b; a=a^b; System.out.println("a=" + a +'\t' + "b=" + b); //利用三元运算符计算最大值max int x=6, y=9, z=78; int num = x<y?y:x; int max = num<z?z:x; System.out.println(max); } }

    1.8运算符的优先级 一元运算符–>算术运算符、位运算符–>关系运算符–>逻辑运算符–>得到计算结果

    2.循环流程控制

    if语句 //if或else下语句只有一条语句时,大括号可以省略 if(condition) { //代码块 } //else总是和离它最近的且没有else的if对应 else { //代码块 } switch语句 switch遇到break或者大括号才会结束执行 表达式值的类型:byte,short,int,char,枚举(jdk1.5),String(jdk1.7) //switch遇到break或者大括号才会结束执行 //表达式值的类型:byte,short,int,char,枚举(jdk1.5),String(jdk1.7) Switch(表达式) { case 取值1: 执行语句; break; case 取值2: 执行语句; break; case 取值3: 执行语句; break; ...... default: 执行语句; } Switch(表达式) { //依次执行,直到找到第一个break default: 执行语句; case 取值1: 执行语句; break; case 取值2: 执行语句; break; case 取值3: 执行语句; break; ...... } while语句 判断循环条件是否成立, 如果循环条件条件成立, 循环体循环执行。 直到循环条件不成立。 while(条件) { 需要重复执行的代码块 } do-while()语句 do{ 需要重复执行的代码块 }while(条件)

    (1)先执行循环体, 再判断循环条件是否成立; (2)如果循环条件成立, 继续执行循环体; (3)如果循环条件不成立, 结束循环。 while循环和do-while循环的区别 :while循环可能一次都不会执行,而do-while循环至少执行一次。

    for循环
    Processed: 0.013, SQL: 9