2020/5/13运算符 字符串 流程控制 方法(有无参数)
赋值运算符
+= -= *= /= %=
a + =1 等价于 a = a + 1 其余同理
比较运算符
大于:>
小于:<
大于等于:>=
小于等于:<=
相等:==
不相等:!=
比较运算符结果为一个Boolean值
逻辑运算符(只用于布尔值)
与:&&
或:||
具有短路效果:如果根据左侧可判断最终结果,那么右侧代码不再执行
非:!
三元运算符
数据类型 变量 = 条件判断 ? 表达式A :表达式B;
int max = a>b ? a : b;
注意事项:必须保证a,b都符合左侧数据类型要求
三元运算符结果必须被使用(打印出来或赋值);
子串**
通过String类的substring方法获取字符串片段
String greeting = "Hello";
String s = greeting.substring(0,3);
创建了一个"Hel"字符串
substring方法第二个参数为不想复制的第一个位置
拼接
可用 + 号连接两个字符串
当一个字符串和一个非字符串进行拼接时,非字符串会被转换成字符串
不可变字符串(不能修改)
*检测字符串是否相等
equals方法检测两个字符串是否相等 s.equals(t) s和t为字符串
equalsIgnoreCase方法不区分大小写检测是否相等s.equalsIgnoreCase(t)
不能使用==运算符,==只能确定两个字符串是否放在同一个位置
空串与Null串
检查字符串不是空串和Null串
if(str!=null && str.length()!=0)
JDK9的JShell使用
轻量级工具,无需创建项目,编译运行
常量优化
在给变量赋值时,如果右侧表达式中全部是常量,没有任何变量时,编译器Javac会将所有常量表达式计算得结果再赋值
如果有变量参与,会报错
例如:
short a = 5;
short b = 8;
short res = a + b;
错误写法,左侧应为int类型,因为a,b被提升至int
流程控制
顺序结构
从头走到尾
判断语句
单if语句
if(关系表达式)
{
语句体
}
if else语句:二者选一
if(条件语句)
{
语句体1;
}
else
{
语句体2;
}
if…else if…else
if(条件语句1)
{
语句体1;
}
else if(条件语句2)
{
语句体2;
}
...
else if(条件语句n)
{
语句体n;
}
else
{
结束语句体
}
选择switch语句
-
case后值不能重复
-
switch后面小括号只能是下列数据类型
基本数据类型:byte short char int
引用数据类型:String enum
- break语句可以省略,匹配到哪一个case就继续向下执行,直到遇到break
switch(表达式)
{
case 常量值1:
...
break;
case 常量值2:
...
break;
...
default
...
break;
}
循环语句
基本组成部分:
1.初始化语句
2.条件判断
3.循环体
4.步进语句(扫尾)
for循环
for(初始化语句;条件判断;步进语句)
{
循环体
}
whlie循环
while(条件判断)
{
循环体
}
拓展格式:
while(条件判断)
{
循环体
步进表达式
}
do while循环
初始化语句
do
{
循环体
步进表达式
}
while(条件判断);
break关键字
在switch中,一旦执行,整个switch语句立刻结束
在循环语句中,一旦执行,整个循环语句立刻结束,打断循环
建议:循环次数确定的情况下多用for循环
continue关键字
一旦执行,立刻跳过当前循环剩余内容,马上 执行下一次循环
死循环格式
while(true)
{
循环体
}
嵌套循环
方法
我个人觉得类似于C语言中的function(var)
修饰符 返回值类型 方法名称(参数类型 参数名称,...)
{
方法体
return 返回值;
}
return:
1.停止当前方法
2.将后面的返回值还给调用处 ,return后面的返回值必须和方法名称前面的返回值类型对应
调用方法类型:
1.单独调用:方法名称(var)
2.打印调用:System.out.println(方法名称(var))
3.赋值调用:数据类型 变量名称 = 方法名称(var)
返回值类型为void,只能单独调用,无返回值
转载:https://blog.csdn.net/weixin_44429208/article/details/106107856