大家好,给大家带来带你详解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; } }
长路和短路的区别:
什么是异或:
口诀:不同为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++){ 表达式语句; }
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<arr.length;index++) { if(arr[0]>arr[index]) { int temp = arr[0]; arr[0] = arr[index]; arr[index] = temp; } } print(arr); //第二轮 for(int index=2;index<arr.length;index++) { if(arr[1]>arr[index]) { int temp = arr[1]; arr[1] = arr[index]; arr[index] = temp; } } print(arr); //第三轮 for(int index=3;index<arr.length;index++) { if(arr[2]>arr[index]) { int temp = arr[2]; arr[2] = arr[index]; arr[index] = temp; } } print(arr); //第四轮 for(int index=4;index<arr.length;index++) { if(arr[3]>arr[index]) { int temp = arr[3]; arr[3] = arr[index]; arr[index] = temp; } } print(arr); //第五轮 for(int index=5;index<arr.length;index++) { if(arr[4]>arr[index]) { int temp = arr[4]; arr[3] = arr[index]; arr[index] = temp; } } print(arr); //第六轮没有,我们arr.length=6举例 //int index = 6;index<arr.length; false public static void selectionSort(int[] arr) { for(int count=1;count<arr.length;count++) { for(int index=count;index<arr.length;index++) { if(arr[count-1]>arr[index]) { int temp = arr[count-1]; arr[count-1] = arr[index]; arr[index] = temp; } } }
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<nums.length-1-i;j++){ if(nums[j]>nums[j+1]){ int temp = nums[j]; nums[j] = nums [j+1]; nums[j+1] = temp; } } for(int j = 0; j<nums.length;j++){ Systm.out.println(nums[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} };
Android
&Java
知识点,有兴趣可以继续关注
如对本文有疑问, 点击进行留言回复!!
mac os 新系统配置—— anaconda安装及管理——idea安装配置
ubuntu 16.04 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) 亲试可行
网友评论