1.运算符
1.1 运算符和表达式:
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合java语法的式子叫做表达式
int a = 1; int b = 1; int c = a+b;
+ :是运算符,并且是算数运算符
a+b :是表达式,由于+是算术运算符,所以这个表达式叫算数表达式
1.2赋值运算符
赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量
| 符号 | 作用 | |
|---|---|---|
| = | 赋值 | |
| += | 加后赋值 | |
| -= | 减后赋值 | |
| *= | 乘后赋值 | |
| /= | 除后赋值 | |
| %= | 与余后赋值 |
注意,
short s =10; s = s+10;//此代码报错,因为为int类型,而short加int结果为int,高精度向低精度转换 s += 10;// 此代码没有问题,相当于s = (short) (s+10)
1.6三元运算符:
关系表达式 ? 表达式1:表达式2;
int a = 1; int b = 2; int c = a>b ? a: b //判断a>b是否为真,如果为真取a的值,如果为假,取b的值
补充:
字符串拼接符
+ :把多个数据平成一个字符串
如果+ 两边时数字,则为和运算
如果 + 两边有一个字符串,则为字符串拼接符,用来把他们连接到一起
1.7数据输入
1)导包:Scanner类在Java.util包下,所以需要将该类导入
import java.util.Scanner;
2)创建Scanner对象:
Scanner scanner = new Scanner(System.in);
3)接受数据
int i = sc.nextInt();
2.流程控制语句
循环三要素:起始值,终止条件,步长
分类:顺序结构,分支结构(if , switch),循环结构(for,while,do....while)
2.1顺序结构:没有特定的语法结构,按照代码的先后顺序依次执行。
2.2分支结构(if)
if(关系表达式){
语句体;
}
1,首先计算关系表达式的值
2,如果关系表达式的值为true就执行语句体
3,如果关系表达式的值为false就不执行语句体
4,继续执行后面的语句内容
事例
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个年龄");
int age = sc.nextInt();
if(age>=1&&age<=5){
System.out.println("幼儿");
}else if (age>5&&age<=18){
System.out.println("青少年");
}else if(age>18&&age<=35){
System.out.println("青年");
}else if(age>35&&age<=60){
System.out.println("中年");
}else if(age>60&&age<=100){
System.out.println("老年");
}else{
System.out.println("请输入正确年龄");
}
2.3 switch结构
switch(表达式){
case1:
语句体1;
break;
case2:
语句体1;
break;
case3:
语句体1;
break;
}
执行流程,首先计算出表达式的值,其次,和case比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束,最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份");
int month = sc.nextInt();/
switch(month){
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("你输入的月份有误");
}
2.3循环语句(for)
循环:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要再合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
for 循环格式
for( 初始化语句;条件判断语句;条件控制语句){}
初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
循环体语句:用于表示循环反复执行的内容,简单来说就是循环反复执行的事情
条件控制语句:用于表示执行中每次变化的内容,简单说就是控制循环是否能执行下去
执行流程:
1执行初始化语句,2执行条件判断语句,但其结果时true还是false如果是false,循环结束,如果是true,继续执行。3执行循环体语句 4 执行条件控制语句 5回到2继续
举例
int i ;
int sum = 0;
for(i = 1;i<=100;i++){
sum += i;
System.out.println(sum);
}
循环结构(while)
2.4 while(条件判断语句){
循环体语句;
条件控制语句
}
while循环执行流程:
1)执行初始化语句
2)执行条件判断语句,看起结果true还是false
如果是false,循环结束
如果时true,继续执行
3)执行循环体语句
4)执行条件控制语句
5)回到2)继续
int j = 1;
while(j<=5){
System.out.println(111);
j++
}
2.5 循环do...while循环结构
格式:
do{
循环体语句
条件控制语句;
}while(条件判断语句)
do{}while 循环可以保证循环至少一次
三种循环的区别:
for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do...while先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
for和while的区别
条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结构中,该变量还可以继续使用。
2.5 死循环的三种格式
1for(;;;){}
2while(true)
3do{}while(true);
2.6 跳转控制语句
break:跳出循环,结束循环
continue :跳出本次循环。继续下次循环
注意:continue 只能在循环中进行使用
3 方 法3.1概述:
方法就是很多条语句的集合。把这些代码放到方法中,然后就可以多次使用这个方法
方法的目的:代码复用。让程序更加简短清晰,提高开发效率
3.2方法声明:
声明 :
修饰符列表 返回值类型 方法名 (参数列表){ 方法体 }
修饰符列表 : 可以有,可以没有,可以有多个
权限修饰 : public protected private 不写 四选一
其他修饰 : static , synchronized ,abstract , final 二选一 .....
返回值类型 : 11种数据类型中的任意一种 , 如果不需要返回值,则写 void方法名 : 方法的名字,望文知义,驼峰命名法参数列表 : 要做一件事,需要的必备条件,可以作为入参。可以有多个,用 , 逗号隔开 比如 int a , int b , int c....
形参 : 在方法声明的时候,定义的参数列表
实参 : 方法调用时,实际传入的数据
方法体 : 需要执行的代码
注意 : return 终止方法运行并返回
如果有返回值类型的方法中,方法体必须有return语句
比如 public static int m1(){
eturn 1;// 这里的1 只要是int值即可,因为返回值为int类型
}
如果 没有返回值 那么可以写return 也可以不写 ,就算写return 也不能返回数据,只能终止运行
public static void m1(){
return; // 只有终止方法运行的功能
}
3.3方法分类:
1)静态方法:使用static修饰的方法,是静态方法
2)成员方法:没有static修饰的方法
3)构造方法:创建对象使用
调用:
静态方法:类名,静态方法名(参数),同类中 类名可以省略
成员方法:对象引用 .成员方法名(参数)
方法不调用补执行,调用才执行,并把结果返回到调用出
编写方法 只考虑功能的实现,最终这个方法被用来做什么,以声明无关。



