Java学习笔记——基础知识(结构化编程与基本语法)

学习目标:

(1)学习结构化编程的基本概念
(2)java基础语法的掌握


学习内容:

1、 学习java结构化编程的思想
2、 掌握 Java分支语句(基本语法实现)
3、 掌握Java循环结构(基本语法实现)


Java结构化编程

结构化程式设计(英语:Structured programming)是1960年代开始发展起来的一种编程典范。它采用子程序、程式码区块、for循环以及while循环等结构来取代传统的goto。

应用代码一般是由三种结构组成:顺序结构、选择结构、循环结构

指导思想

自顶向下、逐步求精、模块化

编程过程

流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。常见的绘制工具有Visio、PowerDesigner等。

1、圆角矩形表示“开始”与“结束”。

2、矩形表示行动方案、普通工作环节用

3、菱形表示问题判断或判定(审核/审批/评审)环节

4、用平行四边形表示输入输出

5、箭头代表工作流方向

结构化编程的推论

任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构


java分支语句

条件分支语句

Java语言提供了两种判断语句:if语句和switch语句。这两种语句用于实现判断,当符合某些条件时执行某段代码,否则将不执行

语法: if(条件判断语句){代码A;}当条件成立时执行代码A,如果条件不成立则不执行代码A,而是直接执行if的下一句

if(条件){代码块1;}else{代码块2;}

当条件成立时执行代码块1,如果条件不成立则执行代码块2。
没有一种情况是同时执行代码块1和2

if(条件1){代码块1;}else if(条件2){代码块2;}…else{代码块n;}

当条件1成立时执行代码块1,如果条件1不成立继续判断条件2,如果条件2成立则执行代码块2,依次类推。没有一种情况是同时执行代码块1和2
说明:允许多个if之间进行相互嵌套

实例:1、要求输入学生性别,如果false则显示女的

boolean sex=true;
Scanner sc=new Scanner(System.in);
sex=sc.nextBoolean();
if(sex){  //这里是一个简化写法,实际上就是true==sex
    System.out.println("男");
}else   //如果代码块中只有一条语句时,{}可写可不写
    System.out.println("女");

2、要求输入学生成绩(假设成绩都是整数),如果>85显示优秀,如果>70显示良好,如果>60显示及格,否则显示不及格

int score=0;//要求临时变量必须先定义后使用,必须先赋初值后使用
Scanner sc=new Scanner(System.in);
score=sc.nextInt();
if(score>85)
    System.out.println("优秀");
else if(score>70)
    System.out.println("良好");
else if(score>60)
    System.out.println("及格");
else
    System.out.println("不及格");

开关分支语言switch

基本语法

switch(表达式){
case 值1: 判断表达式的值是否在值1,如果相等则执行代码块1
代码块1; break; 执行完成后,如果没有break,则自动执行后续语句,但是不进行判定。如果有break则立即中断switch的执行,跳到switch块的下一局继续执行
多个case语句:
… …
default:
如果所有的case都不能成立,则执行代码块n
代码块n; break;
}

语法点

  • 表达式的计算结果可以是整型【不允许long类型】,可以是char,同时允许是字串类型[String]
  • default的位置没有特殊要求,但是一定是所有的case值不相等时才会执行。但是为了增强可读性,所以一般建议写在所有的case之后

实例:1、输入月份,显示对应的本月的天数

public class Test1 {
	public static void main(String[] args) {
		int res = 0;
		System.out.println("请输入月份:");
		Scanner sc = new Scanner(System.in);
		int month = sc.nextInt();
		System.out.println("请输入年份:");
		int year = sc.nextInt();
		switch (month) {
		case 2:
			if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
				res = 29;
			else
				res = 28;
			break;
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			res = 31;
			break;
		case 4:  //注意,这里的比对只执行成功一次,比对成功则不会再次进行比对,即使遇到case语句。一旦开始执行语句块,则一定要有break语句,否则会一直执行下去,直到switch结束或者遇到第一个break
		case 6:
		case 9:
		case 11:
			res = 30; 
			break;
		default:
			res = -1;
			break;
		}
		if (res > 0)
			System.out.println(year + "年" + month + "月有" + res + "天!");
		else
			System.out.println("输入的年月不合法!");
	}
}

2、要求输入学生成绩(假设成绩都是整数),如果>=80显示优秀,如果>=70显示良好,如果>=60显示及格,否则显示不及格

public class Test3 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int score=sc.nextInt();
		int key = score / 10;
		String res=null;
		switch (key) {
		case 10:
		case 9:
		case 8:	
			res="优秀";
			break;
		case 7:
			res="良好";
			break;
		case 6:
			res="及格";
			break;
		default:
			res="不及格";
			break;
		}
		System.out.println("学生成绩为:"+score+"评级为:"+res);
	}
}

循环结构

循环就是重复做某一件事情。在Java程序中,循环控制即在某一情况下,控制程序重复执行某一条或多条语句,直到遇到终止条件为止

循环语句也称迭代语句,在Java语言中存在的while、for和do-while循环语句

while循环

while是Java中最基本的循环语句,满足条件才执行循环体,如果不满足条件则不执行。所以有可能循环体一次都不执行。

语法:while(条件){循环体;}
当条件成立时反复执行循环体,每执行一次判断一次条件。

案例:1、计算1+2+3+…+100=5050

int res = 0;
int k = 1;
while (k <= 100) res += k++;
System.out.println("1+2+3+...+100=" + res);

2、计算所有100以内奇数的和

public class Test{
	public static void main(String[] args){
		int res=0;
        int k=1;
        while(k<100){
            res+=k;
            k=k+2;
        }
        System.out.println(res);
	}
}

do/while循环

语法:do{循环体;}while(条件);
先执行循环体,然后进行条件判断,如果条件为true,则执行下次循环;如果条件为false则终止循环。

  • 不同于while循环的点:do/while循环至少执行循环体一次,而while循环有可能一次都不执行

实例:计算1+2+3+…+100=5050

public class Test6 {
	public static void main(String[] args) {
		int res = 0;
		int k = 1;
		do {
			res+=k;
			k++;
		} while (k <= 100);
		System.out.println(res);
	}
}

for循环

语法:for(表达式1;表达式2:表达式3){循环体;}这里不是逗号

  • 执行表达式1
  • 执行表达式2,一般表达式2是一个条件,如果条件为true则执行循环体;如果条件为false则终止循环
  • 执行循环体
  • 执行表达式3
  • 执行第2步骤

实例:计算100以内偶数和

int res=0;
for(int k=0;k<=100;k=k+2){
	res+=k;
}
System.out.println(res);

三种循环的选择

  • for循环一般用于可以明确循环次数的场景中
  • while循环一般用于不能预先确定循环执行次数的场景中
  • do/while循环一般用于不能预先确定循环执行次数,同时要求循环体至少执行一次的场景中

在具体开发中一般使用for循环居多,因为for可以实现另外两种写法【实际上都可以相互替代】

课后习题

输出三个数中的最大值和最小值,不使用Math数据库

public class Test12 {
	public static void main(String[] args) {
		int k1=4,k2=7,k3=2;
		int mm=max(k2,k1,k3);//按照位置对应传递数据,和变量名称无关
		int mi=min(k1, k2, k3);
		String ss=String.format("k1:%d,k2:%d,k3:%d,max:%d,min:%d",k1,k2,k3,mm,mi);
		System.out.println(ss);
		
		String s2="k1:"+k1+",k2:"+k2+",k3:"+k3;
		System.out.println(s2);
	}
	//用于获取三个参数中最大的值
	public static int max(int k1, int k2, int k3) {
		int res = k1;
		if (res < k2)res = k2;
		if (res < k3)res = k3;
		return res;// 表示向调用该方法处传递返回值
	}
	//用于获取三个参数中最小的值
	public static int min(int k1, int k2, int k3) {
		int res = k1;
		if (res > k2)res = k2;
		if (res > k3)res = k3;
		return res;
	}
}

提示:这里统计学习计划的总量
例如:
1、 技术笔记 2 遍
2、CSDN 技术博客 3 篇
3、 学习的 vlog 视频 1 个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cda备考学习学习笔记——基础知识篇(二)主要涉及了计算机科学与技术领域的基本概念和知识。 首先,它介绍了计算机网络的基础知识。网络是将多台计算机通过通信链路连接起来,使它们能够相互通信和共享资源的系统。笔记中详细介绍了网络的组成、拓扑结构和通信协议等重要内容。 其次,笔记还解释了计算机系统的基本组成。计算机系统由硬件和软件两部分组成,其中硬件包括中央处理器、存储器、输入输出设备等,而软件则分为系统软件和应用软件。笔记详细介绍了各种硬件和软件的功能和作用。 此外,笔记还对数据库管理系统进行了介绍。数据库管理系统是一种用于管理和组织数据的软件系统,它能够实现数据的存储、检索和更新等操作。笔记中详细介绍了数据库的概念、结构和操作等内容。 最后,笔记还包括了算法和数据结构的基础知识。算法是解决问题的一系列步骤和规则,而数据结构则是组织和存储数据的方式。笔记中介绍了常用的算法和数据结构,如排序算法、树和图等。 总之,通过学习CDA备考学习笔记中的基础知识篇(二),我们能够更好地理解计算机网络、计算机系统、数据库管理系统以及算法和数据结构等相关概念和知识。这些基础知识对于我们深入研究计算机科学与技术领域是非常重要的,也为我们日后的学习和工作奠定了坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值