• 【Java编程进阶之路】--- 21天学习挑战赛


    在这里插入图片描述

    个人名片:

    🐼作者简介:一名大一在校生
    🐻‍❄️个人主页:小新爱学习.
    🐼个人WeChat:hmmwx53
    🕊️系列专栏:零基础学java ----- 重识c语言
    🐓每日一句:人生没有一劳永逸,想不被抛弃,只有自己努力

    活动地址:CSDN21天学习挑战赛


    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
    想系统/深入学习某技术知识点…
    一个人摸索学习很难坚持,想组团高效学习…
    想写博客但无从下手,急需写作干货注入能量…
    热爱写作,愿意让自己成为更好的人…


    欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程。您可以从以下3个方面任选其一着手(不强制),或者按照自己的理解发布专栏学习作品,参考如下:

    **

    创作计划

    **
    1,机缘

    我是一名普二学生,由于疫情原因大一下班学期也是没有开学,不甘堕落于是在互联网这片汪洋大海中,摸寻着前进的方向,也是偶然的机会接触到了CSDN,在这里有一群志同道合的朋友一起努力,于是自己也加入了进了,一篇两篇,也收获了很多的粉丝,推动着我前进…

    2,收获

    在CSDN这个大家庭里,每天都过得很充实,尤其是有不错的粉丝量,文章上了热榜,都会让我高兴半天,也结识了很多优质博主,像凉哥,哪吒…

    3,日常

    创作已经成为记录生活的一部分了,这里有我成长的点滴…

    4,憧憬

    有朝一日我也能成为优质博主,有自己的铁粉团队…

    **

    学习计划

    **
    1,学习目标

    这21天我们可以分为3周,每周更新三篇

    2,学习内容

    • 第一周:周一
    • 搭建 Java 开发环境
    • 掌握 Java 基本语法
      第一周:周三
    • 掌握条件语句
    • 掌握循环语句
      第一周: 周六
    • 掌握方法
    • 掌握数组(一维,二维)

    3,学习时间
    每周一,周三,周六

    4,学习产出
    技术笔记每周3篇
    Blink若干

    **

    学习日记

    第一周周三:

    流程控制语句:

    1.顺序语句:

    代码是从上往下执行的。

    2.分支语句:

    1.if()语句

    • 1.if(条件1){语句体1}语句:当条件1满足的时候,执行if里的语句体1;
    • 2.if(条件1){语句体1}else{语句体2}:(2选1)当条件1满足的时候,执行if里的语句体1;如果条件1不满足,语句体2;
    • 3.if(条件1){语句体1}else if(条件2){语句体2}else{语句体3}:(3选1)**

    代码示例:

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    2.switch()语句:

    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;
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53

    循环语句:解决重复代码操作

    1.for():for循环

    格式:

    for(初始化语句1;条件判断语句2;条件控制语句4){循环体3}

    2.执行过程:

    1.初始化语句1,条件判断语句2,循环体3,条件控制语句4
    2.条件判断语句2是否成立,如果成立,循环体3,条件控制语句4
    3.条件判断语句2是否成立,如果成立,循环体3,条件控制语句4

    4.条件判断语句2是否成立,如果不成立,循环结束。

    2.while()循环:

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    3.do…while()循环:

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    注意事项:
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    1.双层for循环:

    1.特点:外层控制行,内层控制列。
    
    • 1
    for(int i=1;i<=2;i++){//外层for
    				for(int j=1;j<=2;j++){//内层for
    					System.out.print("* ")
    				}
    				System.out.println()
    	  		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    执行过程: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结束。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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();//控制换行
    		}
    	}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
  • 相关阅读:
    数据库连接池之c3p0-0.9.1.2,线上偶发APPARENT DEADLOCK,如何解?
    深入浅出Spring(23)
    快速切换目录工具c之windows版本
    免费小程序HTTPS证书
    记一次 .NET 某手术室行为信息系统 内存泄露分析
    Java面试之场景题汇总
    第五站:操作符(终幕)(一些经典的题目)
    课本在servlet中检索参数并验证,最后向用户发送验证消息
    Python循环结构程序设计
    duffing方程matlab绘制
  • 原文地址:https://blog.csdn.net/m0_68089732/article/details/126147429