對上節(jié)Java的基礎(chǔ)語法續(xù)講
三元運(yùn)算符和if語句格式的區(qū)別
語法格式:
三元運(yùn)算符的語法格式是:(condition) ? expression1 : expression2;
if語句的語法格式是:
if (condition) {
// 執(zhí)行 expression1
} else {
// 執(zhí)行 expression2
}
表達(dá)式執(zhí)行:
三元運(yùn)算符中,根據(jù)條件(condition)的結(jié)果,如果為真,則執(zhí)行expression1;如果為假,則執(zhí)行expression2。
if語句中,根據(jù)條件(condition)的結(jié)果,如果為真,則執(zhí)行if代碼塊中的語句;如果為假,則執(zhí)行else代碼塊中的語句。
返回值:
三元運(yùn)算符返回expression1或expression2的值作為整個表達(dá)式的結(jié)果。
if語句沒有具體返回值,它只用于根據(jù)條件決定執(zhí)行哪個代碼塊。
使用場景:
三元運(yùn)算符適用于簡單的條件判斷和處理一行簡短的表達(dá)式的情況。
if語句適用于多個條件判斷以及復(fù)雜的代碼邏輯和流程控制。
需要注意的是,三元運(yùn)算符和if語句雖然都可以實(shí)現(xiàn)條件判斷,但在不同的情況下選擇使 用對應(yīng)的語法結(jié)構(gòu)能夠提高代碼的可讀性和維護(hù)性。
switch語句
在Java中,switch語句用于根據(jù)不同的情況執(zhí)行不同的代碼塊。它是一種多分支
選擇結(jié)構(gòu),相比使用多個if-else語句來判斷條件,switch語句可以提供更簡潔
清晰的代碼。
switch語句的基本語法如下:
switch (expression) {
case value1:
// 當(dāng) expression 等于 value1 時執(zhí)行的代碼塊
break;
case value2:
// 當(dāng) expression 等于 value2 時執(zhí)行的代碼塊
break;
...
default:
// 如果 expression 不等于任何一個 case 的值時執(zhí)行的代碼塊
break;
}
switch語句的執(zhí)行流程如下:
expression 是需要進(jìn)行匹配的表達(dá)式或值。
程序?qū)?expression 的值與每個 case 的值依次比較,直到找到匹配的 case 或執(zhí)行到 default(可選)。
如果找到匹配的 case,則執(zhí)行該 case 下的代碼塊。注意,在執(zhí)行代碼塊后需要使用 break 語句跳出 switch 語句。
如果沒找到匹配的 case,且存在 default,則執(zhí)行 default 下的代碼塊。
如果沒有 default,則 switch 語句結(jié)束,程序繼續(xù)執(zhí)行 switch 語句后面的代碼。
需要注意的是:
expression 只能是整型、字符型(Java 7及之前版本)或枚舉類型。從Java 7開始,expression 還可以是字符串類型。
每個 case 后面必須使用 break 關(guān)鍵字跳出 switch 語句,否則將會繼續(xù)執(zhí)行后續(xù) case 的代碼,這種現(xiàn)象被稱為"case 穿透"。如果希望多個 case 具有相同的執(zhí)行邏輯,可以省略 break 關(guān)鍵字。
default 子句是可選的,表示當(dāng) expression 不等于任何一個 case 的值時執(zhí)行的代碼塊。
下面是一個示例,演示了如何使用 switch 語句判斷星期幾:
int day = 4;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
case 3:
dayName = "Wednesday";
break;
case 4:
dayName = "Thursday";
break;
case 5:
dayName = "Friday";
break;
case 6:
dayName = "Saturday";
break;
case 7:
dayName = "Sunday";
}
循環(huán)結(jié)構(gòu)
在Java中,常用的循環(huán)結(jié)構(gòu)有for循環(huán)、while循環(huán)和do-while循環(huán)。它們可以
讓程序重復(fù)執(zhí)行某段代碼,直到滿足指定的條件。
for循環(huán):
for循環(huán)是一種定義初始條件、判斷條件和更新條件的循環(huán)結(jié)構(gòu)。
語法格式如下:
for (初始條件; 判斷條件; 更新條件) {
// 循環(huán)體代碼
}
具體執(zhí)行過程為
先執(zhí)行初始條件,然后判斷判斷條件是否為真,如果為真則執(zhí)行循環(huán)體中的代碼,
并執(zhí)行更新條件,然后再次判斷條件,再執(zhí)行循環(huán)體,如此循環(huán),直到判斷條件
為假時跳出循環(huán)。
while循環(huán):
while循環(huán)是一種只根據(jù)判斷條件來控制循環(huán)執(zhí)行的結(jié)構(gòu)。語法格式如下:
while (判斷條件) {
// 循環(huán)體代碼
}
具體執(zhí)行過程為
先判斷判斷條件是否為真,如果為真則執(zhí)行循環(huán)體中的代碼,再次判斷條件,再
執(zhí)行循環(huán)體,如此循環(huán),直到判斷條件為假時跳出循環(huán)。
do-while循環(huán):
do-while循環(huán)和while循環(huán)類似,不同之處在于它先執(zhí)行一次循環(huán)體中的代碼,
然后再判斷條件是否為真。語法格式如下:
do {
// 循環(huán)體代碼
} while (判斷條件);
具體執(zhí)行過程為
先執(zhí)行循環(huán)體中的代碼,然后判斷判斷條件是否為真,如果為真則繼續(xù)執(zhí)行循環(huán)
體,再次判斷條件,如此循環(huán),直到判斷條件為假時跳出循環(huán)。
小結(jié)
這些循環(huán)結(jié)構(gòu)可以根據(jù)需要選擇不同的方式來實(shí)現(xiàn)程序的重復(fù)執(zhí)行,具體使用哪
種循環(huán)取決于需求和情況。需要注意在循環(huán)中適時更新條件,避免造成死循環(huán)。
循環(huán)結(jié)構(gòu)示例
求水仙花數(shù)
public class crj {
public static void main(String[] args) {
int count = 0;
for (int i = 100; i < 1000; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
count += 1;
System.out.println("水仙花數(shù)為" + i);
System.out.println("水仙花一共有"+count+"個");
}
}
}
}
回文數(shù) 輸出所有5位數(shù)的回文數(shù)
public class crj {
public static void main(String[] args) {
int count = 0;
for (int i=10000;i<100000;i++){
int ge = i%10;
int shi = i/10%10;
int qian = i/1000%10;
int wan = i/10000;
if(ge==wan&&shi==qian) {
count++;
System.out.println("回文數(shù)是" + i);
}
}
System.out.println("回文數(shù)數(shù)量"+count);
}
}
逢7過1-100中有7則打印
public class crj {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if ((i % 10 == 7) || (i / 10 % 10 == 7) || (i % 7 == 0)) {
System.out.println(i);
}
}
}
}
求奇數(shù)和
public class crj {
public static void main(String[] args) {
//1
int sum=0;
for(int i=1;i<=100;i++){
if(i%2==1)
sum = sum+i;
else
continue;
}
//2
int i=1;
while(i<=100){
sum+=i;
i+=2;
}
System.out.println("1到100奇數(shù)和為"+sum);
}
}
四級標(biāo)題循環(huán)案例
小芳存錢
每天存2.5元,每五天花6元,多少天可以存100
public class crj {
public static void main(String[] args) {
double daymony = 2.5;
double summoney = 0;
int result =100;
int daycount =1;
while (true){
summoney+=daymony;
if(summoney>=result){
break;
}
if(daycount%5==0){
summoney-=6;
}
daycount++;
}
System.out.println(daycount);
}
}
方法(method):是完成特定功能的代碼塊
在Java中,方法是一段封裝了特定功能的可執(zhí)行代碼塊。方法可以帶有參數(shù),
并可能返回一個值。它可以在類中定義,用于執(zhí)行重復(fù)的操作、實(shí)現(xiàn)特定的功
能或提供代碼的組織結(jié)構(gòu)。
格式 public static void 方法名(){
//方法體
}
注意事項(xiàng)1 方法不能嵌套定義
2 void表示無返回值,也可以單獨(dú)寫return 后面不寫數(shù)據(jù)
訪問修飾符:控制誰可以訪問該方法(如public、private、protected等)。
返回類型:方法執(zhí)行完后返回的數(shù)據(jù)類型,可以是基本類型或?qū)ο箢愋?,如果不返回任何值,則使用void關(guān)鍵字。
方法名:方法的標(biāo)識符,用于唯一地表示一個方法。
參數(shù)列表:傳遞給方法的輸入?yún)?shù),可以包含零個或多個參數(shù),多個參數(shù)之間用逗號分隔。
方法體:包含了方法要執(zhí)行的代碼塊。
方法的調(diào)用:
通過方法名和參數(shù)列表的組合來調(diào)用方法。調(diào)用方法時,會將具體的參數(shù)值傳遞
給方法,方法執(zhí)行相應(yīng)的操作并可能返回一個值。
返回值變量 = 方法名(參數(shù)值);
返回值變量:用來接收方法返回的值,如果方法沒有返回值,則可以省略。
方法名:要調(diào)用的方法的名稱。
參數(shù)值:傳遞給方法的具體參數(shù)值,與方法定義時的參數(shù)列表匹配。
方法的重載:
在一個類中,可以定義多個同名但參數(shù)列表不同的方法,稱為方法的重
載(Overload)。重載方法通過參數(shù)列表的類型、順序或數(shù)量的不同來
區(qū)分。
代碼示例
public class crj {
public static void main(String[] args) {
isEvenNumber();
}
//需求:定義一個方法,在方法中定義一個變量,判斷數(shù)據(jù)是否為偶數(shù)
public static void isEvenNumber(){
int number = 10;
if(number%2==0){
System.out.println(number+"是偶數(shù)");
}else{
System.out.println(number+"不是偶數(shù)");
}
}
}
方法示例
輸出較大值
public class crj {
public static void main(String[] args) {
getMax();
}
public static void getMax(){
int a =10;
int b=20;
if(a>=b){
System.out.println("較大的數(shù)是"+a);
}else{
System.out.println("較大的數(shù)是"+b);
}
}
}
帶參數(shù)的方法調(diào)用
public class crj {
public static void main(String[] args) {
//字面量調(diào)用
isEvenNumber(3);
isEvenNumber(6);
//變量的調(diào)用
int number = 11;
isEvenNumber(number);
number = 12;
isEvenNumber(number);
}
public static void isEvenNumber(int number) {
if (number % 2 == 0) {
System.out.println(true);
} else {
System.out.println(false);
}
}
}
輸出較大值 數(shù)據(jù)來自方法參數(shù)
public class crj {
public static void main(String[] args) {
getMex(10,20);
int x=20;
int y=30;
getMex(x,y);
}
public static void getMex(int a,int b){
if(a>=b){
System.out.println("較大的數(shù)是"+a);
}else{
System.out.println("較大的數(shù)是"+b);
}
}
}
判讀是否為偶數(shù) 返回布爾值
public class crj {
public static void main(String[] args) {
//返回值需用變量接收
boolean flag=isEvenNumber(10);
System.out.println(flag);
if(flag){
System.out.println("是偶數(shù)");
}
}
public static boolean isEvenNumber(int number){
if(number%2==0){
return true;
}
else {
return false;
}
}
}
輸出較大值—— 數(shù)據(jù)來自于參數(shù)
public class crj {
public static void main(String[] args) {
// int max = getMax(10,20);
// System.out.println(max);
int max = getMax(10, 20);//.val 自動輸出左邊內(nèi)容
System.out.println(max);//max.sout將max變量放到輸出語句
System.out.println(getMax(10, 20));
}
public static int getMax(int a, int b) {
if (a >= b) {
return a;
} else {
return b;
}
}
}
方法的定義與調(diào)用
1.求和 1~n之間的數(shù)據(jù)和
public class crj {
public static void main(String[] args) {
int result = sum(5);
System.out.println("1-5的和是"+result);
result=sum(100);
System.out.println("1-100的和是"+result);
}
public static int sum(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
}
2.比較相等 比較兩個整數(shù)是否相等
public class crj {
public static void main(String[] args) {
boolean flag = comple(10, 20);
System.out.println("10和20相等嗎 " + flag);
flag = comple(10, 10);
System.out.println("10和10相等嗎 " + flag);
}
public static boolean comple(int a, int b) {
return a == b;//優(yōu)化3
}
}
3 獲取三個整數(shù)的較大值
public class crj {
public static void main(String[] args) {
int max = getMax(10, 20, 30);
System.out.println("10,20,30中的較大值"+max);
}
public static int getMax(int a,int b,int c){
int temMax=a>b?a:b;
int max=temMax>c?temMax:c;
return max;
}
}
4 水仙花數(shù)
public class crj {
public static void main(String[] args) {
for(int i =100;i<1000;i++){
if(isFlour(i)){ //優(yōu)化
System.out.println(i);
}
}
}
public static boolean isFlour(int number) {
int ge = number % 10;
int shi = number / 10 % 10;
int bai = number / 100;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == number) {
return true;
} else {
return false;
}
}
}
方法重載
在Java中,方法的重載(Overload)是指在同一個類中定義了多個具有相同名
稱但參數(shù)列表不同的方法。這意味著可以使用相同的方法名,但根據(jù)不同的參
數(shù)類型、參數(shù)個數(shù)或參數(shù)順序來調(diào)用不同的方法。
重載的目的
為了提高代碼的可讀性和靈活性,通過給方法提供多個參數(shù)組合的選項(xiàng),以適
應(yīng)不同的使用場景。
方法重載的幾個特點(diǎn)和規(guī)則:
方法重載必須在同一個類中進(jìn)行。
方法名必須相同,但在同一類中,方法的參數(shù)列表必須不同(參數(shù)類型、參數(shù)個
數(shù)或參數(shù)順序)。
返回類型不會影響方法的重載。即使返回類型不同,只要參數(shù)列表不同,仍然被
認(rèn)為是重載。
方法重載與方法的修飾符、返回值無關(guān)。
方法重載可以被繼承。
調(diào)用重載方法時,編譯器會根據(jù)實(shí)參的具體類型匹配合適的重載方法。
重載方法的示例:文章來源:http://www.zghlxwxcb.cn/news/detail-546620.html
public class OverloadExample {
public void showMessage(String message) {
System.out.println("Message: " + message);
}
public void showMessage(int number) {
System.out.println("Number: " + number);
}
public void showMessage(String message, int number) {
System.out.println("Message: " + message + ", Number: " + number);
}
}
在上面的示例中,OverloadExample 類中定義了三個名為 showMessage 的方
法,它們具有不同的參數(shù)列表。第一個方法接收一個 String 類型的參數(shù),第
二個方法接收一個 int 類型的參數(shù),第三個方法接收一個 String 類型和一
個 int 類型的參數(shù)。
代碼示例1
public class crj {
public static void main(String[] args) {
int result = sum(10, 20);
System.out.println(result);
double result2 = sum(10.0, 20.);
System.out.println(result2);
int result3=sum(10,20,30);
System.out.println(result3);
}
public static int sum(int a,int b){
return a+b;
}
public static double sum(double a,double b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-546620.html
代碼示例2----比較相等
public class crj {
public static void main(String[] args) {
System.out.println(compare(10,20));
System.out.println(compare((byte) 10,(byte)20));
System.out.println(compare((short) 10,(short) 20));
System.out.println(compare( 10l,20l));
}
public static boolean compare(int a,int b){
System.out.println("int");
return a==b;
}
public static boolean compare(byte a,byte b){
System.out.println("byte");
return a==b;
}
public static boolean compare(short a,short b){
System.out.println("short");
return a==b;
}
public static boolean compare(long a,long b){
System.out.println("long");
return a==b;
}
}
到了這里,關(guān)于腳踏Java知識點(diǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!