个人名片:
作者简介:一名大一在校生
❄️个人主页:小新爱学习.
个人WeChat:hmmwx53
️系列专栏:零基础学java ----- 重识c语言
每日一句:人生没有一劳永逸,想不被抛弃,只有自己努力
活动地址:CSDN21天学习挑战赛
**
**
1,机缘
我是一名普二学生,由于疫情原因大一下班学期也是没有开学,不甘堕落于是在互联网这片汪洋大海中,摸寻着前进的方向,也是偶然的机会接触到了CSDN,在这里有一群志同道合的朋友一起努力,于是自己也加入了进了,一篇两篇,也收获了很多的粉丝,推动着我前进…
2,收获
在CSDN这个大家庭里,每天都过得很充实,尤其是有不错的粉丝量,文章上了热榜,都会让我高兴半天,也结识了很多优质博主,像凉哥,哪吒…
3,日常
创作已经成为记录生活的一部分了,这里有我成长的点滴…
4,憧憬
有朝一日我也能成为优质博主,有自己的铁粉团队…
**
**
1,学习目标
这21天我们可以分为3周,每周更新三篇
2,学习内容
3,学习时间
每周一,周三,周六
4,学习产出
技术笔记每周3篇
Blink若干
**
代码是从上往下执行的。
代码示例:
public class Demo2If {
public static void main(String[] args) {
//1.if分支语句:if(){}
int age=10;
if(age>18) {
System.out.println("已经成年了");
}
//2.if分支语句if(条件1){语句体1}else{语句体2}
int score=100;
if(score>=60) {
System.out.println("恭喜你,及格了");
}else {
System.out.println("很遗憾,不及格");
}
//3.if(){}else if(){}else()
int num=10;
if(num>10) {
System.out.println("这个数比10都大");
}else if(num==10){
System.out.println("这个数就是10");
}else {
System.out.println("这个数比10小");
}
//练习:定义三个数,比较他们大小,找出最大的数;要求使用If语句来完成
int a=1,b=3,c=4;
if(a>=b&&a>=c) {//a是最大的
System.out.println(a);
}else if(b>=a&&b>=c) {//b是最大的
System.out.println(b);
}else{
System.out.println(c);
}
//方法2
int max=a;//把a直接当成最大的那个数
if(max<=b) {
max=b;//max是a和b里边的最大数
}
if(max<=c) {
max=c;//max是a,b,c里边的最大数
}
//max是a,b,c里边的最大数
System.out.println(max);
//方法三:三目运算符:执行效率远远大于if()语句;
}
1.格式:
switch(表达式){case 值1:语句体1;break;case 值2:语句体2;break;case 值3:语句体3;break;default:语句体n;break;}
2.含义:多选1,通过表达式里的数值,与case里边的相匹配,如果匹配上,执行它那行的代码;
如果匹配不上,执行default里边的内容
3.注意事项:如果switch语句中,case后边省略了break语句,那么case就会穿透。直到遇到下一个break或者程序结束为止。
public class Demo3Switch {
public static void main(String[] args) {
/*1.switch语句:多选1
switch() {
case 数值1:语句体1;
break;
case 数值1:语句体1;
break;
case 数值1:语句体1;
break;
case 数值1:语句体1;
break;
...
default:语句体n;
break;
}
*/
//定义一个数,看他是星期几;
int week=2;
switch(week) {
case 1:
System.out.println("今天是星期一");
break;//结束当前语句体的标志;
case 2:
System.out.println("今天是星期二");
//如果break去掉以后,case将会不在起到匹配作用,而是一次往下执行,
break;//直到遇到下一个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;
}
}
}
格式:
for(初始化语句1;条件判断语句2;条件控制语句4){循环体3}
2.执行过程:
1.初始化语句1,条件判断语句2,循环体3,条件控制语句4
2.条件判断语句2是否成立,如果成立,循环体3,条件控制语句4
3.条件判断语句2是否成立,如果成立,循环体3,条件控制语句4
…
4.条件判断语句2是否成立,如果不成立,循环结束。
1.格式:初始化语句1;while(条件判断语句2){循环体3;条件控制语句4}
2.执行过程:
1.初始化语句1,条件判断语句2,循环体3,条件控制语句4
2.条件判断语句2是否成立,如果成立,循环体3,条件控制语句4
3.条件判断语句2是否成立,如果成立,循环体3,条件控制语句4
…
4.条件判断语句2是否成立,如果不成立,循环结束。
public class Demo2While {
public static void main(String[] args) {
//1.while循环:格式:初始化语句1;while(条件判断语句2){循环体3;条件控制语句4}
/*
* 第一遍:int i=1,判断i<5?如果小于,执行循环体System.out.println("HelloWorld");i++;
* 第二遍:i=2,判断i<5?如果小于,执行循环体System.out.println("HelloWorld");i++;
* 第三遍:i=3,判断i<5?如果小于,执行循环体System.out.println("HelloWorld");i++;
* 第四遍:i=4,判断i<5?如果小于,执行循环体System.out.println("HelloWorld");i++;
* i=5,判断i<5?结束循环;
* */
int i=100;
while(i<5) {
System.out.println("HelloWorld");
i++;
}
//练习:使用while循环,实现1+2+...+100的操作;
int j=1,sum=0;
while(j<=100) {
sum=sum+j;//sum+=j;
j++;//结束循环的条件控制
}
System.out.println(sum);
}
}
1.格式: 初始化语句1;do{循环体3;条件控制语句4;}while(条件判断语句2);
/*
* 1.初始化语句1:int i=1;执行循环体语句3:System.out.println("HelloWorld");执行条件控制语句4;
* 执行条件判断语句2,如果成立;进行下一轮循环
* 2.执行循环体语句3:System.out.println("HelloWorld");执行条件控制语句4;
* 执行条件判断语句2,如果成立;进行下一轮循环
* ...
* n.执行循环体语句3:System.out.println("HelloWorld");执行条件控制语句4;
* 执行条件判断语句2,如果不成立,循环结束
*/
注意事项:
1.do…while()循环无论条件是否满足,都至少执行一次
2.for()循环和while()循环都是先判断,后执行循环体;
do…while()循环先执行循环体,后进行判断
3.有限次数循环优先使用for()循环,无限次或者大批次优先使用while()循环;
4.do…while()循环不推荐使用,除非特定需求。
5.尽量避免死循环;
死循环一般用于不确定需要循环多少次,在他的内部加上结束死循环的条件。
2.contiune和break关键字
1.break:就是结束语句体的标志;在循环结构中用于结束循环。
2.continue:结束当前循环,进行下一轮循环。
public class Demo3DoWhile {
public static void main(String[] args) {
//1.do...while()循环:格式:初始化语句1;do{循环体3;条件控制语句4;}while(条件判断语句2);
/*
* 1.初始化语句1:int i=1;执行循环体语句3:System.out.println("HelloWorld");执行条件控制语句4;
* 执行条件判断语句2,如果成立;进行下一轮循环
* 2.执行循环体语句3:System.out.println("HelloWorld");执行条件控制语句4;
* 执行条件判断语句2,如果成立;进行下一轮循环
* ...
* n.执行循环体语句3:System.out.println("HelloWorld");执行条件控制语句4;
* 执行条件判断语句2,如果不成立,循环结束
*/
int i=100;
do {
System.out.println("HelloWorld");
i++;
}while(i<5);
}
}
1.特点:外层控制行,内层控制列。
for(int i=1;i<=2;i++){//外层for
for(int j=1;j<=2;j++){//内层for
System.out.print("* ")
}
System.out.println()
}
执行过程:1.先执行外层for,int i=1;在判断i<=2;如果满足,执行内层for
1.执行内层for,int j=1;在判断j<=2;如果满足,执行内层for的循环体内容;执行:System.out.print("* ")
2.内层j++;在判断j<=2;如果满足,执行内层for的循环体内容;执行:System.out.print("* ")
3.内层j++;在判断j<=2;如果不满足,内层for结束,程序往下执行,执行System.out.println()
2.执行外层for,i++;在判断i<=2;如果满足,执行内层for
1.执行内层for,int j=1;在判断j<=2;如果满足,执行内层for的循环体内容;执行:System.out.print("* ")
2.内层j++;在判断j<=2;如果满足,执行内层for的循环体内容;执行:System.out.print("* ")
3.内层j++;在判断j<=2;如果不满足,内层for结束,程序往下执行,执行System.out.println()
3.执行外层for,i++;在判断i<=2;如果不满足,外循环for结束。
Demo:
public class Demo1TestFor {
public static void main(String[] args) {
//*****
for(int i=1;i<=5;i++) {
//System.out.println("*");//打印出来*,并且进行换行;
System.out.print("*");//只打印出来*
}
/*2.我想通过打印*,来实现打印出:
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* */
//双层for循环
for(int i=1;i<=5;i++) {//外层for:控制打印的行数
for(int j=1;j<=5;j++) {//内层for:控制打印的列数
System.out.print("* ");//只打印出来*
}
System.out.println();//用来控制换行操作
}
//99乘法表
/*
* 1*1=1;
* 2*1=2;2*2=4;
* .....
* 9*1=9;9*2=18;.........9*9=81;
*
*
* */
for(int i=1;i<=9;i++){//控制行数
for(int j=1;j<=i;j++) {//控制列数,每一行的个数。
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();//控制换行
}
}