JavaSE學習(4)流程控制

三大流程控制:順序、分支、循環

分支控制

1)單分支2)雙分支3)多分支

單分支

if(條件表達式){//條件表達式可以是函數,只要返回的是布爾值就可以

語句;

}

雙分支

if(條件表達式){

語句;

}else{

語句;

}

多分支:只找一個入口!找到之後放棄判斷

if(條件表達式){

語句;

}else if(條件表達式){

語句;

}else if(條件表達式){

語句;

}else{

語句;



public class Demo2
{
public static void main(String arg[]){
/* int a=90;int b=90;
if(a==b||a>8){System.out.println("ok1");}
b--;
if(a>b&&a>45){
System.out.println("ok2");
}
if(!(a<=b)){
System.out.println("ok3");
}*/
int a=12;
if(a>18){
System.out.println("a>18");
}else if (a>10&&a<=18)
{
System.out.println("a>10&&a<=18");
}else {
System.out.println("others");
}
}
}

switch(條件表達式){//開關語句,條件表達式數據類型,應和case後的常量類型一致

//switch中的可用數據類型主要是:允許byte,short,int,char,enum等,float不可以!!

case 常量1:

語句1;

break;

case 常量2:

語句2;

break;

  ...

case 常量n:

  語句n;

break;

default:

語句;

break;

public class Demo2
{
public static void main(String arg[]){
//
char c='a';
switch(c){
case 'a':
System.out.println("今天星期一,猴子穿新衣");

int a=1;int b=4;
int d=a+b;
Sysytem.out.println(d);

break;  //break,表示跳出switch
case 'b':
System.out.println("星期二");
break;
case 'c':
System.out.println("星期三");
break;
default:
System.out.println("不知道");
}
}
}

import java.io.*;
public class Text2
{
public static void main(){
/*String str;
int a;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
str=buf.readLine();
a=Integer.parseInt(str);*/
float a=12.3;
switch(a){
case 12.3:System.out.println("優");break;
case 1.3:System.out.println("良");break;
case 2.3:System.out.println("中");break;
case 92.3:System.out.println("差");break;
case 32.3:System.out.println("不及格");break;
}
}
}

循環控制:有三種

for:

public class Text2
{
public static void main(){
for(int i=0;i<10;i++){
System.out.println("你好。我是呂子喬!");
}
}
}

while:

while(循環條件){

語句;//循環體

}特別說明:while循環是先判斷再執行語句

int i=0;
while(i<10){
System.out.println("hello,world!");
i++;
}


do while循環 

do{

語句;//循環體

}while(循環條件);

特別說明:do whlie 是先執行語句再判斷

例子:

/*
作者:小虎子
功能:打印金字塔
*/
public class Demo3
{
public static void main(String []args){
//死去活來->打四層
int lay=4;
//表示有多少層
for(int i=1;i<=lay;i++){
//找空格規律
//1->3個空格  2->2個空格 3->1個空格 4->0個空格
for(int k=1;k<=lay-i;k++){
System.out.print(" ");
}
//打印
for(int j=1;j<=(i-1)*2+1;j++){
System.out.print("*");
}
//打印一個換行
System.out.println();
}
}
}



/*
作者:小虎子
功能:打印鏤空金字塔


*/


public class Text1 
{
public static void main(String[] args) 
{
//死去活來->打四層
int lay=10;
//表示有多少層
for(int i=1;i<=lay;i++){
//找空格規律
//1->3個空格  2->2個空格 3->1個空格 4->0個空格
for(int k=1;k<=lay-i;k++){
System.out.print(" ");
}
//打印
for(int j=1;j<=(i-1)*2+1;j++){
//判斷該層是否是頂層或者是底層
if(i==1||i==lay){
System.out.print("*");
}else{
//如果是第一個*
if(j==1||j==(i-1)*2+1){
System.out.print("*");
}else{
System.out.print(" ");
}


}
}
//打印一個換行
System.out.println();
}
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章