JAVA

創(chuàng)建一個項目的三個步驟

1.創(chuàng)建一個項目[工程 ] java project

  1. 創(chuàng)建包package【包名:公司域名的倒置】
  2. 創(chuàng)建類class

java的數(shù)據(jù)類型

1.基本數(shù)據(jù)類型 整數(shù) 小數(shù) 【浮點數(shù)】 布爾值【真或假】 字符

1.1整數(shù)的數(shù)據(jù)類型 int------integer

int num=123;

數(shù)據(jù)類型 變量名稱=456;

int num1=-999糙俗;

擴展:

整數(shù)的表示在計算機中往往還有其他進制

二進制:0011101 逢二進一 最大的數(shù)字是1歇终,只有兩個元素 0 1昆雀;

在java中使用二進制便是整數(shù) 0b 0101000甩苛;

int bin=0b001010101会宪;

八進制:逢八進一 有八個元素 01234567 八進制中最大的數(shù)字是7

在java中表示八進制:在開頭加一個0

int oct=0766,逻悠;

十六進制:逢十六進制一 有16個元素元践,0-9 abcdef

最大的數(shù)字是f

java中十六進制的表示 在開頭加0x 0xacb1;

int hex=0xab23;

注:在java中 當代碼出現(xiàn)紅色下劃線,表示代碼出錯童谒,左邊會出現(xiàn)帶有紅叉的小燈

java 中快捷鍵輸出內(nèi)容 syso sout

System.out.println(dot);

1.2 小數(shù) 又稱為浮點數(shù) double

double dot=1.23单旁;

double dot1=-2.33;

1.3 布爾值

編程中 真假 男女 是否 對 只有二值的屬性,一般采用布爾值表示

性別 默認;女 true女 false 男 保密

布爾的數(shù)據(jù)類型表示:boolean

boolean gender=true饥伊;

System.out.println(gender);輸出下

1.4 字符 :char

使用單引號包裹象浑,‘ ’,‘a(chǎn)’琅豆,在單引號中 只能包含一個字符愉豺;能包含任意字符,能包含漢字茫因,能包含特殊的字符蚪拦,比如¥ √等。

char ch1=‘a(chǎn)’冻押,不能是char ch2=‘a(chǎn)b’驰贷;不能是兩個字符

2.基本數(shù)據(jù)類型占用字節(jié)大小和表示范圍

整數(shù):有4種表示

? byte : 1字節(jié) 8位【8bit】 表示的范圍:-128~127

? 0000 0000 2*****2 *****2***** 2 *****2* 2*2 7個2連乘=128,符號位:1表示負數(shù)洛巢,0表示整數(shù)

? 0001 1100正數(shù) 1000 1101 負數(shù)

? byte b1=25;

? byte b2=129;---這個超出了范圍括袒,在java中會報錯

? short:短整型,是相對int來說得狼渊,int是4個字節(jié)箱熬,short占2個字節(jié)类垦,long是8個字節(jié)

? short范圍 : -32768~32767===== -2的15次方~2的15次方-1

? int[默認]:整型 整數(shù) 4字節(jié) 范圍:-2147483648~2147483647 =====-2的31次方~2的31次方-1狈邑,這個數(shù)據(jù)在10位以內(nèi)

? long: 長整型 范圍-263~263-1

? long l1=12345678912344565767;這個默認的數(shù)據(jù) 類型是整型蚤认,如果超過10位米苹,需要在數(shù)字最后面加個L, 數(shù)據(jù)在20位以內(nèi)

浮點數(shù)

單精度的浮點數(shù)

float 浮動

float f1=1.23 默認1.23是雙精度的的,會報錯砰琢,在最后面加個F蘸嘶,強制單精度 float f1=1.23F良瞧;F大小寫都可以

double 雙精度 double d1=2.333;

單精度與雙精度的區(qū)別:

精確度不同

float 在內(nèi)存中只占4個字節(jié)训唱,有32位

0000 0000 整數(shù)[8位指數(shù)] 0000 0000 0000 0000 0000 0000[23表示小數(shù)==小數(shù)點后6位]

double 占8個字節(jié)褥蚯,有64位,前面的11位表示整數(shù)况增,后面52位表示小數(shù)==小數(shù)點后15位

布爾

占1個字節(jié) 0 假 false 1 真true

字符

占2個字節(jié) 0-65535赞庶,是從0開始的,只有正沒有負數(shù)

常量

常量就是不會變化的值澳骤,也就是字面上的值

final double pi=3.14歧强;final是最終的,能讓數(shù)據(jù)不被修改为肮,是不變的摊册,不能改的

變量

定義變量

數(shù)據(jù)類型 變量的名稱=值

int age=18;

age=19颊艳;

age=20茅特;

字符串

字符串是多個字符 連到一起,成串棋枕,使用雙引號包裹”寫什么都可以“

字符串的數(shù)據(jù)類型 String S大寫

String string=”I Love java温治,要什么自行車“

注意:字符串的值可以是空的,字符用單引號字符不能是空的

數(shù)據(jù)類型轉(zhuǎn)換

不同類型之間的數(shù)據(jù)是可以進行計算的戒悠,需要經(jīng)過類型轉(zhuǎn)換

轉(zhuǎn)換方式:

1.自動類型轉(zhuǎn)換[隱式類型裝換]

byte byte1=12;

byte byte2=bytel1+2--這個會報錯;//14 2類型是int 自動類型轉(zhuǎn)換:將小類型轉(zhuǎn)大類型(自動轉(zhuǎn))熬荆,byte->int

byte byte2=int(12)+int(2)這個是錯的

int byte2=int(12)+int(2) 這個是對的

byte byte2=(byte)(byte1+2)這個是對的

注意;基本常用數(shù)據(jù)類型排序

byte<short=char<int<long<float<double 可以小類型轉(zhuǎn)大類型,才會自動轉(zhuǎn)

補充:上下快速移動整行代碼 alt+方向鍵上/下

2.強制類型轉(zhuǎn)換

數(shù)據(jù)類型 變量名=(要回的類型)值绸狐;

short sh1=1234卤恳;

short sum=(short)(sh1+1);

byte by1=(byte)129; 我們byte的范圍是-128--127寒矿,如果強制轉(zhuǎn)突琳,可能會丟失精度,比如這個例子符相,輸出就是-127

補充:ASCII碼表中的字符拆融,對應java中的char類型

System.out.println(0+'a');小寫的a在ASCII碼表中是97,能通過這種方式啊终,快速轉(zhuǎn)成整型镜豹,0是整型

System.out.println(char)(0+'a');這個是強轉(zhuǎn)成字符型

舉例:將小寫字母轉(zhuǎn)大寫字母

算數(shù)運算符

int num1=123;

int num2=456;

int sum=num1+num2;

int dis=num1-num2;

int mul=num1*num2;

int div=num1/num2 ; 在java中 整數(shù)除以整數(shù),結(jié)果為整數(shù)蓝牲,要想得小數(shù)趟脂,乘以1.0,將其中一個轉(zhuǎn)化為小數(shù)例衍,如下:

double div=num1*1.0/num2; 因為1.0是double昔期,會自動類型提升

字符串鏈接”成都“+”雙流“=”成都雙流“

  • String str1="成都"已卸;
  • String str2="雙流";
  • String string=str1+str2硼一;
  • System.out.println(string);

++ 自增 每次自動加一

  • int age=17;

  • age=age+1;

  • age=18;

  • age=age+1;

  • age=19;

  • age=age+1;

    簡便寫法int age=17累澡;

    age++;

    age++般贼;

    System.out.println(age);

++ 自增 自增分前后

age++; 后自增永乌,規(guī)則是先賦值,后自增,

++age; 前自增具伍,規(guī)則是先自增翅雏,后賦值

不合第二個(其他變量)參與賦值運算,前后自增沒有任何區(qū)別人芽;

比如:age=20;

? int nowAge=age++;

? System.out.println(nowAge);-----這個時候結(jié)果是20

int nowAge=++age;

System.out.println(nowAge);-----這個時候結(jié)果是21

自減 -- 減一

int money=35望几;

money--;

System.out.println(money);----這時候結(jié)果為34

自減也分前后萤厅,規(guī)則同自增

補充:快速復制一行 ctrl+alt+方向鍵上下

? 快速刪除一行ctrl+d

? 將代碼還原成標準格式:shift+ctrl+f

賦值運算符

完成的操作是賦值+運算

= 賦值

int age=18;

  • += int age =age+5;

age=age+5;===>age += 5;這兩個式子是相等的

  • -= int money=35橄抹;money-=8====>money=money-8;

  • *= int score=30;score*****=2;===>score=score*****2;

  • /= int num1=10;int num2=3; num1/=num2;====>num1=num1/num2;

  • %= 取余數(shù) int aa=10;aa%=3;===>aa=aa%3===>結(jié)果為1

練習 123456,取出每一位上的數(shù)字 java中整數(shù)除以整數(shù)=整數(shù)惕味,所以123456/10=12345
int number=123456;
int ge=number%10;
number /= 10;
int shi=number%10;
number /= 10;
int bai=number %10;
number /= 10;
int qian =number %10;
number /= 10;
int wan =number %10;
number /= 10;
int shiwan =number %10;

    System.out.println(ge);
    System.out.println(shi);
    System.out.println(bai);
    System.out.println(qian);
    System.out.println(wan);
    System.out.println(shiwan);

關系運算符

強調(diào):關系運算符運算的結(jié)果為布爾值

==判斷兩個值是否相等楼誓,值用于基本數(shù)據(jù)類型,整數(shù)名挥、小數(shù)疟羹、布爾值、字符禀倔,不能用于字符串判斷

如:int a=10;

? int b=20;

System.out.println(a==b);====>結(jié)果為false

榄融!= 不等于

小于 <

大于>

小于等于<=

大于等于>=

邏輯運算符

用來連接兩個布爾類型結(jié)果的運算符,運算結(jié)果都是布爾值 true 或者false

  • & 與(一假則假):同時 并且

int score=78;
System.out.println(score>=60 & score<=100);

&鏈接兩個布爾值運算時的規(guī)則

真&真=真救湖,真&假=假愧杯,假&真=假,假&假=假

總結(jié):兩邊同時為真鞋既,結(jié)果才為真力九,一邊為假,結(jié)果為假

  • &&短路與 當邏輯表達式邑闺,左邊為假的時候跌前,右邊不在判斷,直接的結(jié)果检吆,結(jié)果為假舒萎,可以提高效率

  • | 或 (一真則真):或者 有一即可

? int handsome =300;
? int rich =1000;
? System.out.println(handsome>=200 | rich>=1000);===>這里結(jié)果是true

|或的運算原則:真|真=真;真|假=真蹭沛;假|(zhì)真=真臂寝;假|(zhì)假=假 總結(jié):有一個為真就為真,同時為假才為假摊灭。

  • || 短路或 用途 當左邊成立咆贬,為真時,直接得結(jié)果帚呼,為真掏缎,右邊不在計算,提高效率煤杀。

  • ^ 異或 運算規(guī)則 真真=假眷蜈;真假=真;假真=真沈自;假假=假 總結(jié):一真一假 就為真酌儒,同真同假都為假

System.out.println(handsome>=200 ^ rich>=1000);====>這個結(jié)果是false

  • ! 非 不是 !布爾值 枯途!true=false 忌怎!false=true 非真即假,非假即真

System.out.println(!(handsome>=500));

|| 短路或

三元運算符

[ternary] 三元的

  • 三元運算符 又叫三目運算符

  • 二元運算符

? int a=1;
? int b=2;
? int sum=a+b;

  • 三元運算符格式:數(shù)據(jù)類型 變量名=布爾值酪夷?值1:值2榴啸;

布爾值為true,執(zhí)行值1晚岭,布爾值為false鸥印,執(zhí)行值2

? int a=1;
? int b=2;
? int sum=a+b;
? int score=70;
? String res=score>=85?"獎勵":"不獎勵";
? System.out.println(res);

這里的結(jié)果是 不獎勵

A?B:C;----->這個有3部分,所以就是三元運算符

注意;前面接收的數(shù)據(jù)類型要和值得類型對應(一致)

java常用的輸出方式

  • 方法一 System.out.println() 輸出內(nèi)容并換行 快捷鍵 syso sout

System 系統(tǒng) out 輸出 println 打印換行坦报,在內(nèi)容輸出后換行

  • 方法二 System.out.print()輸出內(nèi)容不換行

如果輸出內(nèi)容想要換行 使用方法一

System.out.println();---不輸出內(nèi)容辅甥,只換行,也可以稱作手動換行

System.out.print();-------不可以不輸出空內(nèi)容燎竖,必須要有參數(shù)

  • 方法三 System.out.printf(參數(shù)1:格式璃弄,參數(shù)2:數(shù)字);--格式化輸出

System.out.printf("%.3f",3.2145);表示保留小數(shù)點后3位 --"%.3f",會自動四舍五入

上面輸出的內(nèi)容是3.215

從鍵盤錄入數(shù)據(jù)

  • 1.創(chuàng)建一個掃描器

Scanner sc=new Scanner(System.in);//System系統(tǒng)in輸入 out 輸出

  • 2.導包 到掃描器的依賴import java.util.Scanner,eclipse會自動導包

如果沒有導包构回,使用快捷鍵手動導包夏块,ctrl+shift+o

  • 3.通過掃描器對象錄入數(shù)據(jù)

3.1 錄入整數(shù) int

System.out.println("請輸入一個整數(shù)");
int num1=sc.nextInt() //nextInt()下一個整數(shù)

System.out.println(num1);

3.2 錄入小數(shù) 默認類型double

System.out.println("請輸入一個小數(shù):");
double d1=sc.nextDouble();
System.out.println(d1);

3.3 輸入字符串

方式一

1)必須輸入有效數(shù)據(jù)以后才可以停止,輸入的空格和回車不會停止輸入
2)在有效數(shù)據(jù)前的所有空格和回車都會自動的去除
3)在有效數(shù)據(jù)后的空格會阻斷錄入纤掸,將空格后的有效數(shù)據(jù)丟棄
4)無法錄入空內(nèi)容

System.out.println("請輸入字符串:");
String str=sc.next();
System.out.println(str);

方式二

1)遇到回車就停止錄入脐供,輸入什么,手機什么借跪,除非遇到換行政己,停止錄入

2)不要和上面的sc.nextInt();sc.nextDouble();sc.next();混用

3)上面三種方式,使用回車結(jié)束的時候掏愁,會導致nextLine();直接結(jié)束歇由,無法錄入數(shù)據(jù)

4)如果非要與上面三種方式混用卵牍,在sc.nextLine();上面,再加sc.nextLine();沦泌,用來擋掉一次回車

? System.out.println("請輸入第二個字符串:");
? String str2=sc.nextLine();
? System.out.println(str2);

  • 4.當數(shù)據(jù)輸入錄入完畢后糊昙,在程序的最后,關閉掃描器

sc.close();

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谢谦,一起剝皮案震驚了整個濱河市释牺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌回挽,老刑警劉巖没咙,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異千劈,居然都是意外死亡祭刚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門队塘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來袁梗,“玉大人,你說我怎么就攤上這事憔古≌诹” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵鸿市,是天一觀的道長锯梁。 經(jīng)常有香客問我,道長焰情,這世上最難降的妖魔是什么陌凳? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮内舟,結(jié)果婚禮上合敦,老公的妹妹穿的比我還像新娘。我一直安慰自己验游,他們只是感情好充岛,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著耕蝉,像睡著了一般崔梗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上垒在,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天蒜魄,我揣著相機與錄音,去河邊找鬼。 笑死谈为,一個胖子當著我的面吹牛旅挤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播峦阁,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼谦铃,長吁一口氣:“原來是場噩夢啊……” “哼耘成!你這毒婦竟也來了榔昔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤瘪菌,失蹤者是張志新(化名)和其女友劉穎撒会,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體师妙,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡诵肛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了默穴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怔檩。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蓄诽,靈堂內(nèi)的尸體忽然破棺而出薛训,到底是詐尸還是另有隱情,我是刑警寧澤仑氛,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布乙埃,位于F島的核電站,受9級特大地震影響锯岖,放射性物質(zhì)發(fā)生泄漏介袜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一出吹、第九天 我趴在偏房一處隱蔽的房頂上張望遇伞。 院中可真熱鬧,春花似錦捶牢、人聲如沸鸠珠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽跳芳。三九已至,卻和暖如春竹勉,著一層夾襖步出監(jiān)牢的瞬間飞盆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吓歇,地道東北人孽水。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像城看,于是被迫代替她去往敵國和親女气。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361