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

**java

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

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

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

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

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

**函数

2. if单选泽结构

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

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

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

if(布尔表达式){xml

语句块

}

(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) 递归头的做用是什么?递归体的做用是什么?

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

递归体:何时须要掉用自身方法。