3.16 第二天 Java基础
选择结构(流程控制)语句
if语句
if语句是指如果满足某种条件,就进行某种处理
if语句的三种格式
if语句
public class IFDemo1 {
public static void main(String[] args) {
int a = 5;
if (a < 10) {
a++;
}
System.out.println("a=" + a);
}
//执行结果:a=6
if…else语句
if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。
- 语法格式
if (判断条件){
执行语句 1
……
}else{
执行语句 2
……
}
示例
public class Demo2 {
public static void main(String[] args) {
int num = 19;
if (num % 2 == 0) {
// 判断条件成立,num被 2整除
System.out.println("num是一个偶数");
} else {
System.out.println("num是一个奇数");
}
}
}
//输出num是一个奇数
if…else if…else语句
if…else if…else语句用于对多个条件进行判断,进行多种不同的处理
示例
class Demo3 {
public static void main(String[] args) {
int gender = 2;
if (gender == 1) {
System.out.println("男");
}else if (gender == 0) {
System.out.println("女");
}else {
System.out.println("其他");
}
}
}
if嵌套书写
if嵌套书写
书写格式
if(比较表达式 1) {
if(比较表达式 2) {
语句体 1;
}
语句体 2;
}
三元运算
三元运算符, if-else语句类似,语法如下:
判断条件 ? 表达式 1 : 表达式 2
示例:
int x = 0;
int y = 1;
int max;
if (x > y) {
max = x;
} else {
max = y;
}
//普通选择
int max = x > y ? x : y;
//三元运算
//上诉段代码结果一样
三元运算符嵌套
public class Demo05 {
public static void main(String[] args) {
int gender = 2;
//先判断等于 【1 】的情况,再判断 等于 【2】,如果两个 1、2都不满足,那
么就是【其它】
String genderStr = (gender == 1) ? "男" : (gender == 2) ? "女" : "
其它";
System.out.println(genderStr);
}
}
switch语句
switch 条件语句也是一种很常用的选择语句,它和 if 条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。
switch 可以包含一个 default 分支,所有的 case 语句都不满足条件时,则执行default语句
示例:
class Demo {
public static void main(String[] args) {
int week = 1;
switch (week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("没有对应的星期");
break;
}
}
}
注意:程序进入switch后开始执行,便顺序执行,直到遇到break后退出循环。
switch 穿透
public class season {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入月份:");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
switch(i)
{
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;
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
default:
System.out.println("请说人话");
break;
}
}
}
for循环
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下
语法格式
for(初始化表达式; 循环条件; 操作表达式){
执行语句
………
}
for关键字后面()中包含了三部分内容:
1. 初始化表达式
2. 循环条件
3. 操作表达式
它们之间用”;”分隔,{}中的执行语句为循环体。
执行流程for(【1】 ; 【2】 ; 【3】){ 【4】 }
第一步,执行【1】
第二步,执行【2】,如果判断结果为 true,执行第三步,如果判断结果为 false,执行第
五步
第三步,执行【4】
第四步,执行【3】,然后重复执行第二步
第五步,退出循环
示例:求1~4的和
public class ForDemo01 {
public static void main(String[] args) {
int sum = 0; // 定义变量sum,用于记住累加的和
for (int i = 1; i <= 4; i++) { // i的值会在 1~4之间变化
sum += i; // 实现 sum与 i的累加
}
System.out.println("sum = " + sum); // 打印累加的和
}
}
for循环的其它写法
//输出1~10
//写法一
for(int i = 1; i<=10; i++){
System.out.println("第一种写法:"+i);
}
System.out.println("-----------------------");
//写法二
int i;
for(i = 1; i<=10; i++){
System.out.println("第二种写法: "+ i);
}
System.out.println("-----------------------");
//写法三
int j = 1;
for( ; j<=10; j++){
System.out.println("第三种写法: "+ j);
}
嵌套循环
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。
while、do…while 、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套
常见for循环嵌套格式如下
for(初始化表达式; 循环条件; 操作表达式) {
...
for(初始化表达式; 循环条件; 操作表达式) {
执行语句
...
}
...
}
break、contine 跳转语句
跳转语句用于实现循环执行过程中程序流程的跳转
break语句
break可以跳出循环
示例
public class Demo3 {
public static void main(String[] args) {
int x = 1; // 定义变量 x,初始值为 1
while (x <= 4) { // 循环条件
System.out.println("x = " + x); // 条件成立,打印 x的值
if (x == 3) {
break;
}
x++; // x进行自增
}
}
}
break 标记退出多重循环
Java 跳出多重循环可以使用 label 标记,在最外面一个循环前加上【label:】,在需要的跳出的地方写 break label即可跳出。
示例
public static void main(String[] args) {
jf: for (int i = 1; i <= 9; i++) { // 外层循环
for (int j = 1; j <= i; j++) { // 内层循环
if (i > 4) { // 判断 i的值是否大于 4
break jf; // 跳出外层循环
}
System.out.print("*"); // 打印*
}
System.out.print("\n"); // 换行
}
}
笔试题目:break目前位于内层的 for循环,如何才能让 break作用于外层 的 for循环。
contine语句
continue语句用在循环语句中,作用是终止本次循环,执行下一次循环。
示例
public class try_continue {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0; // 定义变量sum,用于记住和
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) { // i是一个偶数,不累加
continue; // 结束本次循环
}
sum += i; // 实现 sum和 i的累加
}
System.out.println("sum = " + sum);
}
}
循环语句 while、do…while
while 语句
while循环语句和选择结构 if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句,两者区别在于,while 语句会反复地进行条件判断,只要条件成立会一直执行{}里面的代码,直到条件不成立
while循环语句的语法结构如下:
while(循环条件){
执行语句
………
}
{}中的执行语句被称作循环体,循环体是否执行取决于循环条件
示例
public class Demo4 {
public static void main(String[] args) {
int a = 1; // 定义变量 a,初始值为 1
while (a <= 4) { // 循环条件
System.out.println("a = " + a); // 条件成立,打印 x的值
a++; //a进行自增
}
System.out.println("执行结束!");
}
}