java 判断类型_如何快速入门Java编程学习(干货)
一、初識(shí)Java
1.生活中的程序:
從起床到教室上課的過(guò)程
穿衣打扮》起床》洗漱》出宿舍》》吃早餐》到教室
按照特定的順序去完成某一件事的過(guò)程我們叫做生活中的程序
2.計(jì)算機(jī)中的程序:
一組有序指令的集合,需要和計(jì)算機(jī)交流就要使用計(jì)算機(jī)語(yǔ)言,java就是計(jì)算機(jī)語(yǔ)言的一種
3.Java能做什么:
1、開(kāi)發(fā)桌面應(yīng)用程序,比如:QQ、酷狗
2、開(kāi)發(fā)Internet應(yīng)用程序,比如:淘寶、天貓
4.Java技術(shù)平臺(tái):
1、Java SE:標(biāo)準(zhǔn)版,java的技術(shù)與核心,開(kāi)發(fā)桌面應(yīng)用程序
2、Java EE:提供企業(yè)級(jí)項(xiàng)目的解決方案,開(kāi)發(fā)網(wǎng)頁(yè)應(yīng)用
5.安裝Jdk:
Jdk:Java的一個(gè)核心工具包
Jre:Java的一個(gè)運(yùn)行環(huán)境(表示Java除了可以在windows系統(tǒng)運(yùn)行,還可以在蘋果系統(tǒng)運(yùn)行)
環(huán)境變量:告訴計(jì)算機(jī)可以執(zhí)行.Java的運(yùn)行程序在哪里
6.開(kāi)發(fā)Java程序的步驟:
1、編寫一個(gè)Java源程序
新建記事本,將后綴名改為.java
2、編譯java源程序,語(yǔ)法:javac 源文件名.java
編譯后會(huì)生成一個(gè).class的字節(jié)碼文件
3、運(yùn)行java程序,運(yùn)行的是.class的文件,語(yǔ)法:java 源文件名
注意:java嚴(yán)格區(qū)分大小寫
System.out.println () 打印之后換一行,先打印再換行
System.out.print () 打印之后不換行
7.轉(zhuǎn)義字符:
使用"n"進(jìn)行換行
使用"t"空格一個(gè)制表符的位置,也就是一個(gè)tab的位置,8個(gè)英文字母的長(zhǎng)度
8.Java中的注釋:
//注釋內(nèi)容 單 行注釋:表示對(duì)下一條語(yǔ)句進(jìn)行一個(gè)解釋
/* 注釋內(nèi)容 */ 多行注釋:表示對(duì)下面一段語(yǔ)句進(jìn)行一個(gè)解釋
/**注釋內(nèi)容 */ 文檔注釋:表示對(duì)一段文本注釋
注釋的語(yǔ)句是不會(huì)進(jìn)行編譯的
9.Java的編碼規(guī)范:
1、遇到大括號(hào) { 就進(jìn)行一次縮進(jìn),縮進(jìn)距離一個(gè)tab鍵的長(zhǎng)度
2、每一個(gè)大括號(hào) } 單獨(dú)占一行,表示一段語(yǔ)句的結(jié)束
3、 ; 表示每行語(yǔ)句的結(jié)束,每一行只寫一句代碼
10.使用開(kāi)發(fā)工具開(kāi)發(fā)Java程序的步驟:
1、新建一個(gè)java工程
2、選中新建的工程,選中src文件夾,點(diǎn)擊右鍵new,新建一個(gè)class,新建時(shí)選中
public static void main這一項(xiàng),會(huì)自動(dòng)生成java源程序的框架
3、去編寫java源程序
4、編譯java源程序,開(kāi)發(fā)工具會(huì)自動(dòng)編譯
5、運(yùn)行java程序
二、變量、數(shù)據(jù)類型和運(yùn)算符
1.每個(gè)程序都只有一個(gè)入口,也就是只有一個(gè)main方法,只有一個(gè)程序可以打開(kāi)QQ,其他的地方都打開(kāi)不了!
2.程序沒(méi)有運(yùn)行是存儲(chǔ)磁盤上,運(yùn)行在內(nèi)存中
3.酒店中入住:
1、開(kāi)房間(根據(jù)不同人數(shù)開(kāi)不同類型的房間)
2、入住
4.變量的概念:內(nèi)存根據(jù)數(shù)據(jù)不同類型開(kāi)辟的這個(gè)空間叫做變量
酒店 相當(dāng)于 內(nèi)存
房間 相當(dāng)于 變量
入住的人 相當(dāng)于 數(shù)據(jù)(變量值)
房間類型 相當(dāng)于 數(shù)據(jù)類型(數(shù)字還是文字)
房間號(hào) 相當(dāng)于 變量名
5.變量名:用于快速找到內(nèi)存中變量空間位置取得名字
6.數(shù)據(jù)類型:
數(shù)值型:
1、整型(int):用于存儲(chǔ)整數(shù),整數(shù)的類型123,999,666
byte字節(jié)型,short短整型,long長(zhǎng)整型
long》int》short》byte
2、非整型:用于存儲(chǔ)小數(shù),小數(shù)的類型1234.5,3.14
雙精度浮點(diǎn)型(double):小數(shù)的長(zhǎng)度比較長(zhǎng)
單精度浮點(diǎn)型(float):小數(shù)的長(zhǎng)度短一些
非數(shù)值型:
1、字符型(char):用于存儲(chǔ)單個(gè)字符,都需要使用英文狀態(tài)的單引號(hào)括起來(lái)
比如:‘男’、‘女’、‘開(kāi)’、‘關(guān)’
2、字符串型(String):用于存儲(chǔ)一串字符,存儲(chǔ)0~n個(gè)字符,都需要用英文狀
態(tài)下的雙引號(hào)括起來(lái)
比如:“我的名字是張三”,“我的愛(ài)好是打游戲”
7.變量名的命名規(guī)則:
1、只能夠使用_和$這兩個(gè)符號(hào);
2、只能使用英文字母、_ 、$三個(gè)開(kāi)頭,后面的可以使用數(shù)字、字母和_ 、美元符號(hào) ;
3、使用java語(yǔ)言中的關(guān)鍵字
4、采用見(jiàn)文識(shí)意的方式命名,采用駝峰命名法ageOfStudent,多個(gè)字母命名時(shí),
第一個(gè)字母的首字母小寫,后面字母首字母大寫
8.變量的使用:
1、聲明變量,就是在內(nèi)存開(kāi)一個(gè)空間
語(yǔ)法:數(shù)據(jù)類型 變量名;(空格和分號(hào)不能少),比如:int qian;
2、變量賦值,就是將數(shù)據(jù)放到開(kāi)辟的這個(gè)空間
語(yǔ)法:變量名 = 變量值;比如:qian = 1000;
3、使用變量
比如:System.out.println(qian);
9.運(yùn)算符的使用:
1、賦值運(yùn)算符(=),將等號(hào)右邊的值賦給左邊
2、拼接運(yùn)算符(+),將+左右兩邊的連起來(lái)
表達(dá)式:就是符號(hào)(如加號(hào)、減號(hào))與操作數(shù)(如b,3等)的組合,比如:b-1
算術(shù)運(yùn)算符:
四則運(yùn)算:+、-、*、/
%(取模運(yùn)算):除以一個(gè)數(shù)得到余數(shù),就是求余數(shù)的運(yùn)算的運(yùn)算
10.從鍵盤掃描輸入的值:
1、找到有掃描儀的商店,語(yǔ)法:import java.util.Scanner;寫在public class的前面
2、購(gòu)買一臺(tái)新的掃描儀,給它取一個(gè)名字
語(yǔ)法:Scanner input = new Scanner(http://System.in);
3、使用掃描儀的掃描功能
如果掃描整數(shù):使用input.nextInt();
如果掃描小數(shù):使用input.nextDouble();
如果掃描字符串:使用input.next();
11.類型轉(zhuǎn)換:
自動(dòng)類型轉(zhuǎn)換:
1、必須兩種類型互相兼容,比如:都是數(shù)值類型int和double,double和float
2、轉(zhuǎn)換成的類型一定要比被轉(zhuǎn)換的類型要大,比如:int轉(zhuǎn)換成double
float轉(zhuǎn)換成double
12.強(qiáng)制類型轉(zhuǎn)換:
語(yǔ)法:數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)變量名;
比如:double b = 3.14
int a = (int)b;
1、同類型的強(qiáng)制類型轉(zhuǎn)換,比如:int a = (int)10.9;
2、不同類型的強(qiáng)制類型轉(zhuǎn)換,只有char和int可以,通過(guò)ASCII碼表去轉(zhuǎn)換
比如:int b = (int)‘a(chǎn)’;
13.運(yùn)算符:
1、賦值運(yùn)算符 =,將右邊的值賦給左邊
2、算術(shù)運(yùn)算符+、-、、/、%,數(shù)學(xué)運(yùn)算一樣,先、/、%,后+、-
3、關(guān)系運(yùn)算符(比較運(yùn)算符):>、<、>=、<=、==、!=
4、邏輯運(yùn)算符
boolean類型(布爾類型):用于比較運(yùn)算,只有兩個(gè)值(true和false)默認(rèn)false
14.運(yùn)算符的優(yōu)先級(jí):
1、最高優(yōu)先級(jí),英文狀態(tài)下的小括號(hào)()
2、最低優(yōu)先級(jí),賦值運(yùn)算符=
3、算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符>賦值運(yùn)算符
三、選擇結(jié)構(gòu)
1.if選擇結(jié)構(gòu)
if基本選擇結(jié)構(gòu)
語(yǔ)法:if(要滿足的條件){
如果條件為true的時(shí)候,進(jìn)入大括號(hào)中
滿足條件之后得到的結(jié)果,不滿足條件不會(huì)去執(zhí)行
}
如果條件為false的時(shí)候,繞過(guò)大括號(hào)執(zhí)行外面的
條件只能是boolean類型的數(shù)據(jù)
1
2.邏輯運(yùn)算符:
&&(shift+7):and符號(hào),并且的意思,同時(shí)滿足連接前后條件才為true,有一個(gè)不滿足為
false
||(shirt+):或者的意思,只要前后兩個(gè)條件一個(gè)為true,整個(gè)表達(dá)式就為true,同時(shí)為
false才為false
!(shirt+1):非的意思,就是取反,如果表達(dá)式為true,使用非就為false
3.if-else選擇結(jié)構(gòu):
適用于基本選擇條件的情況
語(yǔ)法:if(要滿足的條件){
滿足條件得到的結(jié)果
}else{
不滿足條件的得到的結(jié)果
}
4.產(chǎn)生一個(gè)隨機(jī)數(shù):
1、找到一個(gè)有隨機(jī)數(shù)產(chǎn)生器的商店,語(yǔ)法:import java.util.Random;
2、購(gòu)買一臺(tái)隨機(jī)數(shù)產(chǎn)生器并取一個(gè)名字,語(yǔ)法:Random ran = new Random();
3、使用這臺(tái)隨機(jī)數(shù)產(chǎn)生器的功能區(qū)產(chǎn)生隨機(jī)數(shù),語(yǔ)法:ran.nextInt(數(shù)字);
ran.nextInt(10) 表示產(chǎn)生一個(gè)0~9之間的隨機(jī)數(shù)
ran.nextInt(10) +1表示產(chǎn)生一個(gè)1~10之間的隨機(jī)數(shù)
5.多重if選擇結(jié)構(gòu):
適用于很多條件分支的情況
語(yǔ)法:if(要滿足的條件1){
滿足條件1得到的結(jié)果
}else if(要滿足的條件2){ //默認(rèn)不滿足條件1
滿足條件1得到的結(jié)果
}else if(要滿足的條件n){ //默認(rèn)不滿足條件2
滿足條件n得到的結(jié)果
}else{ //默認(rèn)不滿足條件n
不滿足所有條件得到的結(jié)果
}
只要找到一個(gè)滿足的條件,執(zhí)行完之后,結(jié)束選擇結(jié)構(gòu)
6.嵌套if選擇結(jié)構(gòu)
適用于在一個(gè)判斷的基礎(chǔ)再做一次判斷的情況
語(yǔ)法:if(要滿足的條件1){
滿足條件1得到的結(jié)果
if(要滿足的條件2){
滿足條件2得到的結(jié)果
}
}else{
不滿足條件1得到的結(jié)果
}
==只能夠比較數(shù)值類型,比較字符串是否相等,使用.equals(“要等于哪個(gè)字符串”);
比如:sex.equals(“男”);10 == 10
四、循環(huán)結(jié)構(gòu)
1.循環(huán)結(jié)構(gòu):
打印50份試卷,是從第1份開(kāi)始打印,打印到第50份結(jié)束,重復(fù)打印試卷的過(guò)程
繞操場(chǎng)跑10圈,從第1圈開(kāi)始,到第10圈結(jié)束,重復(fù)跑步的過(guò)程
做100道編程題,從第1題開(kāi)始,到第100道結(jié)束,重復(fù)做題的過(guò)程
2.循環(huán)的概念:
重復(fù)完成某一件事情或者某一個(gè)操作,有一個(gè)開(kāi)始位置和結(jié)束位置就叫做循環(huán)
3.循環(huán)的特點(diǎn):
1、循環(huán)條件:也就是滿足某個(gè)條件下才做重復(fù)的操作
2、循環(huán)操作:也就是重復(fù)所做的事情或者操作
4.while循環(huán)的語(yǔ)法:
while(循環(huán)條件){
滿足條件的時(shí)候所做的循環(huán)操作
}
特點(diǎn):先判斷,再執(zhí)行
使用while循環(huán)的步驟:
1、確定是否存在重復(fù)操作
2、分析出循環(huán)條件和循環(huán)操作分別是什么
3、套用while循環(huán)語(yǔ)法寫出循環(huán)結(jié)構(gòu)
4、檢查循環(huán)是否能正確退出
5.do-while循環(huán)結(jié)構(gòu)的語(yǔ)法:
do{
循環(huán)操作
}while(循環(huán)條件);
特點(diǎn):先執(zhí)行循環(huán)操作,再進(jìn)行循環(huán)條件判斷(先執(zhí)行,再判斷)
6.while循環(huán)和do-while循環(huán)的差別:
1、循環(huán)的次序不同,while循環(huán)是先判斷,再執(zhí)行,do-while是先執(zhí)行,再判斷;
2、while循環(huán)在初始值不滿足循環(huán)條件的時(shí)候一次都不會(huì)執(zhí)行,do-while循環(huán)在初始值不
滿足循環(huán)條件的時(shí)候至少執(zhí)行一次
7.程序調(diào)試:
斷點(diǎn)調(diào)試的步驟:(每次調(diào)試后取消掉斷點(diǎn))
1、設(shè)置斷點(diǎn):在左側(cè)邊欄的位置點(diǎn)擊鼠標(biāo)左鍵兩次,可以生成一個(gè)斷點(diǎn)
2、進(jìn)入調(diào)試模式:點(diǎn)擊右鍵,選擇debug as進(jìn)入debug調(diào)試模式,程序會(huì)在設(shè)置斷點(diǎn)的地
方停下來(lái)
3、單步執(zhí)行,也就是一行一行的執(zhí)行代碼,按F6單步跳過(guò)執(zhí)行代碼
4、觀察變量值的變化
5、找出錯(cuò)誤的位置
6、改正錯(cuò)誤
7、運(yùn)行看結(jié)果是否正確**
8.for循環(huán)結(jié)構(gòu)
語(yǔ)法:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)操作
}
表達(dá)式1:循環(huán)從哪里開(kāi)始,也就是循環(huán)的初始值,比如:int num = 1
表達(dá)式2:循環(huán)的條件,也就是循環(huán)到哪里結(jié)束,比如:num <100
表達(dá)式3:計(jì)數(shù)器,也就是每循環(huán)一次,初始值產(chǎn)生怎樣的變化,比如:num++
每個(gè)表達(dá)式之間用分號(hào)隔開(kāi),每個(gè)表達(dá)式都可以不寫,但是分號(hào)不能省略
for循環(huán)的執(zhí)行順序:
①先去執(zhí)行表達(dá)式1,也就是先去找初始值
②第二步去執(zhí)行表達(dá)式2,也就是去找循環(huán)條件
③第三步去執(zhí)行循環(huán)操作
④最后才去執(zhí)行表達(dá)式3,也就是最后才實(shí)現(xiàn)初始值變化的過(guò)程
表達(dá)式1和表達(dá)3中可以寫多個(gè),表達(dá)式2,條件只能有一個(gè)
9.跳轉(zhuǎn)語(yǔ)句的使用:
break關(guān)鍵字:(通常和if選擇結(jié)構(gòu)一起使用)
在switch使用break表示結(jié)束switch選擇結(jié)構(gòu)去執(zhí)行選擇結(jié)構(gòu)外的代碼
在循環(huán)中使用break表示結(jié)束循環(huán)結(jié)構(gòu)去執(zhí)行循環(huán)結(jié)構(gòu)外的代碼
continue關(guān)鍵字:(通常和if選擇結(jié)構(gòu)一起使用)
continue只能夠在循環(huán)結(jié)構(gòu)中使用
在循環(huán)中使用continue表示結(jié)束當(dāng)前這一次循環(huán),然后開(kāi)始下一次循環(huán)
使用場(chǎng)合:
break常用于switch結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中
continue一般用于循環(huán)結(jié)構(gòu)中
作用(循環(huán)結(jié)構(gòu)中)
1
break語(yǔ)句終止某個(gè)循環(huán),程序跳轉(zhuǎn)到循環(huán)塊外的下一條語(yǔ)句
continue跳出本次循環(huán),進(jìn)入下一次循環(huán)
1
10.循環(huán)結(jié)構(gòu)四要素:
1、初始值,也就是循環(huán)要從哪里開(kāi)始
2、循環(huán)條件,循環(huán)要到哪里結(jié)束
3、循環(huán)操作(循環(huán)體),就是需要重復(fù)做的某些操作
4、計(jì)數(shù)器(迭代部分),就是每次重復(fù)之后,初始值要產(chǎn)生的變化
11.while、do-while和for循環(huán)的區(qū)別:
1、執(zhí)行順序不同
while和for循環(huán):先判斷,再執(zhí)行
do-while循環(huán):先執(zhí)行,再判斷
2、適用場(chǎng)景(循環(huán)次數(shù)固定推薦使用for循環(huán))
for循環(huán)只適用于循環(huán)次數(shù)固定的情況
while和do-while循環(huán)無(wú)論循環(huán)次數(shù)是否固定都可以使用
1
2
3
五、數(shù)組
1.數(shù)組的概念
在內(nèi)存中開(kāi)辟的一串連續(xù)的空間,用來(lái)存儲(chǔ)相同數(shù)據(jù)類型的,比如:鞋柜只會(huì)放鞋子,衣
柜只會(huì)用來(lái)放衣服
2.數(shù)組的基本要素
1、標(biāo)識(shí)符(數(shù)組名):數(shù)組的名稱,用來(lái)區(qū)分不同的數(shù)組
2、數(shù)組元素:存放在數(shù)組空間中的數(shù)據(jù)
3、數(shù)組下標(biāo):對(duì)數(shù)組中的空間進(jìn)行編號(hào),區(qū)分每個(gè)空間,數(shù)組下標(biāo)從0開(kāi)始,可以通過(guò)數(shù)
組下標(biāo)找到對(duì)應(yīng)的空間
4、元素類型:數(shù)組的數(shù)據(jù)類型
3.數(shù)組的定義和使用
1、聲明數(shù)組:告訴計(jì)算機(jī)數(shù)組是什么類型
語(yǔ)法:數(shù)據(jù)類型[] 數(shù)組名 或者 數(shù)據(jù)類型 數(shù)組名[]
比如:String[] args;int[] nums,數(shù)組名的命名方式和變量命名方式一樣
2、分配空間:告訴計(jì)算機(jī)要開(kāi)辟一串連續(xù)的多長(zhǎng)的空間
語(yǔ)法:數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長(zhǎng)度];
比如:scores = new int[30];
第一步和第二步可以一起寫
數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長(zhǎng)度];
3、賦值:向開(kāi)辟好空間里面去存放數(shù)據(jù)
語(yǔ)法:數(shù)組名[數(shù)組下標(biāo)] = 數(shù)據(jù);
比如:scores[0] = 60;//表示將數(shù)組第一個(gè)空間存放了60這個(gè)整數(shù)
scores[1] = 80;
直接聲明數(shù)組時(shí)就進(jìn)行賦值
語(yǔ)法:數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[]{數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)n};
數(shù)據(jù)類型[] 數(shù)組名 = {數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)n};
注意:如果在聲明數(shù)組時(shí)就直接賦值,那么不要寫數(shù)組長(zhǎng)度
比如:int[] scores = new int[]{60,80,100,50,60,70};
通過(guò)循環(huán)的方式動(dòng)態(tài)的錄入數(shù)據(jù)
循環(huán)從初始0開(kāi)始,到數(shù)組的最大長(zhǎng)度結(jié)束,每次加1
for(int i = 0;i < 5;i++){
System.out.println("請(qǐng)輸入第"+(i+1)+"名學(xué)生的成績(jī):");
scores[i] = input.nextInt();
}
4、數(shù)據(jù)的使用:將存放在數(shù)組空間中的元素拿出來(lái)使用
使用循環(huán)的方式將存放在每個(gè)空間中數(shù)據(jù)拿出來(lái)使用
for(int i = 0;i < 5;i++){
System.out.println("第"+(i+1)+"名的學(xué)生成績(jī)?yōu)?#34;+scores[i]);
}
數(shù)組名.length表示數(shù)組的長(zhǎng)度
比如:int[] scores = new int[10];
scores.length = 10;//數(shù)組長(zhǎng)度為多少,該值就為多少
4.數(shù)組的排序
使用Arrays類,使用Arrays的步驟
1、找到有Arrays的商店,語(yǔ)法:import java.util.Arrays;
2、Arrays是一個(gè)公用的工具,不需要夠買,只要去使用就可以,
語(yǔ)法:Arrays.sort(數(shù)組名);
它會(huì)將該數(shù)組進(jìn)行一個(gè)升序的排列
二重循環(huán):在一個(gè)循環(huán)中再使用一個(gè)循環(huán)結(jié)構(gòu)
循環(huán)特點(diǎn):外層循環(huán)循環(huán)一次,內(nèi)層循環(huán)循環(huán)一遍(也就是從開(kāi)始到結(jié)束循環(huán)完)
while循環(huán),do-while循環(huán)和for循環(huán)之間可以相互嵌套,也就是說(shuō)while循環(huán)可以放while,
do-while和for循環(huán),其他兩種一樣
5.二重循環(huán)中跳轉(zhuǎn)語(yǔ)句的使用
continue:如果continue在內(nèi)層循環(huán)中,表示結(jié)束內(nèi)層循環(huán)的本次循環(huán),開(kāi)始內(nèi)層循環(huán)的
下一次循環(huán),如果在外層循環(huán)表示結(jié)束外層循環(huán)的本次循環(huán),開(kāi)始外層循環(huán)的
下一次循環(huán),也就是說(shuō),continue在哪一個(gè)循環(huán)的{}中,就結(jié)束哪一個(gè)循環(huán)的
本次循環(huán),開(kāi)始該循環(huán)的下一次循環(huán)。
break:如果break在內(nèi)層循環(huán)中,表示結(jié)束內(nèi)層循環(huán)的整個(gè)循環(huán),開(kāi)始執(zhí)行內(nèi)層循環(huán)外面
語(yǔ)句,如果在外層循環(huán)中表示結(jié)束整個(gè)循環(huán),也就是說(shuō),break在哪個(gè)循環(huán)中,結(jié)
束的就是哪個(gè)循環(huán)的整個(gè)循環(huán)。
六、類和對(duì)象
1.OO
Object Oriented表示面向?qū)ο蟮囊馑?/p>
2.世界由什么組成
水,陸地,草,人,動(dòng)物,植物,樓房,汽車等等
由所有一切真實(shí)存在的東西組成,這些真實(shí)存在的東西就叫作對(duì)象
屬性:就是對(duì)象所具有特征
方法:就是對(duì)象所執(zhí)行的行為或操作
對(duì)象:用來(lái)描述真實(shí)存在事物的一個(gè)實(shí)體,由一組屬性和方法組成
封裝:對(duì)象的屬性和方法通常封裝在一起,共同體現(xiàn)事物的特性,兩者不可分割
類:將對(duì)象共同的屬性和方法抽取出來(lái)就是類
類是模子,定義對(duì)象所具有的屬性和方法
3.類和對(duì)象的關(guān)系
類是抽象的,對(duì)象是具體的實(shí)體
對(duì)象是類的一個(gè)實(shí)體,類是對(duì)象的抽象概念
4.定義一個(gè)類的步驟
1、新建一個(gè)class,給這個(gè)class取一個(gè)類名,名字和你想要定義的類型一致
類名的取名方式,使用帕斯卡命名法,所有單詞的首字母大寫
2、定義類的屬性
3、定義類的方法
5.使用定義好的類
1、新建一個(gè)對(duì)象,語(yǔ)法:類名 對(duì)象名 = new 類名();
比如:Car car1 = new Car();
2、通過(guò)“.”操作符來(lái)使用這個(gè)對(duì)象的屬性和方法
七、類的無(wú)參方法
1.定義類的方法:
語(yǔ)法:返回修飾符 返回值類型 方法名(){
//具體實(shí)現(xiàn)方法的操作
}
比如:
public void sayHello(){
//具體實(shí)現(xiàn)方法的操作
System.out.println(“你好”);
}
1、訪問(wèn)修飾符(在哪些地方能夠使用這個(gè)方法),public公共的,最高級(jí)別
2、返回值類型,執(zhí)行完方法后能夠得到什么數(shù)據(jù)
void,表示沒(méi)有返回值,也就是沒(méi)有任何數(shù)據(jù)返回
如果有數(shù)據(jù)返回,那么就需要使用return關(guān)鍵字返回一個(gè)數(shù)據(jù),并且返回的數(shù)據(jù)類型
和返回值的數(shù)據(jù)類型一致
3、方法名(),方法名表示方法的名字
4、方法體:具體實(shí)現(xiàn)方法的操作
2.編寫類的方法步驟:
1、先定義方法的訪問(wèn)修飾符,先寫沒(méi)有返回值類型,定義方法名,方法名的命名采用見(jiàn)
文識(shí)意的方式
2、定義方法體,也就是寫具體實(shí)現(xiàn)方法的操作
3、判斷方法是否有返回值,如果有,添加return關(guān)鍵字返回該數(shù)據(jù),并修改返回值類型
方法是怎么去實(shí)現(xiàn),方法是怎么實(shí)現(xiàn)的只需要在定義方法的關(guān)心,使用的時(shí)候只要知道是哪一個(gè)方
法是什么作用就可以了
3.方法的調(diào)用:
1、在同一個(gè)類調(diào)用同一類中的方法,只需要通過(guò)方法名()就可以指直接調(diào)用
2、在不同類中調(diào)用方法,需要先new一個(gè)需要調(diào)用方法的類的對(duì)象,然后通過(guò)對(duì)象名.方
法名的方式去調(diào)用方法
調(diào)用方法的時(shí)候,實(shí)際上就是去執(zhí)行方法體中的代碼
4.常見(jiàn)錯(cuò)誤:
1、返回值數(shù)據(jù)類型必須和返回值類型一致
2、不可以返回多個(gè)值,也不能寫多個(gè)返回值類型
3、定義方法不能夠相互嵌套
4、程序邏輯代碼(順序、選擇、循環(huán)結(jié)構(gòu))只能寫在方法體中
5.面向?qū)ο蟮木幊?#xff1a;
類的方法實(shí)現(xiàn)某個(gè)特定的功能,其他類不需要知道它如何實(shí)現(xiàn),只需要知道它是用來(lái)干什
么的
6.全局變量:
(成員變量)它是指定義在類中的變量,它在類中的任意位置都可以被識(shí)別,比如:類的屬性
1、作用域:作用在類中任意位置
2、初始值不同:如果沒(méi)有給它賦值,系統(tǒng)會(huì)默認(rèn)給它一個(gè)初始值,int類型為0,double
為0.0,String為null
3、在同一個(gè)類中不允許同名存在
7.局部變量
它是指定義在方法體中變量,它只能在該方法中被識(shí)別
1、作用域:作用在定義該變量的方法體中
2、初始值不同:必須給它賦值后才能去使用,系統(tǒng)不會(huì)給它賦初始值
3、在同一個(gè)類中,不同的方法中可以存在相同的命名,同名的兩個(gè)變量沒(méi)有任何關(guān)系
在同一個(gè)類中,允許局部變量和成員變量命名相同,如果兩個(gè)命名一樣,在使用時(shí),局部變量有
更高優(yōu)先級(jí)
八、類的有參方法
1.帶參數(shù)的方法:
無(wú)參方法:在方法名()的括號(hào)中沒(méi)有參數(shù)的方法
有參方法:在方法名()的括號(hào)中有參數(shù)的方法
2.定義有參方法的語(yǔ)法:
訪問(wèn)修飾符 返回值類型 方法名(參數(shù)1、參數(shù)2、參數(shù)3…參數(shù)n){
方法體(具體實(shí)現(xiàn)方法的過(guò)程)
}
3.參數(shù)
實(shí)際就是聲明的一個(gè)變量,聲明的變量使用“,”隔開(kāi)
在定義方法的時(shí)候,方法中的參數(shù)只是進(jìn)行了聲明,并沒(méi)有賦值,這個(gè)參數(shù)就叫做形式參
數(shù),也就是形參;
在調(diào)用方法的時(shí)候,對(duì)方法中參數(shù)進(jìn)行賦值,這個(gè)參數(shù)就叫作實(shí)際參數(shù),也就是實(shí)參
4.調(diào)用帶參數(shù)的方法:
同一類中調(diào)用同一類中的方法,直接方法名()調(diào)用
不同類中調(diào)用不同類中的方法,先new一個(gè)對(duì)象,再通過(guò)對(duì)象名.方法名()的方式調(diào)用
必須和定義方法的參數(shù)個(gè)數(shù)相同,并且數(shù)據(jù)類型必須一致,順序也要和定義的位置一致
5.二次傳遞
在調(diào)用方法的時(shí)候,傳遞一個(gè)參數(shù)值給該方法,然后在該方法中去調(diào)用了另外的方法,
再將這個(gè)參數(shù)值傳遞給在該方法中調(diào)用的這個(gè)方法
F5:單步跳入,遇到方法的時(shí)候回進(jìn)入方法體中,逐方法體的代碼一行一行的執(zhí)行
F6:單步跳過(guò),遇到方法的時(shí)候直接執(zhí)行完方法,獲得結(jié)果,不進(jìn)入方法體
6.對(duì)象數(shù)組:就是自己定義的類型的數(shù)組
自己定義類型,如果沒(méi)有new一個(gè)對(duì)象,那么它的初始就為null
7.包:在windows中以文件夾的方式存在
1)將類分為幾個(gè)類似于文件夾的單元
2)防止命名沖突,在同一個(gè)包不允許重復(fù)命名,不同包可以重復(fù)
3)可以對(duì)類中數(shù)據(jù)中進(jìn)行一個(gè)保護(hù)作用
聲明包,語(yǔ)法:package 包名; 必須為java源文件中第一條非注釋語(yǔ)句
包名:1、通常由小寫的英文字母組成,不能以圓點(diǎn)開(kāi)頭或結(jié)尾
2、開(kāi)頭一般是一個(gè)頂級(jí)域名cn,com,org,net
3、后續(xù)部分一般由公司名稱、部門名稱、小組名稱、項(xiàng)目名稱
導(dǎo)入包:語(yǔ)法:import 包名;
導(dǎo)入包,可以將在這個(gè)包中的所有類導(dǎo)入到我們這個(gè)類中,導(dǎo)入后才能使用該包中的類
通過(guò)ctrl+鼠標(biāo)左鍵點(diǎn)擊進(jìn)入定義方法的位置
九、字符串
1.字符串:就是一個(gè)或多個(gè)字符組成
2.聲明字符串:
1、直接聲明,比如:String name = “張三”;
2、使用對(duì)象的方式,new一個(gè)String類的對(duì)象,
比如:String name = new String(“張三”);
3.棧:用來(lái)存儲(chǔ)較小的數(shù)據(jù),離訪問(wèn)位置比較近,比如:int,double,short。。
堆:用來(lái)存儲(chǔ)較大的數(shù)據(jù),離訪問(wèn)位置比較遠(yuǎn),比如:String,數(shù)組,自己定義的類型
4.引用數(shù)據(jù)類型:通過(guò)在棧中的地址去引用存儲(chǔ)在堆中數(shù)據(jù)的數(shù)據(jù)類型
只要使用了new關(guān)鍵字,就表示在堆中新開(kāi)了一個(gè)空間,然后在棧中留下一個(gè)地址
String類型中的值是不可變的
5.比較字符串:
使用比較的是存儲(chǔ)的地址,引用類型地址不相同,不能使用比較
.equals比較的是存儲(chǔ)的數(shù)據(jù),將數(shù)據(jù)一一比較,字符串使用.equals比較是否相等
.equals()比較字符串是否相等
.equalsIgnoreCase()忽略大小寫比較字符串是否相等
.toLowerCase()將字符串中所有字符轉(zhuǎn)化為小寫
.toUpperCase()將字符串中所有字符轉(zhuǎn)化為大寫
6.獲得字符串長(zhǎng)度:
字符串名.length,獲得字符串長(zhǎng)度,每個(gè)字符就是一個(gè)長(zhǎng)度
7.字符串的拼接:
1、使用拼接符+進(jìn)行拼接
2、使用.concat()方法進(jìn)行拼接
8.字符串的查詢和提取
indexOf("@qq")、indexOf(’@’),查詢第一個(gè)字符出現(xiàn)的位置
.lastIndexOf(‘7’)、.lastIndexOf(“77”),查詢最后一個(gè)字符出現(xiàn)的位置
查詢:字符串名.indexOf(需要查找字符串名),返回一個(gè)int類型的數(shù)據(jù),第一個(gè)數(shù)從0
開(kāi)始,返回字符串第一個(gè)字符所在位置,找不到指定的字符串返回-1
9.提取:
.substring(8)提取第9個(gè)字符串后面的所有字符串
.substring(8,12)提取從第8個(gè)字符到第11個(gè)字符,開(kāi)始的位置從0開(kāi)始數(shù)起,結(jié)束的位置
從1開(kāi)始數(shù)起
忽略字符串前后的空格
.trim()忽略字符串前后的空格,中間不能忽略
10.字符串的分割
.split(以什么為分割的字符),返回一個(gè)String的數(shù)組,將分割的每個(gè)字符串放到這個(gè)數(shù)
組中
11.字符串的替換
.replaceAll(表示替換前的字符,表示替換后的字符),返回一個(gè)String的數(shù)據(jù)
StringBuffer類,是一個(gè)可變的字符串類型
語(yǔ)法:StringBuffer sb = new StringBuffer(“小林”);
StringBuffer的拼接:
.append(“需要追加的字符串”);追加的時(shí)候不會(huì)新開(kāi)辟空間
StringBuffer的插入字符:
.insert(插入的位置,要插入的字符);
強(qiáng)烈推薦兩個(gè)免費(fèi)的Java入門經(jīng)典視頻,也是我開(kāi)始接觸Java時(shí)別人推薦我學(xué)習(xí)的:
java基礎(chǔ)教程(編程就像打字一樣簡(jiǎn)單)
JavaWeb教程_JavaWeb入門教程
總結(jié)
以上是生活随笔為你收集整理的java 判断类型_如何快速入门Java编程学习(干货)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab中if语句的用法_Excel
- 下一篇: vb.net怎么调用fastreport