JavaSE的邏輯控制你了解嗎
1. Java中程序的邏輯控制語句
1.1順序結(jié)構(gòu)
順序結(jié)構(gòu)比較簡單,按照代碼書寫的順序一行一行執(zhí)行
1.2分支結(jié)構(gòu)
1.2.1 switch語句
這里補(bǔ)充一道筆試題:Java中不能做switch參數(shù)的數(shù)據(jù)類型有哪些?
- long類型
- float類型
- double類型
- boolean類型
switch語句執(zhí)行流程:
1. 先計(jì)算表達(dá)式的值
2. 和case依次比較,一旦有響應(yīng)的匹配就執(zhí)行該項(xiàng)下的語句,直到遇到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輸出到控制臺
基本語法
System.out.println(msg); // 輸出一個(gè)字符串, 帶換行 System.out.print(msg); // 輸出一個(gè)字符串, 不帶換行 System.out.printf(format, msg); // 格式化輸出
- println 輸出的內(nèi)容自帶 \n, print 不帶 \n
- printf 的格式化輸出方式和 C 語言的 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 |
| % | 百分號 | ("%.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);//括號內(nèi)放一個(gè)數(shù)字,每次生產(chǎn)隨機(jī)數(shù)都是根據(jù)這個(gè)數(shù)生成的
int randNum = random.nextInt(100);//在括號內(nèi)輸入100表示隨機(jī)數(shù)的范圍是[0,100)
int randNum2 = random.nextInt(100)+1;//表示[1,100]或[1,101)
while(true)
{
System.out.println("請輸入你要猜的數(shù)字: ");
int num= scanner.nextInt();
if(num<randNum){
System.out.println("猜小了!");
}else if(num==randNum){
System.out.println("猜對了!");
break;
}else{
System.out.println("猜大了!");
}
}
}
}分析:
生成隨機(jī)數(shù)


運(yùn)行程序

成功!
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
舉例解析Java的設(shè)計(jì)模式編程中里氏替換原則的意義
這篇文章主要介紹了Java的設(shè)計(jì)模式中里氏替換原則的意義,文中舉例來說明里氏替換原則中強(qiáng)調(diào)的繼承特性方面可能帶來的問題,需要的朋友可以參考下2016-02-02
Spring實(shí)戰(zhàn)之搜索Bean類操作示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之搜索Bean類操作,結(jié)合實(shí)例形式分析了Spring搜索Bean類的相關(guān)配置、接口實(shí)現(xiàn)與操作技巧,需要的朋友可以參考下2019-12-12
SpringBoot參數(shù)校驗(yàn)與國際化使用教程
這篇文章主要給大家介紹了關(guān)于SpringBoot參數(shù)校驗(yàn)與國際化使用教程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Springboot日期轉(zhuǎn)換器實(shí)現(xiàn)代碼及示例
這篇文章主要介紹了Springboot日期轉(zhuǎn)換器實(shí)現(xiàn)代碼及示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
springcloud集成nacos?使用lb?無效問題解決方案
這篇文章主要介紹了解決springcloud集成nacos?使用lb?無效,通過查看spring-cloud-starter-gateway?jar中的自動配置類的源碼,得知,該jar包中是不支持負(fù)載均衡的,需要引入spring-cloud-starter-loadbalancer?來支持,需要的朋友可以參考下2023-04-04
Java easyexcel導(dǎo)出報(bào)內(nèi)存溢出的問題解決
在Java開發(fā)時(shí),使用EasyExcel處理大數(shù)據(jù)量導(dǎo)出可能遇到內(nèi)存溢出問題,本文深入分析了內(nèi)存溢出的原因,并提出了優(yōu)化策略,感興趣的可以了解一下2024-10-10
簡單了解java中靜態(tài)初始化塊的執(zhí)行順序
這篇文章主要介紹了簡單了解java中靜態(tài)初始化塊的執(zhí)行順序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
一文掌握SpringSecurity?BCrypt密碼加密和解密
BCrypt就是一款加密工具,可以比較方便地實(shí)現(xiàn)數(shù)據(jù)的加密工作。也可以簡單理解為它內(nèi)部自己實(shí)現(xiàn)了隨機(jī)加鹽處理,這篇文章主要介紹了SpringSecurity?BCrypt密碼加密和解密,一文學(xué)會使用BCryptPasswordEncoder的方法,需要的朋友可以參考下2023-04-04

