运算符、if分支、switch-case、循环结构

*System.currentTimeMillis();会返回一个long类型的
数据。此数据为 从1970年1月1日0时0分0秒到系统当前时间之间的所有毫秒数。

运算符
两原一封:
两个原则:
1、不同类型的数据做运算时,一定会先转换成较大范围类型后
再运算。
2、byte,short,char这些类型运算时,一定会先转成
int类型再运算,结果int类型
封:
一定要注意封闭式运算。(int和long)
算术运算符:
+,-,*,/,%,++,–
/:
情况1:
参与的类型都是整型时,做取整运算,
即 商n余m, 结果为n
2/3—-商0余2。结果为0
情况2:
只要有一个浮点数参与,就会做
类似精确运算。
%:取余运算符号,也叫取模运算符号
做除法运算时,商n余m,结果为m.
情况1:参与运算都是整数时,余数是精确值
情况2: 有浮点数参与时,余数不一定是精确值。
注意:
取余运算一般被用来判断 某一个数能
否被另外一个数整除。
++/–:是自增自减运算符
符号要与变量一起使用。
表示变量自动+1,或自动-1;
如:++a/a++/–a/a–;
++a/a++:是a=a+1的简写
–a/a–:是a=a-1的简写
情况1: 即与变量在一起,不与其他任何符号连用时
(单独使用)
++a
a++
–a
a–
此时,变量一定会+1或-1;
情况2:自增/自减运算与其他符号连用时
需要考虑表达式的值。
++a/a++/–a/a–整体看成表达式
口诀:
符号在前,先运算再赋值
符号在后,先赋值在运算
解析:符号在前时,变量先自增/自减,新值赋值给表达式
符号在后时,先把变量的值赋值给表达式,然后变量再自增/自减
如:
int a = 1;
a = ++a;
System.out.println(a);
被除数为正,取余结果一定为正
被除数为负,取余结果一定为负。
运算符之关系运算符: >,>=,<,<=,==,!=
用来判断条件是否成立。一般都用在分支结构或循环结构中
运算符之逻辑运算符:
当有两个条件以上进行判断是否成立时,需要使用
逻辑运算符。即与,或,非
&&,||,!
判断a是否大于1并且小于3时,
写法如下: a>1&&a<3
a<3&&a>1
&&(与):用于判断两个条件是否同时成立
||(或):用于判断是否有条件成立。
!: 用于条件的否定
&& a>b && c>d –>结果
true true true
true false false
false true false
false false false
|| a>b || c>d –>结果
true true true
true false true
false true true
false false false
! a>b
true———>false
false——–>true
&&: 全真为真,一假则假
||: 一真即真,全假则假
!: 非真即假,非假即真
又称之为短路运算符
当使用&&或者||时,第一个条件能确定结果时,
就不会执行第二个条件,这种行为可视为短路
现象。
单个符号的 &(与) |(或) 没有短路现象。
运算符之赋值运算符:
=,赋值运算,给前面的变量赋值
扩展赋值运算符
+=,-=,*=,/=,%=。
a+=1相当于 a = a + 1
a-=b相当于 a = a - b;
a*=b相当于 a = a * b;
a/=b相当于 a = a / b;
a%=b相当于 a = a % b;
运算符之字符串拼接符号,
+
当+前后,只要有一个是字符串类型,就做拼接操作
拼接后的结果是字符串类型。
如:
int a = 1;
int b = 2;
String str = “3”;
String result = a+b+str;
System.out.println(result);//”33”
result = str+a+b;
System.out.println(result);//”312”
result = a+str+b;
System.out.println(result);//”132”
System.out.println(1+2+a+str+b+3);//”4323”
System.out.println(1+2+a+”3”+a*b+str);//”4323”
运算符之三目运算符(三元运算符)
关系运算与逻辑运算统称为条件运算
变量类型 变量= 条件表达式?值1:值2;
变量类型:需要与值1或值2的类型相同。
而值1与值2的类型要么相同,
要么就可以自动转换。
(一)if分支结构
语句1;
if(条件表达式){
代码块//条件成立时,执行的逻辑
}
语句2;
执行逻辑:执行完语句1后,碰到if,一定会执行
条件表达式,结果为true,就执行代码块,
然后再执行语句2。
结果为false,就跳过代码块,执行语句2
if(条件表达式){
代码块1// 条件成立时执行此代码块
}else{
代码块2// 条件不成立时执行此代码块
}
执行逻辑:当程序执行到if时,一定会执行条件表达式进行判断
结果为true,就执行代码块1.
结果为false,跳过代码块1,执行代码块2
if(条件1){
代码块1;
}else if(条件2){
代码块2
}else if(条件3){
代码块3
}else{
代码块4
}
有else
执行逻辑:程序执行到if时,一定会执行条件1,进行判断
结果为true,执行代码块1。
结果为false,执行条件2,进行判断
结果为true,执行代码块2.
结果为false,执行条件3,进行判断
…………
分支结构:
(一) if语句
当if语句中含有else{}部分时,一定会执行其中一条分支。
没有else{}部分时,有可能一条分支都不执行
(二)switch-case语句
格式:
switch(整数表达式){
case value1: 代码块1;[break];
case value2: 代码块2;[break];
……….
[default: 代码块n;]—[]表示可有可无
}
整数表达式:即能获得一个整数的表达式。
但是jdk1.7版本以后,支持字符串表达式
case后的值与()内的结果类型要相同
break:有打断,毁掉,跳出,结束的含义
执行逻辑:
当程序遇到switch时,计算表达式的值,然后
匹配case后的值,然后,执行对应的分支逻辑。
如果此分支有break.就结束分支结构,如果此分支
没有break,就继续执行下一条分支逻辑,直到
遇到break或default或全部执行完后续的所有分支。
循环结构
循环结构
:当重复执行相同的代码或者是相似的代码时。
程序的运行顺序:
顺序结构:从程序开始,到程序结束
分支结构:在顺序结构基础上,根据条件进行选择执行方向。
循环结构:在顺序结构基础上,根据条件进行多次执行相同的或相似的代码
分支结构:根据条件的成立与否,选择执行方向。

循环三要素:
1): 循环变量的声明:用于控制循环次数的循环因子
2): 循环条件: 用于判断是否执行循环体的条件
3):循环变量的改变方向:
向着循环结束的方向改变。
(1)for循环:
语法:
for(变量的声明和初始化;循环条件;变量的改变方向){
循环体;
}

执行逻辑:
程序遇到for时,一定执行 变量的声明和初始化
然后执行循环条件的判断
如果为false,会跳过循环结构,执行后续代码。
如果为true,执行循环体,然后再执行变量的改变
再执行循环条件的判断,
…….

循环体:是要重复执行的相同或相似逻辑

break关键字:用在循环结构中时,表示结束/打断循环
continue关键字:用在循环结构中,表示结束当次循环体,继续下一次循环
双层for循环
(2)while循环
语法:
while(循环条件){
循环体
}
执行逻辑:
当程序遇到while时,一定执行循环条件,
如果判断结果为false,就结束循环结构,执行后续代码
如果判断结果为true,就执行循环体,
然后再判断循环条件……

(3)do-while循环
语法:
do{
循环体
}while(循环条件);
执行逻辑:当程序遇到do关键字时,一定先执行一次
循环体,然后再判断循环条件,
如果条件为false,结束循环结构,执行后续代码
如果条件为true,再执行一次循环体,
然后再判断条件的成立与否
……..
while/do-while/for的区别:
while/do-while:适合不知道循环次数的逻辑
for:适合知道循环次数的逻辑
while/for一般先判断条件,再执行循环体
do-while:一定先执行一次循环体,再判断条件
小技巧:什么时候使用while,什么时候使用do-while
某些逻辑可以翻译成如下:
当……就执行…..:适合使用while
做…..直到…….:适合使用do-while

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值