分支结构
一、扫描仪 Scanner[JavaSE 阶段重点应用]
-
创建一个扫描仪对象
java.util.Scanner sc = new java.util.Scanner(System.in);
-
使用扫描仪
int n = sc.nextInt();//输入一个整数 double d = sc.nextDouble(); //输入一个小数 String s = sc.next();//输入一个字符串 String s = nextLine();//输入一个字符串,可以吸收空格 char c = sc.next().charAt(0);//输入一个字符 boolean b = sc.nextBoolean();//输入一个boolean类型
二、导包(import)[重点]
-
语法:
import 包名1.包名2//导入指定包中的一个类 import 包名1.包名2.*;//导入指定包的所有类
-
位置:
(1)定义在package语句后面,所有类class的前面 (2)import语句在源文件中没有个数限制
-
注意:
java.lang 包中的内容会自动导入
三、分支结构
-
if分支结构
(1)if基本结构if(判断条件/布尔表达式){//条件成立执行的语句} (2)if...else结构if(判断条件/布尔表达式){//条件成立,执行的语句}else{//条件不成立执行的语句}执行原理:如果条件成立-true;执行if后面{}中的内容,否则-false执行else后面{}的语句 (3)多重的if...else结构if(条件1/布尔表达式1){//语句1}else if(条件2/布尔表达式2){//语句2}else if(条件3/布尔表达式3){//语句3}else{//语句4}执行原理:从上往下一次的判断if的条件,哪一个条件成立,则执行对应后面{}中的内容,如果if中的条件都不成立,则执行最后的else中的内容 (4)if嵌套结构if(判断条件1){if(判断条件2){//语句1}else{//语句2}}执行原理:先判断外层条件,条件成立则,再判断内容if条件
-
switch…case结构
(1)特点:等值分支语句 (2)语法结构:switch(表达式){case 值1:语句1;case 值2:语句2;case 值3:语句3;default:语句n;} (3)注意事项:a.switch后面括号中表达式的结构类型必须是byte、short、int、char;jdk7.0及以上版本,支持String类型【面试题目】b.break来终止switch...case结构;防止case穿透c.case后面的值不允许重复d.defualt可以定义在case前面也可以定义在case后面,如果定义在前面,break不能被省略;如果定义在case后面,break可以省略 (4)开发应用:在实际开发web来开发时应用场景不多,在JavaSE通常利用switch...case来做项目界面
四、局部变量[基础重点]
-
局部变量:定义在函数、方法内部的变量
-
特点:
(1)先赋值,再使用可能报的错误:可能未初始化变量 (2)作用范围:从定义位置开始,到定义它的代码块结束注意:超出作用范围可能报的错误:找不到符号 (3)在重合的作用范围内,不允许命名冲突可能报的错误:已在方法main(String[])中定义了变量a
面试题目:写出Java中局部变量的概念及特点。1.定义在函数、方法内部的变量2.特点:a.先赋值,再使用b.作用范围:从定义位置开始,到定义它的代码块结束c.在重合的作用范围内,不允许命名冲突
循环结构
一、循环
-
概念:通过某个条件,重复并且有规律的执行一段代码
-
循环的组成部分:
循环变量的初始化、循环条件、循环变量的改变(递增、递减等)、循环体(重复执行的代码)
二、循环的分类
-
while循环
//循环变量的初始化 while(循环条件){ //循环体//循环变量的改变 } (1)执行的原理:先判断循环条件是否成立-true,如果成立,则执行循环体的内容,从而循环变量发生改变,然后再判断循环条件是否成立,如果成立,继续执行循环体内容,同时循环变量再次改变,然后判断循环条件是否成立...直到循环条件不成立-false,循环结束,继续执行循环结构以后的内容 (2)执行特点:先判断,再执行,执行的次数0~n次 (3)注意:如果定义循环时,循环变量没有发生改变或是循环条件给的不合理,可能出现死循环
-
do…while循环
(1)语法:do{ //循环体//循环变量的改变}while (循环条件);//分号不能省略 (2)执行原理:先进入执行体执行一次,然后判断循环条件是否成立-true;如果成立,则继续执行循环体的内容,再次判断循环条件...直到循环条件不满足为止;循环结束,继续执行循环结构以后的内容。 (3)执行特点:先执行,再判断,执行次数1~n次do...while 至少执行一次循环体
-
for循环【开发应用重点】
(1)语法:for(循环变量的初始化 ;循环条件 ;循环变量的改变 ){ //循环体} (2)执行原理:先执行循环变量的初始化,然后判断循环条件是否成立,若成立-true,则执行循环体;改变循环变量,再次判断循环条件是否成立,若成立-true,继续执行循环体,改变循环变量,直到循环条件不成立-false,循环结束,执行循环结构后续的内容 (3)执行的特点:先判断,再执行,执行0~n次 (4)细节:a.若循环条件没有定义,则默认为true,从而进入死循环状态for(int i=1; ;i++){ }b.循环变量初始化可以定义在for结构的上面,但是定义在for上面的循环变量不会随着循环的结束而内存空间消失,浪费内存资 源,建议将循环变量的初始化定义在 for ()中c.循环变量的改变部分可以定义循环体中,但是不能重复定义循环变量改变的语句
三、循环控制语句【重点】
-
break:结束、终止循环
-
continue:结束本次循环,从而进入下一次循环
面试题目:写出break和continue的区别break:不仅可以用于控制switch...case结构,还可以控制循环break结束、终止switch...case结构,防止case穿透break终止、结束循环continue:只能用于控制循环结构,结束本次循环,从而进入下一次循环
循环使用小结: do...while通常用于首次进入循环不受循环条件的限制,所以不常用 循环次数确定的情况下,通常选择for循环 循环次数不确定的情况下,通常选择while循环
四、循环嵌套【开发应用难度不大,面试难度大】
-
概念:在一个循环中嵌套另一个完整的循环结构
//外层循环 for( ; ;){ //内层循环for( ; ;){ } } 注意:循环次数通常为:外层循环次数*内层循环次数
-
可以利用循环嵌套打印输出图形,通常用外层循环控制图形的行数,内层循环来控制图形的列数
-
break和continue在循环嵌套中的应用
break :结束、终止本层循环(定义在哪一层循环结构中,作用于哪一层) continue :结束的本层的本次循环,从而进入本层的下一次循环
-
lable标签:可以对每一层循环做个标记,可以利用标记操作循环
outer: 用在外层标记 inner: 用在内层标记
-