一、键盘录入(Scanner)
1.导包 import java.util.Scanner;
2.创建Scanner变量 Scanner sc = new Scanner(System.in);
3.接收数据
接收字符串
next():遇到空格和回车结束
nextLine():遇到回车结束
nextInt():接收int类型整数
nextDouble():接收double类型的小数
next().charAt(0):接收字符串中的第一个字符
二、if语句(选择结构)
1.基本if语句
if(布尔类型表达式){
代码块
}
执行流程:
判断布尔类型表达式,结果为true执行代码块,然后继续执行后续代码
结果为false,跳过代码块执行后续代码。
2.if...else
if(布尔类型表达式){
代码块1
}else{
代码块2
}
执行流程:
布尔类型表达式为true,执行代码块1
布尔类型表达式为false,执行代码块2
3.多重if
if(布尔类型表达式1){
代码块1
}else if(布尔类型表达式2){
代码块2
}else if(布尔类型表达式3){
代码块3
}...
else{
代码块4
}
执行流程:
判断布尔类型表达式1,为true,执行代码块1,否则,
判断布尔类型表达式2,为true,执行代码块2,否则,
判断布尔类型表达式3,为true,执行代码块3,以上判断
均为false执行代码块4
4.if嵌套
概念:在一个完整的if结构中嵌套另一个。
语法:
if(){
if(){
}else{
}
}else{
}
5.switch(分支结构)(掌握)
语法:
//变量可以是byte、short、int、char、String(JDK7+)
switch(变量|表达式){
case 值1:
代码块1
break;
case 值2:
代码块2
break;
case 值3:
代码块3
break;
...
default:
为满足条件
}
执行流程:
先判断变量与值1是否相等,相等执行代码块1,否则
判断是否与值2相等,相等执行代码块2,否则
判断是否与值3相等,相等执行代码块3,直到
所有case都不相等执行default
注意:
1.每一个case中需要加break。
2.default可以写在switch任意位置,写在switch末尾不需要加break。
3.每一个case的值不能重复。
6.if和switch区别?
if用于判断区间值
switch用于等值判断
循环
一、while循环
语法
while(布尔类型表达式){
循环操作(循环体)
}
执行流程
判断布尔类型表达式如果为true,执行循环体,然后回到判断条件,为true继续执行循环体,直到为false循环结 束。
特点:首次有入口条件,先判断,再执行,适用于循环次数明确的情况。
二、do...while...
语法:
do{
循环操作(循环体)
}while(条件判断);
执行流程:
先执行循环操作,然后做判断,结果为true则再次执行循环操作,直到结果为false循环结束。
特点:首次执行没有入口条件,先执行,再判断,适用于循环次数不明确情况。
三、for循环
语法:
for(初始部分; 条件判断; 迭代部分){
循环操作(循环体)
}
执行流程:
1.执行初始部分(仅执行一次)。
2.执行条件判断,结果为true。
3.执行循环操作
4.执行迭代部分,再次回到判断条件,为true继续执行循环操作,直到为false循环结束,执行后续代码。
特点:首次有入口条件,先判断,再执行,适用于循环次数明确的情况。
四、java中三个循环的区别?(背)
while、for:首次有入口条件,先判断,再执行,适用于循环次数明确的情况。
do...while:没有入口条件,先执行,再判断,适用于循环次数不明确的情况。
for比while语法更清晰,可读性更高。
五、break、continue
break:用在switch和循环中,表示结束switch和结束当前循环。
continue:用在循环中,表示跳出本次循环,继续执行下次循环。
六、循环的嵌套应用(掌握)
总结:外层循环控制行
内层循环控制列
数组
概念:一组连续的存储空间,存储多个相同数据类型的值。
数组的特点:(背)
1.类型相同
2.长度固定
数组的使用:
语法:数组名[下标]:访问数组元素
下标:从0开始,依次+1,最大下标是数组长度-1.
数组的遍历(掌握)
概念:依次访问数组中的每一个元素。
代码:
for(int i = 0; i<数组名.length; i++){
System.out.println(数组名[i]);
}
数组默认值
整数(byte short int long):0
小数(float double):0.0
字符(char):空格
布尔(boolean):false
引用类型(String...):null
数组的创建
方式1:先声明,再分配空间(掌握)
语法:数据类型[] 数组名; 数组名 = new 数据类型[数组长度];
举例:byte[] b;//声明
b = new byte[10];//分配空间
方式2:声明并分配空间 (掌握)
语法:数据类型[] 数组名 = new 数据类型[数组长度];
举例:int[] a = new int[5];
方式3:声明并赋值(复杂)(了解)
语法:数据类型[]
语法:数组名 = new 数据类型[]{value1,value2...};
举例:int[] a2 = new int[]{1,2,3,6};
方式4:声明并赋值(简单) (掌握)
语法:数据类型[] 数组名 = {value1,value2...};
举例:int[] a3 = {1,2,3,4,5,6};
函数
1.概念:实现特定功能的一段代码,反复使用。
2.语法:(掌握)
public static void 函数的名称(){
函数主体
}
函数主体:程序中出现多次重复的代码应该定义在函数内部。
3.函数的调用:函数名称();
4.注意:当遇到函数调用,会优先执行函数内部代码,执行完毕后程序流程回到调用位置。
带有参数的函数语法:
public static void 函数名称(形式参数){//形式参数等同于局部变量的声明
函数主体
}
调用语法:函数名称(实际参数);
注意:调用函数时要保证实际参数列表与形式参数列表顺序,个数,类型一致。(背)
5.返回值与返回值类型
public static 返回值类型 函数名称(形式参数){
函数主体
return 返回值;
}
调用:
变量 = 函数();
注意:返回值类型必须和返回值一致。
6.return的用法
两种情况:
1.应用在返回值类型为void函数中。
语法:return;//表示结束当前函数,直接回到调用位置
2.应用在返回值类型除void以外函数中。
语法:return value;//表示结束当前函数,并伴有一个结果返回到调用位置
7.函数总结
注意:
1.函数之间并列关系。
2.函数不能嵌套。
3.一个函数只完成一个功能。
好处:
增强可读性
提高复用性
减少代码冗余
提高可维护性
方便分工合作