基础学习day03---程序结构与控制、函数与数组入门

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

一、程序结构

1、顺序结构

2、选择结构

3、循环结构

二、顺序结构

程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾

三、条件选择结构

选择结构是根据条件的成立与否,再决定要执行哪些语句的一种结构

3.1 、IF语句--单分支结构if (判断条件){

语句1 ;

packagecom.day03;/*** 比较2个数的大小

*@authorAdministrator

**/publicclassIFTest1 {publicstaticvoidmain(String[] args) {intx=3;inty=10;

System.out.PRintln("====开始比较=====");if(x>y){

System.out.println("x比y大!");

}if(x<y){

System.out.println("x比y小!");

}if(x==y){

System.out.println("x等于y!");

}

System.out.println("====比较完成!=====");

}

}

3.2、if...else语句--双分支结构if (判断条件){

语句主体1 ;

}else{

语句主体2;

}

packagecom.day03;/*** 判断一个数是奇数还是偶数

*

*@authorAdministrator

**/publicclassIFELSETest {publicstaticvoidmain(String[] args) {intx = 3;if(x % 2 == 0) {

System.out.println(x+ "是偶数!");

}else{

System.out.println(x+ "是奇数!");

}

}

}

3.3、if…else if…else语句 --多分支结构如果需要在if..else里判断多个条件时,就需要if..else if … else语句了,其格式如下:

if (条件判断1){

语句主体1 ;

}else if (条件判断2){

语句主体 2 ;

}

… // 多个else if()语句

else{

语句主体3 ;

}

packagepb.test;publicclasstest6 {publicstaticvoidmain(String[] args) {intx=3;if(x==1){

System.out.println("x的值是1!");

}elseif(x==2){

System.out.println("x的值是2!");

}elseif(x==3){

System.out.println("x的值是3!");

}else{

System.out.println("x的值不是1,2,3 中的一个!");

}

}

}

四、Switch结构

要在许多的选择条件中找到并执行其中一个符合判断条件的语句时,除了可以使用if..else不断地判断之外,也可以使用另一种更方便的方式即多重选择——switch语句,语法格式:

switch (表达式){

case 选择值1 : 语句主体 1 ; break ;

case 选择值2 : 语句主体 2 ; break ;

…….

case 选择值n : 语句主体 n ; break ; default: 语句主体 ;

}

4.1、正常运行的Switch

packagecom;importjava.util.Scanner;/*** 根据用户指定的朋份,打印该月份所属的季节

* 12,1,2冬

* 2,3,4春

* 5,6,7夏季

* 9,10,11秋季*/publicclassSwitchTest {publicstaticvoidmain(String[] args) {//定义扫描器变量Scanner scanner=newScanner(System.in);//定义变量接收intnum=scanner.nextInt();/*** 数值类型的结果,并不是很多时用switch*/switch(num){//byte short int char只接收4种类型 JDK7以上switch可以判断字符串case3:case4:case5:

System.out.println(num+"春季");

break;case6:case7:case8:

System.out.println(num+"夏季");

break;case9:case10:case11:

System.out.println(num+"秋季");

break;case12:case1:case2:

System.out.println(num+"冬季");

break;default:

System.out.println("输入 错误,请输入1--12之间的数字");

}

}

}

4.2、没有Break的Switch

packagecom;/*** 根据操作符做相应的操作

*

*@authorDenny

**/publicclassSwitchTest2 {publicstaticvoidmain(String[] args) {inta = 10;intb = 3;charc = '+';switch(c) {default:

System.out.println("未知操作符");case'+':

System.out.println("a+b=" + (a +b));case'-':

System.out.println("a-b=" + (a -b));case'*':

System.out.println("a*b=" + (a *b));case'/':

System.out.println("a/b=" + (a /b));

}

}

}

五、循环while和do..while

5.1、While循环

packagecom.day03;/*** 使用While进行100以内累加操作

*@authorAdministrator

**/publicclassWhileTest {publicstaticvoidmain(String[] args) {inti=1;//变量intsum=0;//和while(i<=100){//先判断条件sum+=i;

i++;

}

System.out.println("100以内整数之和:"+sum);

}

}

5.2 do...while

packagecom.day03;/*** 使用do...While进行100以内累加操作

*

*@authorAdministrator

**/publicclassDoWhileTest {publicstaticvoidmain(String[] args) {inti = 1;//变量intsum = 0;//和do{

sum+=i;

i++;

}while(i <= 100);

System.out.println("100以内整数之和:" +sum);

}

}

5.3、while和do..while区别

packagecom.db1;publicclassWhileDemo {publicstaticvoidmain(String[] args) {//while 判断条件可能一次也不执行intx=1;while(x<3);

{

System.out.println("x="+x);

x++;

}//do while 最少执行一次inty=1;do{

System.out.println("do:y="+y);

y++;

}while(y<3);

}

}

六、for循环

6.1、for循环基本结构

for (赋值初值;判断条件;赋值增减量){

语句1 ;

….

语句n ;

}

6.2、使用for进行100以内累加操作

packagecom.day03;/*** 使用for进行100以内累加操作

*@authorAdministrator

**/publicclassForTest {publicstaticvoidmain(String[] args) {intsum=0;for(inti = 0; i <=100; i++) {

sum+=i;

}

System.out.println("100以内整数之和:" +sum);

}

}

6.3、打印99乖法表

双循环打印packagecom.db1;/*** 打印99乖法表

*

*@authordenny

**/publicclassDemo7 {publicstaticvoidmain(String[] args) {//外层循环控制行数for(inti=1;i<=9;i++){//内层循环控制列for(intj = 1; j <=i; j++) {

System.out.print(j+"*"+i+"="+(j*j)+" ");

}//换行System.out.println();

}

}

}

一个循环打印

packagecom.db1;/*** 打印99乖法表

*

*@authordenny 一个循环打印*/publicclassDemo7_1 {publicstaticvoidmain(String[] args) {//一个循环for(inti = 1, j=1;i <=9; i++) {//输出System.out.print(i+"*"+j+"="+i*j+" ");if(i==j){

i=0;

j++;

System.out.println();

}//当j>9是终止if(j>9){

break;

}

}

}

}

另类写法

packagecom.day03;publicclassForTest2 {publicstaticvoidmain(String[] args) {intx=1;for(System.out.println("a");x<3;System.out.println("c")){

System.out.println("d");

x++;

}//结果adcdc}

}

打印菱形

packagecom.day03;/*** 打印菱形

*@authorDenny

* 思路:使用for和循环

* 1.先打印正三角,

* 2.再打印倒三角

**/publicclassForTest7 {publicstaticvoidmain(String[] args) {/** 打印三角形*/for(intx=0;x<5;x++){//打印空格for(inty=x+1;y<5;y++){

System.out.print(" ");

}//打印三角形for(intz=0;z<=x;z++){

System.out.print("* ");

}//换行System.out.println();

}//倒三角for(intx=4;x>0;x--){//打印空格for(inty=x;y<=4;y++){

System.out.print(" ");

}//打印三角形for(intz=0;z<x;z++){

System.out.print("* ");

}//换行System.out.println();

}

}

}

七、break、continue、return

7.1、break

结果最近的和循环体,执行和循环体后的代码

packagecom.day03;/*** 使用for和循环验证break

*@authorAdministrator

**/publicclass

BreakDemo {publicstaticvoidmain(String[] args) {for(inti=0;i<10;i++){if(i==5){

break;//结束最近的和循环体 ,执行这个和循环体后面的代码}

System.out.print(i+" ");

}

System.out.println("程序结束");

}

}

结果:

0 1 2 3 4 程序结束

7.2、continue

跳过本次和循环,进行下次和循环

packagecom.day03;/*** 使用for和循环验证continue

*@authorAdministrator

**/publicclassContinueDemo {publicstaticvoidmain(String[] args) {for(inti=0;i<10;i++){if(i==5){continue;//跳过本次和循环执行下次和循环}

System.out.print(i+" ");

}

System.out.println("程序结束");

}

}

结果:

0 1 2 3 4 6 7 8 9 程序结束

7.3、return

结果程序

/*** 使用for和循环验证return

*@authorAdministrator

**/publicclassReturnDemo {publicstaticvoidmain(String[] args) {for(inti=0;i<10;i++){if(i==5){return;//程序结束}

System.out.print(i+" ");

}

System.out.println("程序结束");//这里没有执行}

}

结果:

0 1 2 3 4

八、函数(方法)

8.1 函数定义

函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法。

函数的格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)

{

执行语句;

return 返回值;

}

返回值类型:函数运行后的结果的数据类型。

参数类型:是形式参数的数据类型。

形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。

实际参数:传递给形式参数的具体数值。

return:用于结束函数。

返回值:该函数运算后的结果,该结果会返回给调用者。

8.2、函数特点

1、定义函数可以将功能代码进行封装。

2、便于对该功能进行复用。

3、函数只有被调用才会被执行。

4、函数的出现提高了代码的复用性。

P.S.

1、对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写,或者写上return;。

8.3、函数的应用

packagecom.day03;/*** 函数

*@authordenny

**/publicclassFunctionDemo {publicstaticvoidmain(String[] args) {

String str="Hello";

getString(str);

}publicstaticvoidgetString(String str){

System.out.println(str);

}

}

8.4、函数的重载

重载的概念:

在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可和返回值类型无关

重载的好处:

代码复用提高,提高阅读性

packagecom.day03;/*** 函数

*@authordenny

**/publicclassFunctionDemo {publicstaticvoidmain(String[] args) {

System.out.println(add(4,5));

System.out.println(add(4,5,6));

System.out.println(add(2.0,3.5));

}//2个整数参数publicstaticintadd(intx,inty){returnx+y;

}//3个整数参数publicstaticintadd(intx,inty,intz){returnx+y+z;

}//2个double参数publicstaticdoubleadd(doublex,doubley){returnx+y;

}

}

九、数组

9.1、什么数组

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,

数组按照使用可以分为一维数组、二维数组、多维数组。同一数组中的变量数据类型相同

9.2、数组的优点

不使用数组定义100个整型变量:int i1;int i2;…int i100

使用数组定义:int i[100]

同一类型的多个变量可以使用数组来完成

9.3、数组的定义和格式

格式一:

元素类型[] 数组名=new 元素类型[元素个数或者数组长度];

示例:int [] arr=new int[5];

格式2:

元素类型[] 数组名=new 元素类型{元素1,元素2,...元素n};

示例:int [] arr=new int[5,3,6,8,9];

数组声明后实际上是在栈内存中保存了此数组的名称,接下来便是要在堆内存中配置数组所需的内存,其中“长度”是告诉编译器,所声明的数组要存放多少个元素,

而“new”则是命令编译器根据括号里的长度开辟空间。

9.4、内存分配和特点

int [] arr=new int[4];

9.5、常识

数组的下标是从0开始的,

最后的元素下标是[长度-1】

可以通过下标赋值:arr[0]=2,arr[3]=5..

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航