日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

第二章 Java基本语法(二)

發布時間:2023/12/2 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二章 Java基本语法(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主要內容:
運算符、if-else、switch-case

一、位運算符

運算符之五:位運算符
每左移一位,相當于是在原來的基礎上乘2.
int i = 21;
System.out.println(“i<<2:”+(i<<2));
輸出:i<<2:84

結論:
1.位運算符操作的都是整形的數據
2.<<:在一定范圍內,每向左移一位,相當于*2
3.>>: 在一定范圍內,每向右移一位,相當于/2

交換兩個變量的值:
方式一:定義臨時變量

int temp = num1; num1 = num2; num2 = temp;

方式二:

num1 = num1+num2; num2 = num1 - num2; num1 = num1 - num2;

方式三:位運算符


三元運算符:

1.結構:(條件表達式)?表達式1:表達式2
2.說明
①條件表達式的結果為boolean類型
②根據條件表達式真或假,決定執行表達式1還是表達式2
如果表達式為true,則執行表達式1,如果表達式為false,則執行表達式2
③表達式1和表達式2要求是一致的

double num = (m>m)? 2 : 1.0; String maxStr = (m>n) ? "m大" : ((m==n) ? "m和n相等""n大");

獲取三個值的最大值

int n1 = 12; int n2 = 30; int n3 = -43; int max1 = (n1>n2) ? n1: n2; int max2 = (max1 > n3) ? max1 : n3 ; System.out.println("三個數中的最大值為:"+"max2");]

凡是可以使用三元運算符的地方,都可以改寫成if-else
反之,不成立。
如果程序既可以選擇三元運算符,又可以選擇if-else,則優先選擇三元運算符。原因:簡潔,執行效率高

二、流程控制語句

說明:
1.else結構是可選的
2.針對于條件表達式:
如果多個條件表達式之間是“互斥”關系(或沒有交集的關系),哪個判斷和執行語句聲明在上面還是下面,無所謂。
3.如果多個條件表達式之間有交集的關系,需要根據實際情況,考慮清楚應該哪個結構聲明在上面。
4.如果多個條件表達式之間有包含關系,通常情況下,需要將范圍小的聲明在范圍大的上面。否則,范圍小的就沒機會執行了。

5.if-else結構是可以相互嵌套的
第一種:
if(條件表達式){
執行表達式
}
第二種:二選一
if(條件表達式){
執行表達式1
}else{
執行表達式2
}

第三種:多選一
if(條件表達式){
執行表達式1
}else if(條件表達式){
執行表達式2
}else if{條件表達式}{
執行表達式2
}

彩票中獎的程序:
系統生成一個隨機兩位數(10-99),與輸入的數匹配兩位獎勵10000,匹配一位獎勵1000,兩個數字順序顛倒獎勵3000,一個數字對位置不對獎勵500,其他情況無獎勵。

import java.util.Scanner; public class test {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("請輸入你的數據:");int num = scan.nextInt();//生成[10,99)之間的數。int value = (int)(Math.random()*90+10);System.out.println(value);if(num%10 ==value%10) {if(num/10 == value/10) {System.out.println("獎勵10000美元!");}else {System.out.println("獎勵1000美元");}}else {if(num/10 == value/10) {System.out.println("獎勵1000美元!");}else {System.out.println("沒有獎勵");}}if((num/10 == value%10) && num%10 == value/10) {System.out.println("獎勵3000美元");}if((num/10 == value%10) && num%10 != value/10) {System.out.println("獎勵500美元");}if((num/10 != value%10) && num%10 == value/10) {System.out.println("獎勵3000美元");}} }

如何從鍵盤獲取不同類型的變量:需要使用Scanner類
具體實現步驟:
1.導包:import java.util.Scanner;
2.Scanner的實例化:Scanner scan =new Scanner(System.in)
3.調用Scanner類的相關方法(next()/nextXxx()),來獲取指定類型的變量

注意:
需要根據相應的方法,來輸入指定類型的值。如果輸入的數據與要求的類型不匹配時,會報異常:InputMisMatchException,導致程序終止

我的實現:
代碼:

import java.util.Scanner;class ScannerTest{public static void main(String[] args){Scanner scan =new Scanner(System.in);int num = scan.nextInt();System.out.println(num); } }


除了String類型寫scan.next(); 其它數據類型都寫清楚是什么類型的,比如scan.nextInt();
對于char型的獲取,Scanner沒有提供相關的方法,只能夠輸入一個字符串。

System.out.println("請輸入你的性別:(男/女)"); String gender = scan.next(); //"男" char genderChar = gender.charAt(0); //獲取索引為0位置上的字符

switch-case結構

說明:
1.根據switch表達式中的值,依次匹配各個case中的常量。一旦匹配成功,則進入相應case結構中,調用其執行語句。
當調用完執行語句后,則仍然繼續向下執行其他case結構中的執行語句,直到遇到break關鍵字或此switch-case結構末尾為止結束

2.break可以使用在switch-case 結構中,一旦執行到break語句,則跳出switch-case結構。
3.switch結構中的表達式,只能是如下的6種數據類型之一:byte、short、char、int、枚舉類型(JDK5.0新增)、String類型(JDK7.0新增)。
4.break關鍵字是可選的
5.case之后只能聲明常量,不能聲明范圍
6.default相當于if-else結構中的else
default結構是可選的,而且位置是靈活的。
如果switch-case結構中的多個case的執行語句相同,則可以考慮進行合并。
7.凡是可以使用switch-case的結構,都可以轉換為if-else,反之不成立。
8.我們寫分支結構是,當發現既可以使用switch-case,(t同時switch中表達式的取值情況不太多),又可以使用if-else時,我們優先選擇使用switch-case.
原因:switch-case執行效率稍高。

編寫程序:從鍵盤上輸入2020年的“month”和“day”,要求通過程序輸出輸入的日期是2020年的第幾天

import java.util.Scanner; class SwitchCaseTest2 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("請輸入2019年的month:");int month = scan.nextInt();System.out.println("請輸入2019年的day:");int day = scan.nextInt();//定義一個變量來保存總天數int sumDays = 0;switch(month){case 12:sumDays += 30;case 11:sumDays += 31;case 10:sumDays += 30;case 9:sumDays += 31;case 8:sumDays += 31;case 7:sumDays += 30;case 6:sumDays += 31;case 5:sumDays += 30;case 4:sumDays += 31;case 3:sumDays += 28;case 2:sumDays += 31;case 1:sumDays += day;}System.out.println("2019年" + month + "月" + day + "日是當年的第" + sumDays + "天");} }

總結

以上是生活随笔為你收集整理的第二章 Java基本语法(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。