Java零基础学习记录06(Java零基础入门)

**

1. 控制语句和现实逻辑对应

**
(1) 流程控制语句的作用是什么,分为哪几类?

答:流程控制语句是用来控制程序中各语句执行顺序的语句。分为顺序结构、选择结构循环结构

(2) 一个系统,本质上都是由什么组成的?

答:本质上都是有“变量、选择语句、循环语句”组成。

**

2. if单选泽结构

**
(1) 选择结构分为哪几种?

if但选择结构、if-else双选结构、if-else-if-else多选择结构、switch结构

(2) 单选择结构的语法结构是什么样的,请书写出来

if(布尔表达式){

语句块

}

(3) Math.random()函数的作用是什么?

产生[0,1)之间的随机数,包括0,但不包括1

**

3. if else 双选择结构

**
(1) If else双选择结构的语法结构是什么样的?请书写出来

if(布尔表达式){

语句块

}else{

语句块

}

例如:

if(a>b) {
	System.out.println("a>b");
}else {
	System.out.println("a!>b");
}

**

4. if elseif else 多选择结构

**
(1) 多选择结构的语法结构是什么样的?适用什么场景?

if(布尔表达式){

语句块

}else if(布尔表达式){

语句块

}else{

语句块

}

例如:

	if (a>b) {
		System.out.println("a>b");
	}else if(a==b){
		System.out.println("a==b");
	}else {
		System.out.println("a<b");
	}

**

5. Switch语句的使用

**
(1) Switch的使用场景是什么?语法格式是什么样的?

用来做多值判断时使用。

switch(表达式){

case 值1:

语句序列1;

[break;]

case 值2:

语句序列2;

[break;]

.

.

.

[default:

语句序列n;

break;]

}

例如:
    switch (a) {
    	case 1:
    		System.out.println(1);
    		break;
    	case 2:
    		System.out.println(2);
    	default://default可有可无,如果有,前面没有和a匹配的,则默认执行default
    		System.out.println("NO");
    		break;
    	}

(2) 判断布尔值的时候能使用switch么?

不能,判断时只能使用字符串(jdk1.7以后)、整型、枚举(emun)、字符型。

(3) Break的作用是什么?case能穿透么?

Break的终止程序,后面的代码不执行。如果case后面没有break会导致case穿透,一直有break为止

例如执行下面程序:

	int a = 2;
	switch (a) {
	case 1:
		System.out.println(1);
	case 2:
		System.out.println(2);
	case 3:
		System.out.println(3);
	case 4:
		System.out.println(4);
	default:
		System.out.println("default");
	}

执行结果:
在这里插入图片描述
**

6. While循环结构

**
(1) 循环结构主要分为哪两类?

一类是当型,另一类是直到型

当型:当布尔表达式条件为true时,反复执行某块语句,当布尔表达式的值为false时才终止循环。比如:while和for循环。

直到型:先执行某语句,再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while

(2) While的语法结构是什么样的?

while(布尔表达式){

语句块

}

while循环流程图
在这里插入图片描述
**

7. for循环详解_dowhile简介

**
(1) 请书写出dowhile的语法结构 dowhile和while的区别是什么?

dowhile结构:

do{

语句块

}while(布尔表达式); //最后分号不可省略

while结构:

while(布尔表达式){

语句块

}

区别:

dowhile是先执行一次语句块再做判断,while是先判断再执行

(2) for循环的语法结构是什么?用while能做的循环能用for循环改写么?

for(表达式1;表达式2;表达式3){

语句块

}

for循环的表达式可以为一个或者两个,或者三个,但是分号不能省略。

例如:

	int sum = 0;
	for (int i = 1; i<10 ; i++) {    //三个表达式都有
		sum += i;
	}


	for(int i = 1;i<10;) {      //只有两个表达式
		sum+=i;
		i++;
	}


	int i = 1;
	for(;;) {      //三个表达式都没有
		if(i<10) {
		sum+=i;
		i++;
		}else {
			break;
		}
	}

能用while做到的循环,for循环也能做到

**

8. 嵌套循环_循环相关练习

**
(1) 什么是嵌套循环?语法结构是什么样的?

答:在一个循环语句内部再嵌套一个或多个循环,称为嵌套循环

for(表达式1;表达式2;表达式3){

for(表达式1;表达式2;表达式3){

语句块

}

语句块

}

例如:

for (int i = 0; i < 10; i++) {         //外层循环
	for (int j = 0; j < 10; j++) {    //内层循环
		System.out.println(j);        //语句块
	}
}

**

9. break和continue语句

**
(1) Break和continue的作用是什么?区别是什么?什么使用用break?什么时候用continue?

作用:

Break是用于强行退出循环,不执行剩下的语句

Continue是用于退出本次循环,不执行剩下的语句

区别:

Break是退出整个循环,不执行该循环体内后面的语句以及下一次循环

Continue:是退出当前循环,不执行本次循环后面的语句,继续执行下一次循环

使用:

Break是当需要终止循环时使用

Continue是当需要执行下一次循环时使用

例如:

	//break的作用
	for(int i = 0;i<10;i++) {
		if(i==5) {    //当i==5时,退出循环,5以后的循环不执行
			break;
		}
		System.out.println(i);
	}

执行结果:

在这里插入图片描述

//continue的作用
	for(int i = 0;i<10;i++) {
		if(i==5) {    //当i==5时,不执行i==5的那次循环,执行下一次循环
			continue;
		}
		System.out.println(i);
	}

执行结果:
在这里插入图片描述
**

10. 带标签的break和continue

**
(1) Java为什么取消goto语句?

goto关键字很早就在程序设计语言中出现,尽管goto仍是java的一个保留字,但并为java语言中得到正式使用,java没有使用goto语句。如果使用大量的goto,会使程序逻辑变得混乱。

例如:
//带标签的continue用法
	outer:for(int i = 1;i<5;i++) {
		for(int j = 1;j<5;j++) {
			if(i*j == 12) {
				continue outer;
			}
			System.out.println(i*j);
		}
	}

执行结果:
带标签的continue用法的执行结果
在这里插入图片描述

1**

1. 方法的定义_形参_实参_返回值_语句块

**
(1) 什么是语句块?语句块中定义的变量的作用域是什么?

语句块(复合语句),是用花括号括起来的任意数量的简单java语句。块确定了局部变量的作用域,块中的程序代码,作为一个整体,是要被一起执行的。块可以被嵌套再另一个块中,但是不能在两个嵌套的块内声明同样的变量,语句块可以使用外部的变量,而外部的不能使用语句块中定义的变量,因为语句块中定义的变量作用域只限于语句块。

(2) 什么是方法?为什么需要方法?

方法就是一段用来完成特定功能的代码片段,类似于其他语言的函数。方法用于定义该类或该类的实例的行为特征和功能实现,方法是类和对象行为特征的抽象,方法很类似于面向过程中的函数,面向过程中,函数是最基本单位,整个程序由一个个函数调用组成,面向对象中,整个程序的基本单位是类,方法是从属于类和对象。

(3) 方法是是带名字的语句块这句话对么?

(4) 什么是参数?什么是形参,什么是实参?

参数包括了形参是实参。形参是在方法声明时,用于接收外界传入的数据。实参是掉用方法时实际传给方法的数据。

public int Add(int a,int b) //a,b是形参
a(3,5);//3和5是实参

(5) 什么是返回值?一个方法可以没有返回值么?返回值一定得有类型么?为什么?

方法在执行完毕后返回给掉用他的环境的数据。可以没有返回值,但是不需要返回值的时候,必须使用void修饰方法。返回值一定要有类型,返回值类型是事先约定好的数据类型。

(6) 一个方法的书写格式是什么?请写出来。

[修饰符1 修饰符2] 返回值类型 方法名(形参列表){

语句块

}
在这里插入图片描述

  1. 方法的重载overload
    (1) 方法的重载存在的意义是什么?

方法的重载实际是完全不同的方法,只是名称相同而已。

(2) 什么情况下会构成方法的重载?

1.形参列表的参数个数不同、参数类型不同、参数顺序不同构成重载,只有返回值不同,不构成重载

//以下三个方法构成重载

public int Add(int a,int b) {
	return a+b;
}
public double Add(double a,double b) {/* 形参的数据类型和前一个的数据类型不同,构成重载*/
	return a+b;
}
public double Add(double a,double b,double c) {/*行参的个数和前一个不同,构成重载*/
	return a+b+c;
}
  1. 递归算法_递归头_递归体
    (1) 递归的书写结构是什么?

[修饰符1 修饰符2] 返回值类型 方法名(形参列表){

if(结束条件){

方法名(形参列表);

return 返回值;

}else{

retuern 返回值;

}

}

在这里插入图片描述
(2) 递归的基本思想是什么?

答:基本思想是“自己掉用自己”

(3) 递归头的作用是什么?递归体的作用是什么?

递归头:什么时候不调用自身方法,也就是递归头结束的条件。如果没有头,将陷入死循环

递归体:什么时候需要掉用自身方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值