今日主要学习Java的基本语法
运算符
- 算数运算符:+、-、*、/、%、+(字符串相加)
/
号可以对数取整;%
号对数取余(左为负就为负,左<右是左边,0不在右边) - 逻辑运算符:&&(逻辑与)、&(按位与)、||(逻辑或)、|(按位或)、!(非) 按位与和按位或相比较逻辑与和逻辑或的区别在于,逻辑与和逻辑或可以进行短路运算(前面的语句符合,不往下走下面的语句),效率更高
- 赋值运算符:+=、-=、*=、/=、%=
在使用赋值运算符进行运算时由系统进行强制类型转换,不需要我们手动强制类型转换 - 比较运算符:==、!=、<、>、<=、>=他们的结果都是boolean类型的
- 三目(元)运算符:(条件表达式)?表达式1:表达式2
意义: 如果条件表达式为true那么执行表达式1否则执行表达式2
数组
- 概念:同种数据类型的数据的集合,是一种容器,因为数组有下标可以很方便的操作这些数
- 一维数组的声明和创建:
- 元素的数据类型 [] 数组名 = new 元素的数据类型[元素个数或数组长度];
例:int [] arr = new int [6];
- 元素的数据类型 [] 数组名 = {元素,元素,元素,元素......};
例:int [] arr = {1,1,1,1,1,1};
- 一维数组的赋值:数组名[数组下标]=要赋给数组的值。 这里注意:数组下标从零开始
- 二维数组的声明与创建:二维数组的创建基本跟一维数组相似,只是在数组名前多加了一个中括号[]
其实可以理解成二位数组其实就是一维数组,不同于一维数组就是数组中的元素不是数据的地址值,而是一维数组的地址值。即数组套数组 - 二维数组的赋值:跟一维数组相同,通过数组下标给数组赋值。
条件分支语句
- if语句:
if(条件表达式){执行语句;}
if语句的意思是:如果条件表达式成立(为真true),执行表达式。因此引申出以下两种语句
if else语句:if(条件表达式){执行语句1;}else{执行语句2;}
如果条件表达式成立,执行语句1生效,否则执行语句2生效。
if else if语句:if(条件表达式1){执行语句1;}else if(条件表达式2){执行语句2;}else{执行语句3}
如果条件表达式成立,执行语句1生效,否则接着判断条件表达式2,成立则出,没有再判断的条件表达式就else的执行语句3生效。 - switch语句:
switch(表达式)case 取值1:执行语句1;case 取值2:执行语句2;default:执行语句;
条件选择满足某个case的取值就执行语句,当所有switch语句中没有相应的case值就执行default的执行语句。
循环语句
- whlie语句:
whlie(条件表达式){执行语句;}
当条件表达式为真时执行语句生效,否则不进行循环。PS:死循环while(true)
- do while语句:
do{执行语句;}while(条件表达式);
先执行执行语句,再进行判断条件表达式是否为真,真进行循环,假不进行循环。do whlie比while永远多执行一次!!!do whlie语句在while后有分号;while则没有分号切记!!! - for语句:
for(初始化表达式;循环条件表达式;循环后操作表达式){执行语句}
初始化表达式只执行一次,然后进行循环条件表达式的判断,为真则执行语句,再执行循环后操作表达式,再接着判断,重复操作,直到条件不满足为止。PS:死循环:for(;;)
这里可以利用循环来为数组赋值,更快捷
break和continue
用break和continue可以控制循环和条件分支,break是跳出整个循环,continue是跳出当前循环进行下次循环,而且可以通过给循环加标号来控制跳出哪层循环。return也是跳出循环,跟break一样,跳出的是整个循环。