语句块 n+1;
[break;]
}
switch语句中表达式的值必须是整型或字符型,常量值1~n必须也是整型或字符型。
简单说一下switch语句是怎么执行的(重点,初学的朋友要注意)。首先switch语句先计算表达式的值,如果表达式的值与case后的常量值相同,则执行该case后的若干个语句,直到遇到break语句为止。如果没有break,则继续执行下一case中的若干语句,直到遇到break为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句可选,如果不存在default语句,而且switch语句中的表达式的值与任何case的常量值都不相同,则switch不做任何处理。并且,同一个switch语句,case的常量值必须互不相同。
例:用switch语句打印出星期的英文单词
import java.util.Scanner;
public class GetSwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print(“请输入今天星期几:”);
int week = scan.nextInt();
switch (week) {
case 1:
System.out.println(“Monday”);
break;
case 2:
System.out.println(“Tuesday”);
break;
case 3:
System.out.println(“Wednesday”);
break;
case 4:
System.out.println(“Thursday”);
break;
case 5:
System.out.println(“Friday”);
break;
case 6:
System.out.println(“Saturday”);
break;
case 7:
System.out.println(“Sunday”);
break;
default:
System.out.println(“Sorry,I don’t konw”);
break;
}
}
}
这里Scanner是一个扫描器,用来输入的,使用时需在package下面用import语句导入Scanner类,我们可以在控制台中输入一个数字,然后用nextInt()来接收,这样week的值就是我们输入的数字,接下来执行switch语句,有7个case分别对应周一到周末,default在输入1~7以外的数据时执行。假设在控制台中输入1,则控制台会执行case 1后的语句,输出了Monday。
要注意的是case后的常量表达式的值可以为整数和字符,但不可以是实数后字符串,比如case 1.1,case “ok”都是非法的。
==================================================================
循环语句就是在满足一定条件的情况下反复执行某一个操作。包括while循环语句、do···while循环语句和for循环语句。
- while循环语句
while循环语句的循环方式为利用一个条件来控制是否要继续反复执行这个语句。
public class GetSum {
public static void main(String[] args) {
int x = 1; // 定义初值
int sum = 0; // 定义求和变量,用于存储相加后的结果
while(x <= 10) {
sum += x; // 循环相加,也即 sum = sum + x;
x++;
}
System.out.println(sum);
}
}
- do···while循环语句
do···while循环语句与while循环语句的区别是,while循环语句先判断条件是否成立再执行循环体,而do···while循环语句则先执行一次循环后,再判断条件是否成立。也即do···while至少执行一次。语法格式如下:
do
{
执行语句
} while (条件表达式);
下面对while循环语句与do···while循环语句进行一个对比:
public class Cycle {
public static void main(String[] args) {
int a = 10;
int b = 10;
// while循环语句
while(a == 8) {
System.out.println("a == " + a);
a–;
}
// do···while循环语句
do {
System.out.println("b == " + b);
b–;
} while(b == 8);
}
}
运行结果为:
这里,a、b都为10,先看while循环语句,进入while下语句块的条件是a == 8,很明显不成立,所以不执行,结果中没有关于a的结果,然后再看do···while循环语句,先执行一次do后的语句块,输出“b == 10”,然后判断while条件b == 8不成立,循环结束,所以结果只有一个do···while语句中执行的第一步b == 10。
- for循环语句
for循环语句是Java程序设计中最有用的循环语句之一。一个for循环可以用来重复执行某条语句,知道某个条件得到满足。语法格式如下:
for(表达式1; 表达式2; 表达式3)
{
语句序列
}
其中,表达式1为初始化表达式,负责完成变量的初始化;表达式2为循环条件表达式,指定循环条件;表达式3为循环后操作表达式,负责修整变量,改变循环条件。三个表达式间用分号隔开
例:用for循环语句求100以内所有偶数的和。
public class Circulate {
public static void main(String[] args) {
int sum = 0;
for(int i=2; i<=100; i+=2) {
sum += i;
}
System.out.println(sum);
}
}
for循环内,首先定义一个变量并赋初值,表示循环中i从2开始进行,然后条件为i<=100,即i<=100时进行循环并执行语句块中的语句,第三个表达式“i+=2”表示每次循环执行i=i+1,即没循环一次,i的值为在原来的基础上加2后的值。然后循环求sum的值,即2+4+6+8+···+100,当i=102时退出循环,执行输出语句,输出结果为2550。
说到for循环语句就不得提到foreach语句了,它是Java5后新增的for语句的特殊简化版本,并不能完全替代for语句,但所有foreach语句都可以改写为for语句。foreach语句在遍历数组等时为程序员提供了很大的方便。语法格式如下:
for(元素变量x : 遍历对象obj) {
引用了x的Java语句;
}
下面举一个例子说明foreach怎么遍历的:
int array[] = {7, 8, 9};
for (int arr : array) {
System.out.println(arr);
}
4、跳转语句
- a. break语句
break语句刚刚在switch中已经见过了,是用来中止case的。实际上break语句在for、while、do···while循环语句中,用于强行退出当前循环,为什么说是当前循环呢,因为break只能跳出离它最近的那个循环的循环体,假设有两个循环嵌套使用,break用在内层循环下,则break只能跳出内层循环,如下:
for(int i=0; i<n; i++) { // 外层循环
for(int j=0; j<n ;j++) { // 内层循环
break;
}
}
带标签的break
public class run {
public static void main(String[] args) {
outer:
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(j==3){
break outer;
}
System.out.println(i+“,”+j+" ");
}
System.out.println();
}
System.out.println(“结束”);
}
}
- b. continue语句
continue语句只能用于for、while、do···while循环语句中,用于让程序直接跳过其后面的语句,进行下一次循环。
例:输出10以内的所有奇数
public class ContinueDemo {
public static void main(String[] args) {
int i = 0;
while(i < 10) {
i++;
if(i%2 == 0) { // 能被2整除,是偶数
continue; // 跳过当前循环
}
System.out.print(i + " ");
}
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
更多笔记分享
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
助,可以扫码获取!!(备注Java获取)**
读者福利
由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴
[外链图片转存中…(img-myuFPyW0-1713452984188)]
[外链图片转存中…(img-ur8k9gWE-1713452984189)]
[外链图片转存中…(img-NUf95WCf-1713452984190)]
更多笔记分享
[外链图片转存中…(img-hBNG4Gzu-1713452984192)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!