运算符-----流程控制----数组

运算符
表达式
通过将标识符,运算符,和字面量按照一定的规则,结合到一起,得到一个结果的式子,叫做表达式。

算数运算符(+ ,- ,* ,/,%,++,–,+=,-=,=,/=)
/号会出现的问题
整数相除只能得到整数,要想得到浮点数必须要有浮点数的参与 float f = (float)3/5;
int/o:报错
float/0:无限Infinite
0f/0:NaN
%
%:两个数字做除法余的数
++
a++等于a+1
参与操作的时候如果放在变量的后边,先拿变量进行操作,再进行++或–

a–等于a-1
参与操作的时候如果放在变量的前边,先进行++或–,后拿变量进行操作
+=
a+=b 将a+b的值赋值给a
把左边和右边的数据进行加法操作,将结果值赋值给左边
-=
a-=b 将a-b的值赋值给a
=
a
=b 将a
b的值赋值给a
/=
a/=b 将a/b的值赋值给a

位运算符(>> << >>> & | ^ ~)
>>
二进制的基础右移一位;原来是符号位是啥就补啥
<<
左移一位:原来是符号位是啥就补啥
>>>
不管原来符号位是什么都补0
& 与
a&b,a和b都是真就是真否则就是假
| 或
一个数字为真就是真,
^ 异或
二进制相同就是假不相同就是真
~ 非
按位取反

关系运算符(== != > < >= <=)(true false)
== (等于)
!= (不等于)
>
<
>=
<=

逻辑运算符(& | && || !)
&与
无论左边真假,右边都要执行。
|或
无论左边真假,右边都要执行
&&短路与
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
||短路或
短路或如果左边为假,右边执行;如果左边为真,右边不执行。
!逻辑非
!a,结果与a相反

特殊运算符
优先级运算符()
赋值运算符 =
三目运算符 boolean?分支1:分支2
●范例: a>b?a:b;
计算规则: 首先计算关系表达式的值 如果值为true,表达式1的值就是运算结果 如果值为false,表达式2的值就是运算结果
流程控制
局部变量不赋初值不能使用

在没有流程控制之前;代码的执行顺序是依次从上之下,从左到右执行的。

含义:可以在一定的程度上,改变代码的执行顺序,跳过部分代码或重复部分代码都是流程控制的作用。

常用的流程控制有 if,for,switch,while,do…while

把常见的流程控制,分成两个大类,分别分支和循环
分支类别,就是遇到了某个条件成立,那么就可以选择一个分支去执行,当然也可以认为某些条件不成立,就选择或者跳过一个分支去执行。
分支使用的关键字有两个 if switch
if分支 其格式 if(boolean) {code}离散型和连续型;
上面的格式,大括号可以省略,但是如果没有大括号,那么code只能有一行代码,第二行代码都会被认为不在if过程中
switch只能做离散型;
switch的格式switch(标志符){
case 目标值:
code
case 目标值:
code

		... ...
        default:
          	code
	}
			bety short int char只有这三个可以 字符串也可以

关键词
break;//当前位置跳出if没用,
continue:只截断本分循环。

for循环
是指,当条件被满足的时候,重复执行某一个部分的代码
for循环的格式 for(1;2;3){4}顺序1243 243 243 2不成立(false)跳出
1的含义:初始化部分可以省略,含义只有在for循环在第一次开始的时候,才会执行1部分的代码
2.条件判断部分:默认是必然成立的,每一次循环完成,准备开始下一次循环之前必然需要执行一遍2部分代码
3.条件改变部分,每次循环的代码块执行完成以后,后先执行3部分的代码来改变循环条件。
4,循环的代码块
流程嵌套

while循环
while循环的格式:while(boolean){code}
知道循环退出条件
如果代码告诉我要循环多少次用for循环,要是给一个boolean值就用while循环。
int i = 4;
int e = 0;
boolean flag = false;
while(!flag){
System.out.println(“chibaozi”);
e++;
if(e>=i){
flag = true;
}
}
数组
固定长度,数组是一个连续不断的内存空间,用来保存相同类型内容的一个容器

数组的大小是在创建完后,不能随便改变,想改变重新写个new换个地方。

数组的格式:类型[] 标识符;

关键字new
创建新的数组

动态赋值
int[] array= new int[6];//动态赋值,默认值为0;
array[0] = 23456;

增强for(类型:数组)

二维数组
类型 标识符
int[][] array = new int [5][7]]
int[][] game = {
{0,1,0},
{1,0,1},
{0,1,0}
}

静态赋值也叫静态初始化
int[] array = {4,5,6,7,8};
System.out.println(array[2]);

1定位 2.替换3.求长.length
直接排序
for(int i = 0;i<array.length;i++){
//每一次循环都在确定第i个位置的最小值是谁
for(int j=i;j<array.length;j++){
if(array[i]>array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;

			}
			
		}
	}
	for(int i = 0;i<array.length;i++){
		System.out.print(array[i]+"");
		
	 } 
选择排序
	for(int i = 0;i<array.length;i++){
		int minIndex = i;
		int minValue = array[i];
		for(int j = i;j<array.length;j++){
			if(minValue> array[j]){
				minIndex = j;
				minValue = array[j];
			}
		}
		int temp = array[i];
	    array[i] = array[minIndex];
		array[minIndex] = temp;
	}
	 for(int item : array){
		System.out.println(item + "");
	 }
冒泡排序
	 int[] array = {3,6,2,7,3,8,3,2};
for(int i = 0;i<array.length;i++){
	for(int j = 0;j<array.length-i-1;j++){
		if(array[j]>array[j+1]){
			int temp = array[j];
			array[j] = array[j+1];
			array[j+1] = temp;
		}
		
	}
	
}
for(int item : array){
	System.out.print(item+"");
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值