根据条件,选择执行某段代码
- if-else
if(条件表达式){
执行代码块1;
}else{
执行代码块2;
}
class Test6{
public static void main (String[] arges){
int age = 22;
if(age<0){
System.out.println(“数据错误”);
}else if(age<18){
System.out.println(“青年时期”);
}else if(age<40){
System.out.println(“壮年时期”);
}else if(age<60){
System.out.println(“中年时期”);
}else{
System.out.println(“老年时期”);
}
}
}
//壮年时期
-
switch-case
-
语法
switch(表达式){
case 常量1:
语句1;
[break;]
case 常量2:
语句2;
[break;]
default:
语句;
[break;]
}
- 示例
class Test7{
public static void main (String[] args){
int num=2;
switch(num){
case 0:
System.out.println(“zero”);
case 1:
System.out.println(“one”);
case 2:
System.out.println(“two”);
case 3:
System.out.println(“three”);
}
}
}
//two
//three
class Test7{
public static void main (String[] args){
int num=2;
switch(num){
case 0:
System.out.println(“zero”);
break;
case 1:
System.out.println(“one”);
break;
case 2:
System.out.println(“two”);
break;
case 3:
System.out.println(“three”);
break;
}
}
}
//two
- 注意点
-
switch在判定成功后,会继续执行剩下的代码,除非遇到break或代码执行完毕才会停止
-
switch中表达式只能是:byte short char int 枚举类型 String类型
-
case 之后只能声明常量
根据循环结构,重复执行某段代码
- for循环
- 语法
for(初始化,循环条件,迭代){
循环体
}
- 示例
class forTest{
public static void main (String[] arges){
for(int i=0;i<4;i++){
System.out.println(“hello word”);
}
}
}
//hello word
//hello word
//hello word
//hello word
- while循环
- 语法
初始化;
while(循环条件){
循环体;
迭代;
}
- 示例
class whileTest{
public static void main (String[] agres){
int sum=0;
int i=0;
while(i<=100){
if(i % 2 == 0){
sum +=i;
}
i++;
}
System.out.println(sum);
}
}
//2550
- do-while循环
- 语法
初始化
do{
循环体;
循环条件;
}while(迭代)
//也就是do-while至少执行一次
- 示例
class doWhileTest{
public static void main (String[] args){
int sum=0;
int i=0;
do{
if(i % 2 ==0){
sum+=i;
}
i ++;
}while(i<= 100);
System.out.println(sum);
}
}
//2550
- 循环4个组成部分
-
初始化部分
-
循环条件部分
-
循环体部分
-
迭代部分
- 示例:做一个统计输入的正负数个数
import java.util.Scanner;
//引入模块
class Test1{
public static void main (String[] aegs){
Scanner scan =new Scanner(System.in);
//实例化
int positiveNumber = 0;
int negativeNumber = 0;
while(true){
int number =scan.nextInt();
if(number > 0){
positiveNumber ++;
}else if(number <0){
negativeNumber ++;
}else{
break;
//跳出循环
}
}
System.out.println(positiveNumber);
//输出统计正数出现个数
System.out.println(negativeNumber);
总结
三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。
- 第一个是算法
关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。
而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本
《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题
《算法的乐趣》共有23个章节:
![最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?](https://upload-images.jianshu.io/upload_images/24616006-5a7ec038dcfe278
必看视频!获取2024年最新Java开发全套学习资料 备注Java
6?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
d=1804892953)(image-https://img-blog.csdnimg.cn/img_convert/d03a705143646f4f3f6ea879d59b2788.png)(title-必看视频!获取2024年最新Java开发全套学习资料 备注Java)]
6?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
[外链图片转存中…(img-zNNI1QFK-1716456530266)]
- 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)
基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)
[外链图片转存中…(img-HsI63fN5-1716456530267)]
- 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)
[外链图片转存中…(img-IjsDs51w-1716456530267)]