java基础学习之语言基础二

1、运算符

1.1、算数运算符

       常用的有加减乘除,然后还有取模(取余数),自增,自减,和字符串相加。
这里取模对于正数的取模都很好理解
对于负数的取模如果被模数为负数可以忽略负号,对于被模数为负数则结果再加个负号即可:
这里写图片描述
自增有两种a++和++a,前面一种是先用再加,后面是先加在用:
这里写图片描述
字符串相加能将非字符串变为字符串,例如:
这里写图片描述

1.2、赋值运算符

       主要有等号,加等,减等,乘等,除等,模等。其中加等a+=1等同于a=a+1,但只这里有个小区别:
short a = 1;
a = a + 1;会报错。
a += 1;不会报错。
因为上面那个会执行两步,第一步右边相加(会有类型自动转化),相加值赋给a,报错
下面那个只有一步,就是把a和1的和赋值给a,里面会有类型的转化。

1.3、比较运算符

       有相等于,不等于,大于,小于,大于等于,小于等于,和一个特殊的instanceof判断一个一个对象是否是类的实例。比较运算符的结果都是boolean,true或者false

1.4、逻辑运算符

       有逻辑与,逻辑或和非
结果也都是boolean型的,逻辑与,两边都为真则结果为真,并且判断左边为假后就不再判断右边;逻辑或,两边有一个为真则为真,判断左边为真后也不用再判断右边;非,假为真。||两边只能是结果为boolean型的表达式,其余都不行,返回的结果也是boolean型的。

1.5、位运算符

      有与,或,异或,取反,左移,右移,无符号右移。与是同为1则为1,或是两个位有一个为1则为1,异或是相异为1,左移是移出的高位丢弃,低位补0,右移是移出的低位丢弃,高位按符号位补。无符号右移是高位补0。位运算符中,|两边的类型不能是浮点型的,其他都可以,然后必须要能够自动转化的,例如左边是boolean右边是int就会报错,左边是short右边是int就没有错误。
左移几位也表示原值乘上2的几次方,右移几位表示原值除以2的几次方:
这里写图片描述
利用这个特性,如果要算a*8,那么用移位的方式效率比乘法的效率高。
对于异或,a同时异或b两次还是等于a

1.6、三元运算符

       也称条件运算符,格式为:
(条件表达式)?表达式1:表达式2,表达式的左边必须要有值,含义为,如果条件表达式为true那么运算结果是表达式1,否则是表达式2.

1.7、优先级

这里写图片描述
从上到下优先级依次降低。

2、语句

2.1、判断语句if

       格式:
①:if(条件表达式)
{
执行语句;
}
②:if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
③:if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}

2.2、选择语句switch

      格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
……
default:
执行语句;
break;
}
这里表达式只有四种数据类型:byte,short,int,char。default语句块可以放到最上面,但程序仍然会重case开始执行。如果匹配的case没有break,那么下一个case会继续执行。switch语句块的效率稍稍比判断语句快一点,但是不能进行区间选择,所以应用if少。

2.3、循环语句

      

2.3.1、do…while

      格式:do while语句格式:
do
{
执行语句;
}while(条件表达式);
特点:先执行语句快再判断条件表达式是否为真。至少执行一次。

2.3.2、while

      格式:
while(条件表达式)
{
执行语句;
}
特点:先判断是否条件表达式是否成立,再执行语句。

2.3.3、for

      格式:for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
特点:初始化表达式只运行依次,然后判断条件,然后执行语句,然后执行循环后的表达式,然后再判断条件。。。。。其实for和while是差不多的,只是,如果再初始化表达式中定义了变量,那么这个变量在for语句快执行完成后就没了,而while会一直有:
这里写图片描述
在for执行完后再用i报错了。
这里写图片描述
这个便不会报错。
这里写图片描述
从这里可以看出两个功能是差不多的。
最后,for的几种不常用写法:
这里写图片描述
因为格式里面也说了只要是表达式就可以,所以这样写没问题,只是意义不大,最后for的无限循环形式:
for(;;);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值