創(chuàng)建一個項目的三個步驟
1.創(chuàng)建一個項目[工程 ] java project
- 創(chuàng)建包package【包名:公司域名的倒置】
- 創(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();