Java程序的邏輯控制和方法詳解
一、順序結(jié)構(gòu)
從上往下執(zhí)行,非常簡(jiǎn)單,不做過(guò)多贅述。
二、分支結(jié)構(gòu)
1.if語(yǔ)句
與c語(yǔ)言不同的是,java的if(布爾表達(dá)式)必須是布爾表達(dá)式
eg:判斷某一年是否是閏年
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int year = scan.nextInt();
if((year%4==0 && year%100 !=10)||(year%400==0))
System.out.println("閏年!");
else{
System.out.println("不是閏年!");
}
}
2.switch語(yǔ)句
基礎(chǔ)語(yǔ)法:
switch(整數(shù)|枚舉|字符|字符串){
case 內(nèi)容1 : {
內(nèi)容滿(mǎn)足時(shí)執(zhí)行語(yǔ)句;
[break;]
}
case 內(nèi)容2 : {
內(nèi)容滿(mǎn)足時(shí)執(zhí)行語(yǔ)句;
[break;]
}
...
default:{
內(nèi)容都不滿(mǎn)足時(shí)執(zhí)行語(yǔ)句;
[break;]
}
}
面試問(wèn)題:
不能做switch參數(shù)的類(lèi)型有哪些?
long float double boolean
三、循環(huán)結(jié)構(gòu)
1.while循環(huán)
注意事項(xiàng):
- 和 if 類(lèi)似, while 下面的語(yǔ)句可以不寫(xiě) { } , 但是不寫(xiě)的時(shí)候只能支持一條語(yǔ)句.,建議還是加上 { }
- 和 if 類(lèi)似, while 后面的 { 建議和 while 寫(xiě)在同一行。
- 和 if 類(lèi)似, while 后面不要多寫(xiě) 分號(hào), 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行。
eg:
public static void main(String[] args) {
int i=1;
int ret=1;
while(i<=5) {
ret *= i;
i++;
}
System.out.println(ret);
2.for循環(huán)
- 和 if 類(lèi)似, for 下面的語(yǔ)句可以不寫(xiě) { } , 但是不寫(xiě)的時(shí)候只能支持一條語(yǔ)句,建議還是加上 { }
- 和 if 類(lèi)似, for 后面的 { 建議和 while 寫(xiě)在同一行。
- 和 if 類(lèi)似, for 后面不要多寫(xiě) 分號(hào), 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行。
求階乘的和
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int sum=0;
for(int j=1;j<=num;j++){
int ret=1;
for(int i=1;i <= j; i++){
ret*=1;
}
sum+=ret;
}
}
}
3.do-while循環(huán)
基本語(yǔ)法:
do{
循環(huán)語(yǔ)句;
}while(循環(huán)條件)
先執(zhí)行語(yǔ)句再判斷循環(huán)條件。
注意事項(xiàng):
- do while 循環(huán)最后的分號(hào)不要忘記
- 一般 do while 很少用到, 更推薦使用 for 和 while.
四、Java的方法
方法就是一個(gè)代碼片段. 類(lèi)似于 C 語(yǔ)言中的 "函數(shù)“。
方法:功能
public static 返回值 方法名(形式參數(shù)列表){
方法體;
}
方法名:要采用小駝峰的形式,maxNum
public static:因?yàn)楫?dāng)前所有的方法寫(xiě)完之后會(huì)在Main方法中調(diào)用。
方法體:就是具體方法的實(shí)現(xiàn)。
public static void main(String[] args) {
int a = 10;
int b = 20;
// 方法的調(diào)用
int ret = add(a, b);
System.out.println("ret = " + ret);
}
// 方法的定義
public static int add(int x, int y) {
return x + y;
}
五、方法的重載
方法的重載:
1.方法名相同
2.返回值可以不同
3.參數(shù)列表不同(參數(shù)的個(gè)數(shù)和參數(shù)的類(lèi)型不同)
4.必須要在同一個(gè)類(lèi)當(dāng)中。
eg:
public static void main(String[] args) {
int a = 10;
int b = 20;
int ret = add(a, b);
System.out.println("ret = " + ret);
double a2 = 10.5;
double b2 = 20.5;
double ret2 = add(a2, b2);
System.out.println("ret2 = " + ret2);
double a3 = 10.5;
double b3 = 10.5;
double c3 = 20.5;
double ret3 = add(a3, b3, c3);
System.out.println("ret3 = " + ret3);
}
public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}
public static double add(double x, double y, double z) {
return x + y + z;
}
}
方法的名字都叫 add. 但是有的 add 是計(jì)算 int 相加, 有的是 double 相加; 有的計(jì)算兩個(gè)數(shù)字相加, 有的是計(jì)算三個(gè)數(shù)字相加.
同一個(gè)方法名字, 提供不同版本的實(shí)現(xiàn), 稱(chēng)為方法重載
六、方法的遞歸
一個(gè)方法在執(zhí)行過(guò)程中調(diào)用自身, 就稱(chēng)為 “遞歸”。
遞歸相當(dāng)于數(shù)學(xué)上的 “數(shù)學(xué)歸納法”, 有一個(gè)起始條件, 然后有一個(gè)遞推公式。
遞歸:
1.要調(diào)用自己本身。
2.要有一個(gè)趨近于終止的條件。
3.推導(dǎo)出遞歸的公式。
eg:求N的階乘
public static void main(String[] args) {
int n = 5;
int ret = factor(n);
System.out.println("ret = " + ret);
}
public static int factor(int n) {
if (n == 1) {
return 1;
}
return n * factor(n - 1); // factor 調(diào)用函數(shù)自身
}
到此這篇關(guān)于Java程序的邏輯控制和方法的文章就介紹到這了,更多相關(guān)Java程序邏輯控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中常用數(shù)據(jù)類(lèi)型的輸入輸出詳解
本文主要介紹了Java中幾個(gè)常用的數(shù)據(jù)類(lèi)型是如何輸入和輸出的,例如:Char型、int型、double型、數(shù)組、字符串等,對(duì)我們學(xué)習(xí)java有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)2021-12-12
微服務(wù)之間如何通過(guò)feign調(diào)用接口上傳文件
這篇文章主要介紹了微服務(wù)之間如何通過(guò)feign調(diào)用接口上傳文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
詳解springboot項(xiàng)目docker部署實(shí)踐
這篇文章主要介紹了詳解springboot項(xiàng)目docker部署實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Java基礎(chǔ)之static關(guān)鍵字的使用講解
這篇文章主要介紹了Java基礎(chǔ)之static關(guān)鍵字的使用講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
Java正則驗(yàn)證正整數(shù)的方法分析【測(cè)試可用】
這篇文章主要介紹了Java正則驗(yàn)證正整數(shù)的方法,結(jié)合實(shí)例形式對(duì)比分析了java針對(duì)正整數(shù)的驗(yàn)證方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08
谷歌二維碼引擎com.google.zxing二維碼生成與解析
這篇文章主要給大家介紹了關(guān)于谷歌二維碼引擎com.google.zxing二維碼生成與解析的相關(guān)資料,zxing是google開(kāi)源的二維碼生成和解析工具,需要的朋友可以參考下2023-07-07
zookeeper+Springboot實(shí)現(xiàn)服務(wù)器動(dòng)態(tài)上下線監(jiān)聽(tīng)教程詳解
這篇文章主要介紹了zookeeper+Springboot實(shí)現(xiàn)服務(wù)器動(dòng)態(tài)上下線監(jiān)聽(tīng),主要介紹了什么是服務(wù)器動(dòng)態(tài)上下線監(jiān)聽(tīng)及為什么要實(shí)現(xiàn)對(duì)服務(wù)器上下線的監(jiān)聽(tīng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06

