一、运算符
1.字符串拼接符 +
+把多个数据拼成一个字符串,如果左右两端为数字,则为加和运算;如果左右两端有一个字符串,则作为字符串拼接符把他们连接到一起
System.out.println(3+5); //8
System.out.println("3"+5); //35
2.三目运算符
布尔型表达式 ? 真 : 假 ;
如果布尔型表达式为真则执行真,否则执行假
System.out.println(true?"真":"假"); //真
二、流程控制
1.顺序结构
严格从上往下,从左往右顺序执行
2.分支结构
if…else
单分支
if(布尔型表达式){
布尔型表达式为真时执行的代码块;
}
双分支
if(布尔型表达式){
布尔型表达式为真时执行的代码块;
}
else{
为假时执行的代码块;
}
可见单分支有不执行的情况,但是双分支一定有一个分支执行
多分支
if(布尔型表达式){
代码块;
}
else if (布尔型表达式){
代码块;
}
.
.
.
else {
代码块;
}
switch
java1.7之前只能传入int值,但是从1.7开始可以传入字符串,使用如下
switch(值){
case 值1:
执行代码块;
break;
case 值2:
执行代码块;
break;
.
.
.
default:
执行代码块;
break;
要注意的是在每个case后面都要加上break,否则会造成case穿透(在后续不会判断case值直接执行代码块,直至遇到break或运行结束)
例:
int a = 2;
switch (a) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println(5);
break;
此时输出结果为2,然后删除case 2 的break,输出结果为2,3
不过利用这个特性也可以做到合并的效果。
3.循环结构
for循环
for(表达式1;表达式2;表达式3){
代码块;
}
执行顺序为先执行表达式1,执行表达式2,若结果为真则运行代码块,然后执行表达式3,下一步再次执行表达式2…直至表达式2为假,终止循环
while循环
while(布尔型){
代码块;
}
布尔型为真则执行代码块,直至布尔型为假终止循环。
do…while循环
do{
代码块;
}while();
即先执行一次代码块再做while循环
break & continue
break:打断,可以用在switch中结束case分支,也可以用在循环中结束当前循环,当发生循环嵌套时,只终止内层循环,比如
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("j=" + j + " ");
if (j == 1)
break;
}
System.out.println("i=" + i);
}
如果想要终止指定循环,则可以给循环起一个名字
outerFor: for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("j=" + j + " ");
if (j == 1)
break outerFor;
}
System.out.println("i=" + i);
}
continue:跳过本次循环
for (int i = 0; i < 5; i++) {
if (i == 3)
continue;
System.out.println("i=" + i);
}
三、方法
就是很多条语句的集合,把这些代码放到方法中,方便下次直接用
1.方法声明
修饰符列表 返回值类型 方法名 (参数) {
代码块;
}
修饰符列表:可以有,可以没有,也可以有多个。
权限修饰符有:public,protected,private,“不写”;四种,四个只能选一个。
其他修饰符有:static,synchronized,abstract,final等,其中abstract 和final 只能二选一
返回值类型:8+3数据类型的任意一种,如果不需要返回值则为void
方法名:驼峰命名法
方法体:需要注意的是return终止并返回,如果为void,return可不写,如果写的话不能添加值。
方法分类:
静态方法:使用static修饰的方法
成员方法:没有使用static修饰的方法
构造方法:创建对象使用
方法调用:
静态方法:类名.静态方法名(参数)
成员方法:对象引用.成员方法名
方法不调用不执行,调用才执行,而且编写方法的时候只考虑功能的实现,最终这个方法被用来做什么与声明无关