java中的结构和数组

java中的结构和数组

这是学习java的第二次总结,希望大家能有所收获

1.java语言的三种基本控制结构

学习三种基本结构之前,让我们先来了解程序框图,也称流程图。

在这里插入图片描述

使用以上图形组成的流程图,有利于理清思路。

1.1、顺序结构

自上而下执行,不会跳过语句或重复某一句语句。

例:

import java.util.*;
public class BoolTest{
    public Ststic void main(String [] args){
        int liSi = 80 ;
        boolean isBig ; 
        Scanner input = new Scanner(System.in);
        System.out.print("输入学员张三的成绩:");
        int zhangSan = input.nextInt();
        isBig = zhangSan > liSt ;
        System.ou.println("张三成绩比李四高吗?"+isBig)
    } 
}

该程序输出顺序为:自上而下。

1.2、选择结构

1.2.1、if

在这里插入图片描述
if选择结构是根据条件判断后再做处理的一种语法解结构。

有关if判断的逻辑运算符

运算符汉语名称表达式说明
&&与、并且条件1&&t条件2两个条件为真,则结果为真;两个条件有一个为假,则结果为假
||条件1||条件2两个条件为真,则结果为真;两个条件同时为假,则结果为假
!条件条件为真,则结果为假;条件为假,则结果为真。

补充
进行&&判断时,若前面条件为false,则跳过后面条件的判断。
进行||判断时,若前面条件为true,则跳过后面条件的判断。
这时可以使用非短路元素符号,则可以避免这种情况的发生。
如:短路与 &,短路非 | 。

基本if选择结构

用途:可以处理单一或组合条件的情况。

语法:

if(条件){
	//代码块;
}
if-else选择结构

用途:可以处理简单的条件分支情况。这种形式结构简单,但在实际开发中使用非常频繁。

语法:

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

三目运算:与if-else等同。

条件:?

为ture时;

为flase时;

例:

boolean num = (1==2);
String num1 = "";
num1 = num ? "相等" : "不相等"

说明:“?”相当于条件判断,"?"后面条件为ture是输出的结果,“:”后面为条件为false时输出的结果。

由于1!=2,所以输出不等于。

多重if选择结构

用途:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间是有很大优势。

语法:

if(条件1){
	//代码块;
}else if(条件2){
	//代码块;
}else if(条件3){
	//代码块;
}
嵌套if

用途:在if选择结构中有又包含一个或多个if选择结构的情况,这种结构用于较为复杂的流程控制中。

语法:

if (条件1){
    if(条件2){
    	//代码块; 
    }else{
    	//代码块; 
    }
}else{
    if(条件3){
     	//代码块;  
    }else{
        //代码块; 
    }
}
1.2.2、switch

switch与if比较用法:

1、当需要多重分支并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构。

会更简单,代码结构更清晰易读。

2、JDK 1.7后,int、short、byte、char、String、枚举类型适用于switch。

case、default、break都不是必要的结构,但其又有重要作用。

语法:

switch(表达式){
    case 常量1:
        //代码块;
        break  ;
    case 常量2:
        //代码块;
        break;
    default:
        //代码块;
        break;
}

1.3、循环结构

首先,循环不是无休止的进行的,满足一定条件的时候循环才会继续,称为“循环条件”,循环条件不满足时,退出循环;其次,循环结构时反复进行相同的或类似的一系列操作,称为“循环操作”。
用于打断循环结构执行顺序的两个关健字:

break:用于跳出循环,执行下一条程序。

continue:用于结束本次循环,进入下一次循环。

1.3.1、while循环

在这里插入图片描述
语法:

while(条件){
	//代码块;
}

使用方法:

(1)声明并初识化循环变量。

(2)判断循环条件是否满足,如果满足则执行循环操作;否则退出循环。

(3)执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循。

1.3.2、do-while循环

在这里插入图片描述

do{
	//循环操作
}while(条件);

使用方法:

(1)声明并初识化循环变量

(2)执行一遍循环操作

(3)判断循环条件,如果循环条件满足,则循环继续执行,否则退出循环。

1.3.3、for循环

在这里插入图片描述
在解决有固定的循环次数的问题时,首选for循环。

语法:

for(表达式1;表达式2;表达式3){
    //循环操作
}
例:
for(int i = 0 ;i<100;i++){
	//循环操作
}

使用方法:

(1)执行初始部分

(2)进行循环条件判。

(3)根据循环条件判断结果。如果为true,则执行循环体;如果为false,则退出循环,步骤4和步骤5均不执行。

(4)执行迭代部分,改变循环变量值。

(5)一次重复步骤(2)~(4),直至退出for循环。

处理程序异常

通过调用Scanner对象的hasNextInt()方法,来判断用户从键盘输入的字符是否合法。

例:

if(input.nextInt()==true){
	//代码块;
}else{
    //代码块;
}
简述调试方法:

1.设置断点

2.启动调试,单步执行

1.4、循环的进阶

主要讲述二重循环

如while嵌套while、do-while嵌套do-while、for嵌套for…,尤其说明,当两个for循环嵌。

套使用时,不可使用相同的变量名

例:

for(int i = 0 ; i < 100 ; i++){
    //循环操作
    for(int j = 0 ; j < 100 ; j++){
    //循环操作
	}
}

此中i和j必须区分,不可相同。

二重循环的循环步骤:外层循环变量一次,内层循环变量要从初始值到结束变化一边。

掌握好双重循环,就可以轻松在控制台打印出各类三角形以及九九乘法表。

例:

public class Shj5 {
	public static void main(String[] args) {
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j < i+1; j++) {
				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			System.out.println();
		}
	}
}

此代码可以打印出九九乘法,如图所示:

在这里插入图片描述

2.数组

  1. 数组是一种引用数据类型,同String一般。

  2. 数据就是一个变量,用于将相同数据类型的数据储存在内存中。

  3. 数组的基本要素:

  4. 标识符:即数组名,每一个数组只有一个标识符。

  5. 数组元素:指向数组中存放的数据。

  6. 数组下标:为得到正确的数组元素,需要对其进行编号,编号即为数组下标。

  7. 元素类型:存入数组中的数据应为同一数据类型,即为元素类型。

  8. 数组长度:指数组可容纳元素的最大数量。

语法:

1.数据类型[] 数组名 = new 数据类型[数组长度];
2.数据类型[] 数组名 = new 数据类型[]{};

数组越界:当数组已满还要继续向数组中储存数据时,程序就会出错,此就是数组越界。

获取数组长度方法:

数组名.length

对数值或字符的升序

Arrays.sort(数组名);

扩展:对字符串的排序

变量名.compareToIgnoreCase(变量名)

该代码块比较会产生数值。若大于则输出正整数,即1,小于则输出负整数,即-1,等于即为0.

小结

简单而言,数组可以储存同类数据类型的多个数据,避免命名多个变量,减少代码块的使用。

完结

该文章到此就结束了,希望大家多多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值