Java基礎(chǔ)學(xué)習(xí)筆記(四)

一谴古、數(shù)據(jù)的輸入

使用Scanner類從鍵盤獲取不同類型的變量.
java類庫中某些類在使用時(shí)需要提前導(dǎo)入乏悄,java.lang包中的類或接口不需要導(dǎo)入.

具體實(shí)現(xiàn)步驟:

  1. 導(dǎo)包( import 包名): import java.util.Scanner;在eclipse中使用ctrl+shift+o鍵快速導(dǎo)入所需的包
  2. Scanner的實(shí)例化(創(chuàng)建輸入對象): Scanner 輸入對象名 = new Scanner(System.in);
  3. 調(diào)用Scanner類的相關(guān)方法(next()/nextXxxx())弱匪,來獲取指定類型的變量颠焦,對于char型的獲取卒废,Scanner沒有提供相關(guān)方法税灌,只能獲取一個(gè)字符串
import java.util.Scanner;
class  ScannerTest{
     public static void main(String[] args){
           Scanner scan = new Scanner(System.in);
           System.ou.println("請輸入你的姓名“);//輸入數(shù)據(jù)前最好有一個(gè)提示性的輸出語句
           String name = scan.next();
           System.out.println(name);

           System.out.println("請輸入你的年齡“);
           int age = scan.nextInt();
           System.out.println(age);

           System.ou.println("請輸入你的體重“);
           double  weight   =   scan.nextDouble();
           System.out.println(weight );


         //找到指定位置的索引字符
            System.ou.println("請輸入你的性別“);
            String gender = scan.next();
            char genderChar = gender.charAt(0);//獲取索引為0位置上的字符
}
}

注意:需要根據(jù)相應(yīng)方法輸入指定類型值螟凭,若輸入數(shù)據(jù)類型不匹配虚青,則報(bào)異常:InputMisMatchExcption

二、程序流程控制

  • 順序結(jié)構(gòu)
    從上往下執(zhí)行沒有任何判斷和中斷
  • 分支結(jié)構(gòu)
    根據(jù)條件選擇性執(zhí)行
    if- else和switch-case兩種
  • 循環(huán)結(jié)構(gòu)
    根據(jù)循環(huán)條件重復(fù)執(zhí)行
    while螺男、do..while棒厘、for三種

(一)兩種分支結(jié)構(gòu)

if語句三種格式

第一種

第二種

第三種
if-else例題:
import java.util.Scanner;

public class ScannerTest {
public static void main(String[] args) {
//從鍵盤上輸入一個(gè)成績,判斷屬于哪個(gè)等級(jí)下隧。
//90-100 A  奢人。 80-89 B。70-79 C淆院。60-69 D何乎。 0-59 E
Scanner in = new Scanner(System.in);
System.out.printf("請輸入一個(gè)成績:");
char grade;
int score = in.nextInt();
 if(score >=0 && score <=100) { 
        if(score>=90)     grade =&apos;A&apos;
       else if(score>=80)  grade =&apos;B&apos;
       else if(score>=70) grade =&apos;C&apos;
       else if(score>=60) grade =&apos;D&apos;
       else grade =&apos;E&apos;
       System.out.println("成績等級(jí)為:"+grade);
                               }
 else {
   System.out.println("你輸入的成績不在0-100這個(gè)范圍。"); 
         }

swich-case結(jié)構(gòu)

swich-case結(jié)構(gòu)

swich-case例題:

import java.util.Scanner;

public class ScannerTest {
public static void main(String[] args) {
//從鍵盤上輸入一個(gè)成績土辩,判斷屬于哪個(gè)等級(jí)支救。
//90-100 A  。 80-89 B拷淘。70-79 C各墨。60-69 D。 0-59 E
Scanner in = new Scanner(System.in);
System.out.printf("請輸入一個(gè)成績:");
char grade;
int score = in.nextInt();
if(score >=0 && score <=100) {
switch(score/10) {
case 10:
case 9:grade=&apos;A&apos;;break;
case 8:grade=&apos;B&apos;;break;
case 7:grade=&apos;C&apos;;break;
case 6:grade=&apos;D&apos;;break;
default:grade=&apos;E&apos;;
}
 System.out.println("成績等級(jí)為:"+grade);
}else {
System.out.println("你輸入的成績不在0-100這個(gè)范圍启涯。"); 
     }
 }
}

說明:①根據(jù)switch表達(dá)式中的值贬堵,依次匹配各個(gè)case中的常量恃轩。一旦匹配成功,則進(jìn)入相應(yīng)case結(jié)構(gòu)中黎做,調(diào)用其執(zhí)行語句叉跛。
②當(dāng)調(diào)用完執(zhí)行語句以后,則仍然繼續(xù)向下執(zhí)行其他case結(jié)構(gòu)中的執(zhí)行語句蒸殿,直到遇到break關(guān)鍵字或此switch-case結(jié)構(gòu)末尾結(jié)束為止昧互。
③switch結(jié)構(gòu)中的表達(dá)式,只能是如下的6種數(shù)據(jù)類型之一: byte 伟桅、
short敞掘、char、 int楣铁、 枚舉類型玖雁、String類型
④case之后只能聲明常量,不能聲明范圍

(二)三種循環(huán)結(jié)構(gòu)

for循環(huán)

for(初始化條件盖腕;循環(huán)條件赫冬;迭代條件){
循環(huán)體;
}
例題:

//遍歷100以內(nèi)的偶數(shù)溃列,輸出所有偶數(shù)的和劲厌,輸出偶數(shù)的個(gè)數(shù)
class forTest{
  public static void main (String[] args){
int sum = 0;//記錄所有偶數(shù)的和
int count = 0;//記錄偶數(shù)的個(gè)數(shù)
for(int i = 1;i <= 100;i++){
if(i%2==0){
System . out. print1n(i);
sum += i;
count++;
                }
}
System. . out. println("總和為:”+ sum);
System . out. print1n("個(gè)數(shù)為:”+ count);
 }
}

while循環(huán)

初始化定義;
while(循環(huán)條件){
循環(huán)體听隐;
迭代條件补鼻;//不要丟了迭代條件,否則出現(xiàn)死循環(huán)
}

//遍歷100以內(nèi)的所有偶數(shù)
class WhileTest{
       public static void main(String[] args){
             int i = 1;
           while(i<= 100){
       if(i%2== 0){
        System.out.println(i)_;
       }
 i++; //i出了while循環(huán)仍能用
}

do while循環(huán)

初始化定義雅任;
do{
循環(huán)體风范;
迭代條件;
}while(循環(huán)條件)沪么;

//遍歷100以內(nèi)的所有偶數(shù)
class DoWhileTest{
       public static void main(String[] args){
             int num = 1;
       do{
       if(i%2== 0){
        System.out.println(num)_;
       }
        num++硼婿;
     }while(num<=100);
}
}

(三)嵌套循環(huán)

  • 外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù)
//應(yīng)用一:九九乘法表:
class NineNineTest{
 public static void main(String[] args){
           for(int i = 1; i<9; i++){
                        for(int j = 1; j< = i ; j++){
                                System.out.print(i+"*"+j+"="+(i*j)+"  ");
                        }
                        System.out.println();
            }
    }
}
//應(yīng)用二:100以內(nèi)的所有質(zhì)數(shù)的輸出
//注:質(zhì)數(shù):素?cái)?shù)禽车,只有1和它本身整出的自然數(shù)寇漫。從2開始,到這個(gè)數(shù)-1結(jié)束殉摔,都不能被這個(gè)數(shù)本身整除州胳。最小的質(zhì)數(shù)是2
class PrimeNumberTest{
          public static void main(String[] args){
           boolean isFlag = true;       //用來標(biāo)識(shí)i是否被除盡,一旦除盡钦勘,修改其值
           int count = 0;
             for(int i = 2; i<+100;i++){      //遍歷100以內(nèi)的自然數(shù)
                for (int j = 2;j < i ; j ++){  
                        if(i%j ==0){
                    isFlag = false陋葡; 
                    break;
                      }                            
               }   
                if(isFlag == true){
                       count++彻采;                                      
                }  
             isFlag = true;     // 重置isFlag
             }
            System.out.println("質(zhì)數(shù)的個(gè)數(shù)為:"+count);
     }
}

(四)關(guān)鍵字的使用

  • break和continue的使用:
  • 帶標(biāo)簽的break和continue使用:
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末腐缤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子肛响,更是在濱河造成了極大的恐慌岭粤,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件特笋,死亡現(xiàn)場離奇詭異剃浇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)猎物,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進(jìn)店門虎囚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蔫磨,你說我怎么就攤上這事淘讥。” “怎么了堤如?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵蒲列,是天一觀的道長。 經(jīng)常有香客問我搀罢,道長蝗岖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任榔至,我火速辦了婚禮抵赢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唧取。我一直安慰自己瓣俯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布兵怯。 她就那樣靜靜地躺著彩匕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪媒区。 梳的紋絲不亂的頭發(fā)上驼仪,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天,我揣著相機(jī)與錄音袜漩,去河邊找鬼绪爸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宙攻,可吹牛的內(nèi)容都是我干的奠货。 我是一名探鬼主播,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼座掘,長吁一口氣:“原來是場噩夢啊……” “哼递惋!你這毒婦竟也來了柔滔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤萍虽,失蹤者是張志新(化名)和其女友劉穎睛廊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杉编,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡超全,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了邓馒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘶朱。...
    茶點(diǎn)故事閱讀 38,768評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖光酣,靈堂內(nèi)的尸體忽然破棺而出疏遏,到底是詐尸還是另有隱情,我是刑警寧澤挂疆,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布改览,位于F島的核電站,受9級(jí)特大地震影響缤言,放射性物質(zhì)發(fā)生泄漏宝当。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一胆萧、第九天 我趴在偏房一處隱蔽的房頂上張望庆揩。 院中可真熱鬧,春花似錦跌穗、人聲如沸订晌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锈拨。三九已至,卻和暖如春羹唠,著一層夾襖步出監(jiān)牢的瞬間奕枢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工佩微, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缝彬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓哺眯,卻偏偏與公主長得像谷浅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容