JavaSE的邏輯控制你了解嗎
1. Java中程序的邏輯控制語(yǔ)句
1.1順序結(jié)構(gòu)
順序結(jié)構(gòu)比較簡(jiǎn)單,按照代碼書寫的順序一行一行執(zhí)行
1.2分支結(jié)構(gòu)
1.2.1 switch語(yǔ)句
這里補(bǔ)充一道筆試題:Java中不能做switch參數(shù)的數(shù)據(jù)類型有哪些?
- long類型
- float類型
- double類型
- boolean類型
switch語(yǔ)句執(zhí)行流程:
1. 先計(jì)算表達(dá)式的值
2. 和case依次比較,一旦有響應(yīng)的匹配就執(zhí)行該項(xiàng)下的語(yǔ)句,直到遇到break時(shí)結(jié)束
3. 當(dāng)表達(dá)式的值沒有與所列項(xiàng)匹配時(shí),執(zhí)行default
switch 不能表達(dá)復(fù)雜的條件
// 例如: 如果 num 的值在 10 到 20 之間, 就打印 hehe
// 這樣的代碼使用 if 很容易表達(dá), 但是使用 switch 就無法表示.
if (num > 10 && num < 20) {
System.out.println("hehe");
}1.3循環(huán)結(jié)構(gòu)
- while循環(huán)
- for循環(huán)
- do while 循環(huán)
2.輸入輸出
2.1輸出到控制臺(tái)
基本語(yǔ)法
System.out.println(msg); // 輸出一個(gè)字符串, 帶換行 System.out.print(msg); // 輸出一個(gè)字符串, 不帶換行 System.out.printf(format, msg); // 格式化輸出
- println 輸出的內(nèi)容自帶 \n, print 不帶 \n
- printf 的格式化輸出方式和 C 語(yǔ)言的 printf 是基本一致的
代碼示例
System.out.println("hello world");
int x = 10;
System.out.printf("x = %d\n", x)格式化字符串
| 轉(zhuǎn)換符 | 類型 | 舉例 | |
| d | 十進(jìn)制整數(shù) | ("%d", 100) | 100 |
| x | 十六進(jìn)制整數(shù) | ("%x", 100) | 64 |
| o | 八進(jìn)制整數(shù) | ("%o", 100) | 144 |
| f | 定點(diǎn)浮點(diǎn)數(shù) | ("%f", 100f) | 100.000000 |
| e | 指數(shù)浮點(diǎn)數(shù) | ("%e", 100f) | 1.000000e+02 |
| g | 通用浮點(diǎn)數(shù) | ("%g", 100f) | 100.000 |
| a | 十六進(jìn)制浮點(diǎn)數(shù) | ("%a", 100) | 0x1.9p6 |
| s | 字符串 | ("%s", 100) | 100 |
| c | 字符 | ("%c", ‘1’) | 1 |
| b | 布爾值 | ("%b", 100) | true |
| h | 散列碼 | ("%h", 100) | 64 |
| % | 百分號(hào) | ("%.2f%%", 2/7f) | 0.29% |
2.2 從鍵盤輸入
2.2.1第一種方法(不常用)
char i = (char) System.in.read();
System.out.println("your char is:"+i);
當(dāng)遇到這樣的情況,只需要按一下 alt+回車即可

2.2.2使用 Scanner 讀取字符串/整數(shù)/浮點(diǎn)數(shù)
Scanner scanner = new Scanner(System.in); //輸入整型數(shù) int n = scanner.nextInt(); System.out.println(n); //輸入浮點(diǎn)數(shù) float a = scanner.nextFloat(); System.out.println(a); //輸入字符串 String str= scanner.nextLine(); System.out.println(str);
一些解釋:

當(dāng)我們運(yùn)行代碼,發(fā)現(xiàn)了一些問題



在讀取字符串時(shí)


2.2.3實(shí)現(xiàn)循環(huán)輸入
//循環(huán)輸入
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()){
int n=scanner.nextInt();
System.out.println(n);

注:如果想要看源代碼

就可以看到了

3.猜數(shù)字游戲
import java.util.Random;
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//生成隨機(jī)數(shù)
//Random random = new Random();
Random random = new Random(1234);//括號(hào)內(nèi)放一個(gè)數(shù)字,每次生產(chǎn)隨機(jī)數(shù)都是根據(jù)這個(gè)數(shù)生成的
int randNum = random.nextInt(100);//在括號(hào)內(nèi)輸入100表示隨機(jī)數(shù)的范圍是[0,100)
int randNum2 = random.nextInt(100)+1;//表示[1,100]或[1,101)
while(true)
{
System.out.println("請(qǐng)輸入你要猜的數(shù)字: ");
int num= scanner.nextInt();
if(num<randNum){
System.out.println("猜小了!");
}else if(num==randNum){
System.out.println("猜對(duì)了!");
break;
}else{
System.out.println("猜大了!");
}
}
}
}分析:
生成隨機(jī)數(shù)


運(yùn)行程序

成功!
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
解決idea?中?SpringBoot?點(diǎn)擊運(yùn)行沒反應(yīng)按鈕成灰色的問題
在使用 Spring Boot 開發(fā)項(xiàng)目時(shí),可能會(huì)遇到一個(gè)問題:點(diǎn)擊運(yùn)行按鈕后,控制臺(tái)沒有任何輸出,項(xiàng)目界面也沒有顯示,這種情況可能是由多種原因?qū)е碌?,本文將介紹一些常見的解決方法,需要的朋友可以參考下2023-08-08
簡(jiǎn)單談?wù)刯ava中匿名內(nèi)部類構(gòu)造函數(shù)
這篇文章主要簡(jiǎn)單給我們介紹了java中匿名內(nèi)部類構(gòu)造函數(shù),并附上了簡(jiǎn)單的示例,有需要的小伙伴可以參考下。2015-11-11
SpringBoot項(xiàng)目中使用OkHttp獲取IP地址的示例代碼
OkHttp?是一個(gè)由?Square?開發(fā)的高效、現(xiàn)代的?HTTP?客戶端庫(kù),用于?Android?和?Java?應(yīng)用程序,它支持?HTTP/2?和?SPDY?等現(xiàn)代網(wǎng)絡(luò)協(xié)議,并提供了多種功能和優(yōu)化,本文給大家介紹了SpringBoot項(xiàng)目中如何獲取IP地址,需要的朋友可以參考下2024-08-08
java使用POI實(shí)現(xiàn)html和word相互轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了java使用POI實(shí)現(xiàn)html和word的相互轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12

