JAVA基礎(chǔ)快速?gòu)娜腴T到精通
java程序基本結(jié)構(gòu)
java程序的源碼文件是Xxx.java,Xxx代碼類名和文件名一致(一般要求首字母大寫,從第二個(gè)單詞首字母大寫。
新建一個(gè)類,類名User
class User{ }
新建一個(gè)User類,執(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í)行編譯后的文件
程序注釋
單行注釋:
// 單行注釋
多行注釋:
/*
多行注釋
*/
文檔注釋,主要依賴于javadoc.exe,提取java源代碼文件中的注解結(jié)構(gòu),生成html-api 參考文件
/**
* 文件注釋
* 類注釋
* 屬性注釋
* 方法注釋
*/
案例:
package com; /** * 這里主要寫本文件的注釋信息,比如作者,文件名之類的注釋 * @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)類型,變量必須先聲明初始化才可以使用。java程序中,變量名是區(qū)分大小寫。
public class User { // 在這里聲明的變量屬于全局變量,在整個(gè)類中都可以用 //聲明靜態(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)域常量一般都要求全大寫
指在程序執(zhí)行期間其值不能發(fā)生變化的數(shù)據(jù)。例如數(shù)學(xué)中的π= 3.1415……又如:整數(shù)123,小數(shù)1.23,字符’A’,布爾常量 true、false等,程序開(kāi)發(fā)中,常量名一般規(guī)則全部大寫,聲明常量時(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ù)類型與類型轉(zhuǎn)換
(1)基本數(shù)據(jù)類型 byte short int long float double char boolean (8大類型)
? 1、整型 byte short int long
? 2、浮點(diǎn)型 float double
? 3、字符型 char a = ‘y’;
? 4、布爾 boolean
(2)引用數(shù)據(jù)類型(對(duì)象 類 接口 數(shù)組)
常用數(shù)據(jù)類型
常用數(shù)據(jù)類型,其他的基本數(shù)據(jù)類型看上面的表。用法都一樣
class User{ public static void main(String[] arg){ // int類型 賦值只能是整數(shù),長(zhǎng)度適中,一般都?jí)蛴? int a=1; // String 字符串類型,數(shù)字,字母,漢字都屬于字符串都可以用 String b="hello"; // boolean 一般用于判斷對(duì)錯(cuò),因?yàn)檫@個(gè)類型的變量只有兩個(gè)值,true和false 要么對(duì)要么錯(cuò) boolean c=true; System.out.println(a); System.out.println(b); System.out.println(c); } }
類型轉(zhuǎn)換
// 聲明int類型 int i = 30; //轉(zhuǎn)換成short類型 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)的類型轉(zhuǎn)換) a = b + 1;//a = 9 b=8 (b+1 結(jié)果類型為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)算符“==”不能誤寫成“=” ,切記!切記!
(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ǔ)句塊等命名,以建立起名稱與使用之間的關(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 | 表明類或者成員方法具有抽象屬性 |
assert | 斷言,用來(lái)進(jìn)行程序調(diào)試 |
boolean | 基本數(shù)據(jù)類型之一,聲明布爾類型的關(guān)鍵字 |
break | 提前跳出一個(gè)塊 |
byte | 基本數(shù)據(jù)類型之一,字節(jié)類型 |
case | 用在switch語(yǔ)句之中,表示其中的一個(gè)分支 |
catch | 用在異常處理中,用來(lái)捕捉異常 |
char | 基本數(shù)據(jù)類型之一,字符類型 |
class | 聲明一個(gè)類 |
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ù)類型之一,雙精度浮點(diǎn)數(shù)類型 |
else | 用在條件語(yǔ)句中,表明當(dāng)條件不成立時(shí)的分支 |
enum | 枚舉 |
extends | 表明一個(gè)類型是另一個(gè)類型的子類型。對(duì)于類,可以是另一個(gè)類或者抽象類;對(duì)于接口,可以是另一個(gè)接口 |
final | 用來(lái)說(shuō)明最終屬性,表明一個(gè)類不能派生出子類,或者成員方法不能被覆蓋,或者成員域的值不能被改變,用來(lái)定義常量 |
finally | 用于處理異常情況,用來(lái)聲明一個(gè)基本肯定會(huì)被執(zhí)行到的語(yǔ)句塊 |
float | 基本數(shù)據(jù)類型之一,單精度浮點(diǎn)數(shù)類型 |
for | 一種循環(huán)結(jié)構(gòu)的引導(dǎo)詞 |
goto | 保留關(guān)鍵字,沒(méi)有具體含義 |
if | 條件語(yǔ)句的引導(dǎo)詞 |
implements | 表明一個(gè)類實(shí)現(xiàn)了給定的接口 |
import | 表明要訪問(wèn)指定的類或包 |
instanceof | 用來(lái)測(cè)試一個(gè)對(duì)象是否是指定類型的實(shí)例對(duì)象 |
int | 基本數(shù)據(jù)類型之一,整數(shù)類型 |
interface | 接口 |
long | 基本數(shù)據(jù)類型之一,長(zhǎng)整數(shù)類型 |
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ù)類型之一,短整數(shù)類型 |
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ì)象的父類型的引用或者父類型的構(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)推斷類型 var i = 20; |
while | 用在循環(huán)結(jié)構(gòu)中 |
小常識(shí)
java是嚴(yán)格區(qū)分大小寫的
(1)類,接口和枚舉或?qū)ο笫鞘鬃帜复髮懀绻卸鄠€(gè)單詞第二個(gè)單詞首字母大寫:User.java UserBook.java
System Scanner Date String 。
(2)變量名,常量名嚴(yán)格區(qū)分大小寫 java中常量名要求全部大寫 AGE。
(3)方法名一般是
setXxx getXxx isXxxx getUserName() 動(dòng)詞開(kāi)頭,從第二個(gè)單詞開(kāi)始使用大寫。
到此這篇關(guān)于JAVA基礎(chǔ)快速?gòu)娜腴T到精通的文章就介紹到這了,更多相關(guān)JAVA 基礎(chǔ)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java使用FilenameFilter查找出目錄下指定后綴的文件示例
這篇文章主要介紹了Java使用FilenameFilter查找出目錄下指定后綴的文件,結(jié)合實(shí)例形式分析了java基于FilenameFilter類的文件遍歷、查找相關(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-05Java 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