目录
1 程序流程控制
1.1 顺序结构
Java中定义成员变量时采用的合法的向前引用。
1.2 分支结构
1.2.1 if、if-else、if-else if-else
形式一:
if(条件表达式){
执行代码块;
}
形式二:
if(条件表达式){
执行代码块1;
}
else{
执行代码块2;
}
形式三:
if(){
执行代码块1;
}
else if{
执行代码块2;
}
......
else{
执行代码块n;
}
1.2.2 switch-case
使用形式:
swicth(表达式){
case 常量1:
语句1;
break;//可以不加
case 常量2:
语句2;
break;
......
default:
语句;
break;
}
import java.util.Scanner;
/**
* 功能:测试Scanner对象输入和switch-case语句
* @author wuzec
*
*/
public class SwitchTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
switch(i) {
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("zero");
break;
default:
System.out.println("another number");
break;
}
}
}
1.3 循环结构
1.3.1 for循环
使用形式:
for(①初始化部分;②循环条件部分;④迭代部分){
③循环体部分;
}
②循环条件部分判断为true运行③,为false跳出当前循环。
import java.util.Scanner;
/**
* 功能:输入m、n两个整数,得到最大公因数和最小公倍数
* @author wuzec
*
*/
public class TestFor {
public static void main(String[] args) {
Scanner sacn = new Scanner(System.in);
System.out.println("Input first number:");
int m = sacn.nextInt();
System.out.println("Input seconde number:");
int n = sacn.nextInt();
//对输入的数字进行大小排序
int max,min;
if(m>=n) {
max = m;
min = n;
}
else {
max = n;
min = m;
}
//最大公约数
for(int i=min; i>=1;i--) {
if(m%i==0 && max%i==0) {
System.out.println("最大公约数为 "+ i);
break;
}
}
//最小公倍数
for(int i=max; i<=m*n ;i++) {
if(i%m==0 && i%n==0) {
System.out.println("最小公倍数为 " + i);
break;
}
}
}
}
1.3.2 while循环
使用形式:
①初始化部分
while(②循环条件部分){
③循环体部分;
④迭代部分;
}
②循环条件部分判断为true运行③④,否则跳出循环。
注意迭代部分一定要写,不然会出现死循环。
/**
* 功能:使用while循环,打印100以内的偶数
* @author wuzec
*
*/
public class TestWhile {
public static void main(String[] args){
int i = 0;
while(i<=100) {
if(i%2 == 0) {
System.out.println(i);
}
i++;
}
}
}
1.3.3 do-while循环
使用形式:
①初始化部分
do{
③循环体部分;
④迭代部分;
}while(②循环条件部分);
do-while结构至少执行一次循环体。
开发中使用for和while较多,较少使用do-while。
/**
* 功能:使用do-while循环,打印100以内的偶数
* @author wuzec
*
*/
public class TestDoWhile {
public static void main(String[] args){
int i = 0;
do {
if(i%2 == 0) {
System.out.println(i);
}
i++;
}while(i<=100);
}
}
1.4 嵌套循环
将一个循环放在另一个循环体内,就形成了嵌套循环。其中, for ,while ,do…while均可以作为外层循环或内层循环。
/**
* 功能:循环嵌套实现九九乘法表的输出
* @author wuzec
*
*/
public class TestNineNine {
public static void main(String[] args) {
int m = 1;
int n = 1;
for(int i=1; i<=9; i++) {
for(int j=1; j<=i; j++){
System.out.print(i + "*" + j + "=" + (i*j) + " ");
}
System.out.println();
}
}
}
/**
* 功能:使用嵌套循环输出100以内的质数
* @author wuzec
*
*/
public class PrimeNumber {
public static void main(String[] args) {
boolean flag = true; //表示是否除尽
for(int i=2; i<=100; i++) {//遍历100以内的自然数
flag = true;
for(int j=i-1; j>1; j--) {//j被i去除
if(i % j == 0) {//i被j除尽
flag = false;
}
}
if(flag) {
System.out.println(i);
}
}
}
}
/**
* 功能:使用嵌套循环输出100以内的质数(优化一)
* @author wuzec
*
*/
public class PrimeNumber {
public static void main(String[] args) {
boolean flag = true; //表示是否除尽
for(int i=2; i<=100; i++) {//遍历100以内的自然数
flag = true;
for(int j=i-1; j>1; j--) {//j被i去除
if(i % j == 0) {//i被j除尽
flag = false;
}
}
if(flag) {
System.out.println(i);
break;//优化一
}
}
}
}
/**
* 功能:使用嵌套循环输出100以内的质数
* @author wuzec
*
*/
public class PrimeNumber {
public static void main(String[] args) {
boolean flag = true; //表示是否除尽
for(int i=2; i<=100; i++) {//遍历100以内的自然数
flag = true;
for(int j=i-1; j>1; j--) {//j被i去除
if(i % j == 0) {//i被j除尽
flag = false;
break;
}
}
if(flag) {
System.out.println(i);
}
}
}
}
/**
* 功能:使用嵌套循环输出100以内的质数(优化二)
* @author wuzec
*
*/
public class PrimeNumber {
public static void main(String[] args) {
boolean flag = true; //表示是否除尽
for(int i=2; i<=100; i++) {//遍历100以内的自然数
flag = true;
for(int j=(int)Math.sqrt(i); j>1; j--) {//优化二
if(i % j == 0) {//i被j除尽
flag = false;
break;//优化一
}
}
if(flag) {
System.out.println(i);
}
}
}
}
1.5 break与continue
break:在switch-case语句中结束一个switch,在循环结构中结束当前循环。
continue:在循环结构中结束当次循环。
注意:break和continue可以指定表示结束。
label1:for(int i=1; i<=3 ;i++) {
for(int j=1; j<=3; j++) {
break label1;//结束指定标识的一层循环结构
}
}
label2:for(int i=1; i<=3 ;i++) {
for(int j=1; j<=3; j++) {
continue label2;//结束指定标识的一层循环结构当次循环
}
}
注意:
return:并非专门用于结束循环的,它的功能是结束一个方法。 当一个方法执行到一个return语句时,这个方法将被结束。
参考资料:
[1]尚硅谷宋康红java基础教程