1. 程式人生 > 實用技巧 >java流程控制(附程式碼)

java流程控制(附程式碼)

使用者互動Scanner

package java基礎語法;

import java.util.Scanner;

public class 流程控制 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入:");
if(scanner.hasNextLine()){
String str=scanner.nextLine();
System.out.println("輸入的是:"+str);
}
scanner.close();
}
}

Scanner進階使用

package java基礎語法.java基礎語法;
import java.util.Scanner;
public class 流程控制3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum=0;
int m=0;
while(scanner.hasNextDouble()){
double x=scanner.nextDouble();
m++;
sum+=x;
System.out.println("你輸入了"+m+"個數據,然後當前結果sum="+sum);
}
System.out.println(m+"個數和為:"+sum);
System.out.println(m+"個數的平均值為"+(sum/m));
scanner.close();
}
}

順序結構

從上到下

選擇結構

if單選擇結構

if(布林表示式){

//如果為true則執行

}

package java基礎語法.java基礎語法;

import java.util.Scanner;

public class 流程控制4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入內容:");
String s=scanner.nextLine();
//判斷字串是否相等
if(s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
}
scanner.close();
}

if雙選擇結構

package java基礎語法.java基礎語法;

import java.util.Scanner;

public class 流程控制5 {
public static void main(String[] args) {
//考試分數大於等於60就是及格,否則就是不及格
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入考試成績:");
int score= scanner.nextInt();
if(score>=60){
System.out.println("考試及格,分數為"+score);
}else{
System.out.println("考試不及格,分數為"+score);
}
scanner.close();
}
}

if多選擇結構

if語句至多有1個else語句,else語句在所有的else語句之後。

if語句可以有若干個else if語句,它們必須在else語句之前。

一旦其中一個else if語句檢測為true,其他的else if以及else語句都將跳過執行。

package java基礎語法.java基礎語法;

import java.util.Scanner;

public class 流程控制6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入成績");
int score=scanner.nextInt();
if(score==100){
System.out.println("恭喜獲得滿分");
}else if (score<=100 && score>=90){
System.out.println("獲得A");
}else if (score<90 && score>=80){
System.out.println("獲得B");
}else if(score<80 && score>=70){
System.out.println("獲得C");
}else if(score<70 && score>=60){
System.out.println("獲得D");
}else if(score<60 && score>=0){
System.out.println("不及格");
}else{
System.out.println("成績不合法");
}
scanner.close();
}
}

查詢1-100之間的數?

巢狀的if結構

swtich多選擇結構

package java基礎語法.java基礎語法;

import java.util.Scanner;

public class 流程控制7 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int s=scanner.nextInt();
switch(s){
case 10:
System.out.println("A");
break;
case 20:
System.out.println("B");
break;
case 30:
System.out.println("C");
break;
default:
System.out.println("請輸入正確數字");
}
scanner.close();
}
}

反編譯

java ----class(位元組碼檔案)

點選IDEA裡的java檔案,點選project structure,得到檔案路徑,再把class拷入java檔案中

do while 與while

do while 先執行後迴圈

while 當條件成立適迴圈

for迴圈

for(初始化值,條件判斷,迭代)

計算0到100之間所有奇數與偶數的和


package java基礎語法.java基礎語法;

public class 奇數與偶數和 {
public static void main(String[] args) {
//計算0到100之間的奇數和與偶數和
int oddSum=0;
int evenSum=0;
for(int i=0;i<100;i++){
if(i%2!=0){//奇數
oddSum+=1;
}else{//偶數
evenSum+=1;
}
System.out.println("奇數和為"+oddSum);
System.out.println("偶數和為"+evenSum);
}

}
}

用while或for輸出1-1000之內能被5整除的數,並且每行輸出3個 注意print與println的區別

package java基礎語法.java基礎語法;

public class 換行 {
public static void main(String[] args) {
//用while或for輸出1-1000之內能被5整除的數,並且每行輸出3個
for(int i=1;i<=1000;i++){
if(i%5==0) {
System.out.print(i +"\t");
}
if (i%(5*3)==0){
System.out.println("\n");
}
}
}
}

列印九九乘法表

package java基礎語法.java基礎語法;

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

增強for迴圈

迴圈陣列或者集合

package java基礎語法.java基礎語法;

public class 增強for迴圈 {
public static void main(String[] args) {
int[] numbers={10,20,30,40,50};
//遍歷的陣列的元素
for(int x:numbers){
System.out.println(x);
}
System.out.println("=================");
for(int i=0;i<5;i++){
System.out.println(numbers[i]);
}
}
}

break 、continue、goto

break:強制退出迴圈

continue:中止某次迴圈

goto:不建議使用


列印三角形與debug

package java基礎語法.java基礎語法;

public class 列印三角形 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for(int j = 5;j >=i;j--){
System.out.print(" ");
}
for(int j=1;j<=i;j++){
System.out.print("*");
}
for(int j=1;j<i;j++){
System.out.print("*");
}
System.out.println();
}
}
}