java常识

选择结构

什么是if选择结构

if选择结构是根据条件判断之后再做处理的一种语法结构。下面看一下最基本的if选择语法。

if(条件){

代码块	//条件成立后要执行的代码,可以是一条语句,也可以是一组语句
}

下面看一看如下程序如何执行。

publie slass Domo{

​	publie static void main(String[] args){//语句1;//语句2;if(条件){//语句3;}//语句4;}

}

这就是if选择结构的结构图条件了,程序执行语句1语句2,然后对条件进行判断如果成立则进行语句3,然后跳出if结构;如不成立则跳过if结构。

常用逻辑运算符
运算符汉语名称表达式说明举例
&&与、并且条件1&&条件2两个条件同时为真,则结果为真;两个条件有一个为假,则为假具有选举权的条件:满18周岁&&中国公民。两个条件都为真则具有有选举权;有一个为假,则不具有选举权
||或、或者条件1||条件2两个条件有一个为真,则结果为真;两个条件同时为假,则结果为假从中国去美国的方式;乘飞机||乘船。两个条件有一个为真,就可以去美国,若都为假,则去不了美国
!条件条件为真时,结果为假;条件为假时,结果为真成为优秀软件工程师的条件;!偷懒
非短路不管前面是什么样的结果后面统统会执行
&非短路逻辑与
|非短路的逻辑或
语法
if(条件){//代码块1

}else{//代码块2

}
if(条件1){//代码块1

}else{//代码块2

}else{//代码块3

}


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

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

}

什么是switch选择结构

switch(表达式){

case常量1:

​			//代码块1;

​			berak;

case常量2:

​			//代码块2;

​			berak;

default://代码块n;

​			berak;

}
switch选择结构用到了四个关键字

switch:表示“开关”,这个开关就是switch关键字后面下括号里表达式的值,JDK1.7后,switch语句小括号里可以是int、short、byte、char、枚类型、String类型表达式。

case:表示“情况、情形”,case后可以是int、short、byte、char、枚举、String类型,通常是一个固定的值,case块可以有多个,顺序可以改变,但是每个case后常量的值必须各不相同。

default:表示“默认”,即其他情况都不满足。default后要紧跟冒号。default块和case块的先后顺序可以变动,不会影响程序执行的结果。通常,default块放在末尾,也可以省略。

break:表示“停止”,即跳出当前结构。

循环结构

什么是循环

循环就是重复的做一件或者相似的事情

循环的三要素

第一 循环的初始化

第二循环条件

第三循环迭代

什么是while循环结构

while循环结构就是条件判断为真则进入循环操作,为假时则退出循环操作。

使用while循环结构解决问题的步骤如下。

1.分析循环条件和循环操作。

2.套用while语法写出代码。

3.检查循环能否退出。

do-while循环

当一开始循环条件就不满足的时候,while循环一次也不会执行。有时有这样的需要;无论如何循环都先执行一次,再判断条件,决定是否继续执行。do-while循环结构就满足这样的需要。

do-while循环的执行顺序一般如下。

1.声明并初始化变量

2.执行一遍循环操作。

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

do-while循环的特点是先执行,再判断。

根据do-while循环的执行过程可以看出,循环操作至少执行一遍。

语法
do{

//循环操作

}while(循环条件);

和while循环不同,do-while循环以关键字do开头,然后是大括号括起来的循环操作,接着才是while关键字和紧随的小括号括起来的循环条件。需要注意的是,do-while循环结构以分号结尾。

continue 关键字

1.continue适用于任何循环控制机构,作用是让程序跳到下一次循环。

2.for循环中,continue语句使程序立即跳转到更新语句。

3.whiledo-weile循环中,程序立即跳到布尔表达式的判断语句。

continue实例

import java.util.Scanner;
public class Yx7 {
	public static void main(String[] args) {
		int score;
		int total;
		int num = 0;
		Scanner input = new Scanner(System.in);
		System.out.println("输入班级人数");
		total = input.nextInt();
		for(int i = 0; i<total; i++) {
			System.out.println("请输入第"+(i+1)+"位学生的成绩");
			score = input.nextInt();
			if(score<80) {
			continue;
			}
			num++;
			}
			System.out.println("80分以上的学生人数是:"+num);
			double rate = (double)num/total*100;
			System.out.println("80分以上的学生所占的比例为"+rate+rate+"%");
	}
}

以上实例编译结果如下:

输入班级人数:5
请输入第1位学生的成:89
请输入第2位学生的成:75
请输入第3位学生的成:80
请输入第4位学生的成:87
请输入第5位学生的成:78
80分以上的学生人数是:3
80分以上的学生所占比例为:60.0%

什么是for循环

循环语句的主要作用是反复执行一段代码,直到满足一定条件为止。总结一下,可以把循环结构分为四个部分。

初始部分;设置循环的初始状态,如设置记录循环次数的变量i为0.

循环体;反复执行的代码,即输出“好好学习,天天向上!”。

迭代部分:下一次循环开始前要执行的部分,在while循环结构中它作为循环体的一部分如使用“i++;”进行循环次数的累加。

循环条件:判断是否继续循环的条件,如使用"i<100"判断循环次数是否已经达到100。

在for循环结构中,这几部分同样必不可少,不然循环就会出现错误。for循环的一般格式如下。

for(表达式1;表达式2;表达式3){//循环体

}
for循环结构中三个表达式的含义
表达式形式功能举例
表达式1赋值语句循环结构的初始部分,为循环变量赋初值int i =0
表达式2条件语句循环结构的循环条件i<100
表达式3赋值语句,通常使用++或–运算符循环结构的迭代部分,通常用来修改循环变量的值i++
for循环结构执行的顺序如下。

[外链图片转存失败(img-D0mkQJK8-1567184273485)(C:\Users\Administrator\Desktop\eclipse\图片1.png)]

1.执行初始部分(int i = 0)。

2.进行循环条件判断(i<100)。

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

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

5.依次重复步骤2~步骤4.直到退出for循环结构。

可见,在for循环结构中,表达式1这个初始部分仅仅执行了一次。

循环结构总结

while循环语句如下。

while<条件>{//循环体

}

do-while循环语句如下。

do{//循环体

}while<条件>);

for循环语句如下。

for(初始化;条件;迭代){//循环体

}

执行顺序不同。

while循环结构;先进行条件判断,再执行循环体。如果条件不成立,退出循环。

do-while循环结构;先执循环体,再进行条件判断,循环体至少执行一次。

for循环结构:先执行初始化部分,再进行条件判断,然后执行循环体,最后进行迭代部分的计算。如果条件不成立,跳出循环。

java中的数组

在java中,数据计算一个变量,用于将相同数据类型的数据存储在内存中。数组中的每一个数据元素都属于同一数据类型。例如,全班30个学员的成绩都是整型,就可以存储在一个整型数组里面。

了解数据在内存中的存储方式

标识符。首先,和变量一样,在计算机中,数组也要有一个名称,称为标识符,用于区分不同的数组。

数组元素。当给出了数组名称,即数组标识符后,要向数组中存放数据,这些数据就称为数组元素。

数组下标。在数组中,为了正确地得到数组的元素,需要对他们进行编号,这样计算机才能根据编号去存取,这个编号就称为数组下标。

元素类型。存储在数组中的数组元素应该是同一数据类型,如可以把学员的成绩可以用整形变量存储,因此称它的元素类型是整型。

使用数组步骤

1.声明数组

语法

数据类型[]数组名;

或者

数据类型 数组名[];

以上两种方式都可以声明一个数组,数组名可以是任意合法的变量名。

声明数组就是告诉计算机该数组中数据的类型是什么。例如;

int[] scores //存储学员的成绩,类型为int

double height[]; //存储学员的身高,类型为double

String [] names; //存储学员的姓名,类型为String

2.分配空间

语法

数组名 = new 数据类型[数组长度];

其中,数组长度就是数组中能存放的元素个数,显然应该为大于0的整数。例如;

scores = new int[30]//长度为30的int类型数组

height = new double[30]//长度为30的double类型数组

names = new String [30]//长度为30的String类型数组

可以将上面两个步骤合并,即在声明数组的同时就给它分配空间,语法如下。

语法

数据类型[] 数据名 = new 数据类型[数组长度];

例如:

int scores[] = new int[30]//存储30个学员成绩

一旦声明了数组的大小就不能更改,即数组的长度是固的。例如;上面名称为scores的数组长度是30,假如果发现有31个学员成绩需要存储,想把数组长度改为31,则不可以,只能重新新声明新的数组。

3.赋值

分配空间后就可以向数组里放数据了。数组中的每一个元素都是通过下标了访问的,语法如下。

语法

数组名[下标值]。、

例如,向scores数组中存放数据。

scores[0]=89;

scores[1]=60;

scores[2]=70.....

在java中还提供了另一种创建数组的方式,它将声明数组,分配空间和赋值合并完成,语法如下;

语法

数据类型[] 数组名={值1,值2,值3,…,值n};

例如,使用 这种方式了创建scores数组。

int[]scores={60,70,98,90,15}//创建一个长度为5的数组scores

同时,它也等价于下面的代码;

int [] scores = new int[] {6050, 55, 44,};

值得注意的是,直接创建并赋值的方式一般在数组元素比较少的情况下使用。它必须一并完成,如下代码是不合法的。

int[] score;

score = {60,50,50,54,85}		//错误

数据应用

数组排序

数组排序是开发中比较常用的操作,如果需要对数组中的五位学员的考试成绩低到高排序,应用如何实现呢?其实这个问题很容易解决。

语法

Arrays.sort(数组名);

Arrays是java中提供的一个类,而sort()是该类的一个方法。我们只需要知道,按照上面的语法,即将数组名放在sort()方法的括号中,就可以完成对该数组的排序。因此,这个方法执行后,数组中的元素已经有序(升序)了。

求数值最大值
..........

max = score[0];

if(a[1]>max)

​	max = scores[1]if(a[2]>max)

​	max = scores[2]if(a[3]>max)

​	max = scores[3]....

这是一个循环过程,max变量依次与数组中的元素进行比较。如果max小于比较的元素,则执行置换操作。

向数组中插入元素

需要从数组的第一个元素开始与新增的成绩进行比较,直到找到要插入的位置,可以使用循环进行比较。找到插入位置后,将该位置后的元素后移一个位置,最后将新增的成绩信息插入该位置即可。

题很容易解决。

语法

Arrays.sort(数组名);

Arrays是java中提供的一个类,而sort()是该类的一个方法。我们只需要知道,按照上面的语法,即将数组名放在sort()方法的括号中,就可以完成对该数组的排序。因此,这个方法执行后,数组中的元素已经有序(升序)了。

求数值最大值
..........

max = score[0];

if(a[1]>max)

​	max = scores[1]if(a[2]>max)

​	max = scores[2]if(a[3]>max)

​	max = scores[3]....

这是一个循环过程,max变量依次与数组中的元素进行比较。如果max小于比较的元素,则执行置换操作。

向数组中插入元素

需要从数组的第一个元素开始与新增的成绩进行比较,直到找到要插入的位置,可以使用循环进行比较。找到插入位置后,将该位置后的元素后移一个位置,最后将新增的成绩信息插入该位置即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值