JAVA基礎(chǔ)快速?gòu)娜腴T(mén)到精通
java程序基本結(jié)構(gòu)
java程序的源碼文件是Xxx.java,Xxx代碼類(lèi)名和文件名一致(一般要求首字母大寫(xiě),從第二個(gè)單詞首字母大寫(xiě)。
新建一個(gè)類(lèi),類(lèi)名User
class User{
}
新建一個(gè)User類(lèi),執(zhí)行代碼在控制臺(tái)打印出"hello 中國(guó)"的效果
class User{
public static void main(String[] arg){
System.out.print("hello 中國(guó)");
}
}
javac User.java 意思是編譯User.java文件,-encoding utf-8是設(shè)置字符集防止亂碼。java User是執(zhí)行編譯后的文件
程序注釋
單行注釋?zhuān)?/p>
// 單行注釋
多行注釋?zhuān)?/p>
/*
多行注釋
*/
文檔注釋?zhuān)饕蕾?lài)于javadoc.exe,提取java源代碼文件中的注解結(jié)構(gòu),生成html-api 參考文件
/**
* 文件注釋
* 類(lèi)注釋
* 屬性注釋
* 方法注釋
*/
案例:
package com;
/**
* 這里主要寫(xiě)本文件的注釋信息,比如作者,文件名之類(lèi)的注釋
* @author webrx
* javac -d . Hello.java
* java com.Hello
*/
public class Hello {
/*
*多行注釋
*/
public static void main(String[] args) {
// 單行注釋
System.out.println("Hello com");
}
}變量 常量
變量
變量是指值在程序運(yùn)行期間可以被改變的量。變量用于儲(chǔ)存信息。它指向內(nèi)存的某個(gè)單元,而且指明了這塊內(nèi)存有多大。java是強(qiáng)類(lèi)型,變量必須先聲明初始化才可以使用。java程序中,變量名是區(qū)分大小寫(xiě)。
public class User {
// 在這里聲明的變量屬于全局變量,在整個(gè)類(lèi)中都可以用
//聲明靜態(tài)變量,并初始化
static int a = 3;
//聲明變量
int b;
public static void main(String[] args) {
//在方法里聲明的變量只能在這個(gè)方法中用,在其他方法中不能用。
//聲明變量,并初始化
int c=111;
//輸出變量a和c
System.out.println(a);
System.out.println(c);
}我這里是在WIN10的控制臺(tái)執(zhí)行的,用IDEA或者其他工具可以直接點(diǎn)運(yùn)行程序就可以

常量
在開(kāi)發(fā)領(lǐng)域常量一般都要求全大寫(xiě)
指在程序執(zhí)行期間其值不能發(fā)生變化的數(shù)據(jù)。例如數(shù)學(xué)中的π= 3.1415……又如:整數(shù)123,小數(shù)1.23,字符’A’,布爾常量 true、false等,程序開(kāi)發(fā)中,常量名一般規(guī)則全部大寫(xiě),聲明常量時(shí)必須賦值,以后只能使用,不能再賦值,java語(yǔ)言聲明常量使用final。
class User{
// 聲明全局常量
static final int a=3;
public static void main(String[] arg){
// 聲明局部常量
final int c=111;
System.out.println(a);
System.out.println(c);
}
}
- 這樣看是不是兩個(gè)沒(méi)什么區(qū)別?
常量是不可以變的,并且創(chuàng)建的時(shí)候必須賦值。而變量可以不賦值,用的時(shí)候再賦值。
這里聲明常量a沒(méi)有賦值,后面用的時(shí)候再賦值
class User{
static final int a;
public static void main(String[] arg){
final int c=111;
System.out.println(a);
System.out.println(c);
}
}運(yùn)行報(bào)錯(cuò)

變量a聲明的時(shí)候沒(méi)賦值,運(yùn)行之前賦值
class User{
static int a;
public static void main(String[] arg){
int c=111;
a=11;
System.out.println(a);
System.out.println(c);
}
}正常運(yùn)行

數(shù)據(jù)類(lèi)型與類(lèi)型轉(zhuǎn)換
(1)基本數(shù)據(jù)類(lèi)型 byte short int long float double char boolean (8大類(lèi)型)
? 1、整型 byte short int long
? 2、浮點(diǎn)型 float double
? 3、字符型 char a = ‘y’;
? 4、布爾 boolean
(2)引用數(shù)據(jù)類(lèi)型(對(duì)象 類(lèi) 接口 數(shù)組)

常用數(shù)據(jù)類(lèi)型
常用數(shù)據(jù)類(lèi)型,其他的基本數(shù)據(jù)類(lèi)型看上面的表。用法都一樣
class User{
public static void main(String[] arg){
// int類(lèi)型 賦值只能是整數(shù),長(zhǎng)度適中,一般都?jí)蛴?
int a=1;
// String 字符串類(lèi)型,數(shù)字,字母,漢字都屬于字符串都可以用
String b="hello";
// boolean 一般用于判斷對(duì)錯(cuò),因?yàn)檫@個(gè)類(lèi)型的變量只有兩個(gè)值,true和false 要么對(duì)要么錯(cuò)
boolean c=true;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
類(lèi)型轉(zhuǎn)換
// 聲明int類(lèi)型
int i = 30;
//轉(zhuǎn)換成short類(lèi)型
short n = (short)i;
package cn;
public class Var2 {
public static void main(String[] args) {
int a = 5;
a += 1;
a = a + 1;
System.out.println(a);//7
short b = (short) a;//7
b += 1;//b 8 (+=可以實(shí)現(xiàn)自動(dòng)的類(lèi)型轉(zhuǎn)換)
a = b + 1;//a = 9 b=8 (b+1 結(jié)果類(lèi)型為int 此)
System.out.println(a);//9
System.out.println(b);//8
}
}自動(dòng)隱式轉(zhuǎn)換

運(yùn)算符表達(dá)式
運(yùn)算符:是一種特殊符號(hào),用以表示數(shù)據(jù)的運(yùn)算、賦值和比較。
表達(dá)式:使用運(yùn)算符將運(yùn)算數(shù)據(jù)連接起來(lái)的符合Java語(yǔ)法規(guī)則的式子。
int i = 20*30;
(1)、算術(shù)運(yùn)算符
+ - * / % ++ --
int i = 5;
++i; //自身加1
i++;
System.out.println(--i); //自身減1 如果++ -- 在變量前,先執(zhí)行再使用,如果在后,先使用再自執(zhí)行。
public class Var4 {
public static void main(String[] args) {
int i = 5;
++i;
int b = i--;//b=6 i=5
System.out.println(i);//5
System.out.println(b);//6
System.out.println(6%2);//0 取余數(shù)
System.out.println(3/2);//1 取整商
System.out.printf("%.3f%n",3/2f);//1.500
System.out.printf("%.3f",3/2.0);//1.500
}
}(2)、賦值運(yùn)算符
= += -= *= /= %=

(3)、比較運(yùn)算符
? == != > >= < <=
== 和 = 結(jié)果不一樣,==是判斷等不等,=是賦值
注1:比較運(yùn)算符的結(jié)果都是boolean型,也就是要么是true,要么是false。
注2:比較運(yùn)算符“==”不能誤寫(xiě)成“=” ,切記!切記!

(4)、邏輯運(yùn)算符
&&邏輯與 ||邏輯域 !邏輯非

標(biāo)識(shí)符 關(guān)鍵字 保留字
- 標(biāo)識(shí)符(identifier)是指用來(lái)標(biāo)識(shí)某個(gè)實(shí)體的一個(gè)符號(hào),在不同的應(yīng)用環(huán)境下有不同的含義。在計(jì)算機(jī)編程語(yǔ)言中,標(biāo)識(shí)符是用戶編程時(shí)使用的名字,用于給變量、常量、函數(shù)、語(yǔ)句塊等命名,以建立起名稱(chēng)與使用之間的關(guān)系。
- 標(biāo)識(shí)符通常由字母和數(shù)字以及其它字符構(gòu)成。標(biāo)識(shí)符是由字母 數(shù)字 下滑線 $組成的,不能數(shù)字開(kāi)頭,不能使用空格和特殊的符號(hào),如下紅框內(nèi)的是非法

- 保留字(reserved word),指在高級(jí)語(yǔ)言中已經(jīng)定義過(guò)的字,使用者不能再將這些字作為變量名或過(guò)程名使用。 保留字包括關(guān)鍵字和未使用的保留字。
- 關(guān)鍵字則指在語(yǔ)言中有特定含義,成為語(yǔ)法中一部分的那些字。在一些語(yǔ)言中,一些保留字可能并沒(méi)有應(yīng)用于當(dāng)前的語(yǔ)法中,這就成了保留字與關(guān)鍵字的區(qū)別。一般出現(xiàn)這種情況可能是由于考慮擴(kuò)展性。例如,Javascript有一些未來(lái)保留字,如abstract、double、goto等等。
| 關(guān)鍵字 | 含義 |
|---|---|
| abstract | 表明類(lèi)或者成員方法具有抽象屬性 |
| assert | 斷言,用來(lái)進(jìn)行程序調(diào)試 |
| boolean | 基本數(shù)據(jù)類(lèi)型之一,聲明布爾類(lèi)型的關(guān)鍵字 |
| break | 提前跳出一個(gè)塊 |
| byte | 基本數(shù)據(jù)類(lèi)型之一,字節(jié)類(lèi)型 |
| case | 用在switch語(yǔ)句之中,表示其中的一個(gè)分支 |
| catch | 用在異常處理中,用來(lái)捕捉異常 |
| char | 基本數(shù)據(jù)類(lèi)型之一,字符類(lèi)型 |
| class | 聲明一個(gè)類(lèi) |
| const | 保留關(guān)鍵字,沒(méi)有具體含義 |
| continue | 回到一個(gè)塊的開(kāi)始處 |
| default | 默認(rèn),例如,用在switch語(yǔ)句中,表明一個(gè)默認(rèn)的分支。Java8 中也作用于聲明接口函數(shù)的默認(rèn)實(shí)現(xiàn) |
| do | 用在do-while循環(huán)結(jié)構(gòu)中 |
| double | 基本數(shù)據(jù)類(lèi)型之一,雙精度浮點(diǎn)數(shù)類(lèi)型 |
| else | 用在條件語(yǔ)句中,表明當(dāng)條件不成立時(shí)的分支 |
| enum | 枚舉 |
| extends | 表明一個(gè)類(lèi)型是另一個(gè)類(lèi)型的子類(lèi)型。對(duì)于類(lèi),可以是另一個(gè)類(lèi)或者抽象類(lèi);對(duì)于接口,可以是另一個(gè)接口 |
| final | 用來(lái)說(shuō)明最終屬性,表明一個(gè)類(lèi)不能派生出子類(lèi),或者成員方法不能被覆蓋,或者成員域的值不能被改變,用來(lái)定義常量 |
| finally | 用于處理異常情況,用來(lái)聲明一個(gè)基本肯定會(huì)被執(zhí)行到的語(yǔ)句塊 |
| float | 基本數(shù)據(jù)類(lèi)型之一,單精度浮點(diǎn)數(shù)類(lèi)型 |
| for | 一種循環(huán)結(jié)構(gòu)的引導(dǎo)詞 |
| goto | 保留關(guān)鍵字,沒(méi)有具體含義 |
| if | 條件語(yǔ)句的引導(dǎo)詞 |
| implements | 表明一個(gè)類(lèi)實(shí)現(xiàn)了給定的接口 |
| import | 表明要訪問(wèn)指定的類(lèi)或包 |
| instanceof | 用來(lái)測(cè)試一個(gè)對(duì)象是否是指定類(lèi)型的實(shí)例對(duì)象 |
| int | 基本數(shù)據(jù)類(lèi)型之一,整數(shù)類(lèi)型 |
| interface | 接口 |
| long | 基本數(shù)據(jù)類(lèi)型之一,長(zhǎng)整數(shù)類(lèi)型 |
| native | 用來(lái)聲明一個(gè)方法是由與計(jì)算機(jī)相關(guān)的語(yǔ)言(如C/C++/FORTRAN語(yǔ)言)實(shí)現(xiàn)的 |
| new | 用來(lái)創(chuàng)建新實(shí)例對(duì)象 |
| package | 包 |
| private | 一種訪問(wèn)控制方式:私用模式 |
| protected | 一種訪問(wèn)控制方式:保護(hù)模式 |
| public | 一種訪問(wèn)控制方式:共用模式 |
| return | 從成員方法中返回?cái)?shù)據(jù) |
| short | 基本數(shù)據(jù)類(lèi)型之一,短整數(shù)類(lèi)型 |
| static | 表明具有靜態(tài)屬性 |
| strictfp | 用來(lái)聲明FP_strict(單精度或雙精度浮點(diǎn)數(shù))表達(dá)式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754)算術(shù)規(guī)范 |
| super | 表明當(dāng)前對(duì)象的父類(lèi)型的引用或者父類(lèi)型的構(gòu)造方法 |
| switch | 分支語(yǔ)句結(jié)構(gòu)的引導(dǎo)詞 |
| synchronized | 表明一段代碼需要同步執(zhí)行 |
| this | 指向當(dāng)前實(shí)例對(duì)象的引用 |
| throw | 拋出一個(gè)異常 |
| throws | 聲明在當(dāng)前定義的成員方法中所有需要拋出的異常 |
| transient | 聲明不用序列化的成員域 |
| try | 嘗試一個(gè)可能拋出異常的程序塊 |
| void | 聲明當(dāng)前成員方法沒(méi)有返回值 |
| volatile | 表明兩個(gè)或者多個(gè)變量必須同步地發(fā)生變化 |
| var | java10新增的關(guān)鍵字,用來(lái)推斷類(lèi)型 var i = 20; |
| while | 用在循環(huán)結(jié)構(gòu)中 |
小常識(shí)
java是嚴(yán)格區(qū)分大小寫(xiě)的
(1)類(lèi),接口和枚舉或?qū)ο笫鞘鬃帜复髮?xiě),如果有多個(gè)單詞第二個(gè)單詞首字母大寫(xiě):User.java UserBook.java
System Scanner Date String 。
(2)變量名,常量名嚴(yán)格區(qū)分大小寫(xiě) java中常量名要求全部大寫(xiě) AGE。
(3)方法名一般是
setXxx getXxx isXxxx getUserName() 動(dòng)詞開(kāi)頭,從第二個(gè)單詞開(kāi)始使用大寫(xiě)。
到此這篇關(guān)于JAVA基礎(chǔ)快速?gòu)娜腴T(mén)到精通的文章就介紹到這了,更多相關(guān)JAVA 基礎(chǔ)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java消息隊(duì)列RabbitMQ入門(mén)詳解
這篇文章主要介紹了Java消息隊(duì)列RabbitMQ入門(mén)詳解,RabbitMQ是使用Erlang語(yǔ)言開(kāi)發(fā)的開(kāi)源消息隊(duì)列系統(tǒng),基于AMQP協(xié)議 來(lái)實(shí)現(xiàn),AMQP的主要特征是面向消息、隊(duì)列、路由(包括點(diǎn)對(duì)點(diǎn)和發(fā)布 /訂閱)、可靠性、安全,需要的朋友可以參考下2023-07-07
Java使用FilenameFilter查找出目錄下指定后綴的文件示例
這篇文章主要介紹了Java使用FilenameFilter查找出目錄下指定后綴的文件,結(jié)合實(shí)例形式分析了java基于FilenameFilter類(lèi)的文件遍歷、查找相關(guān)操作技巧,需要的朋友可以參考下2019-10-10
如何在spring boot中進(jìn)行參數(shù)校驗(yàn)示例詳解
這篇文章主要介紹了如何在spring-boot中進(jìn)行參數(shù)校驗(yàn)及l(fā)ombok的使用詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能
在Java中,ArrayList是一個(gè)實(shí)現(xiàn)了List接口的動(dòng)態(tài)數(shù)組,它可以根據(jù)需要自動(dòng)增加大小,因此可以存儲(chǔ)任意數(shù)量的元素,這篇文章主要介紹了探秘Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能,需要的朋友可以參考下2023-12-12

