亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

java語言

Java語言的基礎

時間:2025-04-28 08:34:47 java語言 我要投稿

Java語言的基礎

  引導語:Java是一種可以撰寫跨平臺應用程序的面向?qū)ο蟮某绦蛟O計語言。以下是百分網(wǎng)小編分享給大家的Java語言基礎,幫助大家了解Java語言的名稱,描述,定義,例子,備注。

  java語言基礎(名稱,描述,定義,例子,備注)

  1.1標識符、關鍵字、保留字

  標識符、關鍵字、保留字

  名稱:標識符;定義:由任意順序的字母、數(shù)字、下劃線、美元符號$組成,第一個字母不能是數(shù)字,不能是保留關鍵字;描述:指用戶自定義的類名、變量名、接口名、方法名;例子:合法的:name、user_age1、$page,不合法的:5word、int、Username(字符不能有空格);備注:命名法則:文件|文件夾方式命名。

  名稱:關鍵字;定義:對java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或者表示程序的結構等,關鍵字不能用作變量名、方法名、類名、包名;描述:java語言中已經(jīng)被賦予特定意義的一些單詞,不可以把這些字符作為標識符來使用。例子:Java關鍵字

int

public

this

finally

boolean

abstract

continue

float

long

short

throw

throws

return

break

for

static

new

interface

if

goto

default

byte

do

case

strictfp

package

super

void

try

switch

else

catch

implements

private

final

class

extends

volatile

while

synchronized

instanceof

char

protected

import

transient

implemends

default

double

  friendly,sizeof不是java的關鍵字,并且java關鍵字都是小寫的

  保留字:指現(xiàn)有Java版本尚未使用但以后版本可能會作為關鍵字使用的單詞;例子:Java保留字

byValue

cast

false

future

generic

inner

operator

outer

rest

true

var

goto

const

null

 

 

 

 

  1.2量(常量、變量)

  量的分類:常量和變量

  名稱:變量;定義:指一個內(nèi)容可變的數(shù)據(jù)存儲空間的表示(在程序中使用變量內(nèi)容可改變);描述:由變量類型和變量名或初始值組成(type 標識符[=初始值]);例子:intage; Boolean b=true; float f1,f2,f3。

  名稱:常量;定義:指在程序中不能改變的量(與變量性質(zhì)相反);描述:由final 類型名稱=值組成(final type 名稱=值);例子:finalfloat PI=3.1415926F;備注:常量名稱一般定義為大寫字母。

  量的使用:直接打印輸出;傳遞;對象名.變量名(實例變量);類名.變量名(靜態(tài)變量);

  量的作用范圍:指量在程序中所擁有的權限。

  量[變量]-全局變量(成員變量)|局部變量

  成員變量:指在類中(在方法外面)聲明的變量,作用域是整個類,也可以說是類的屬性。分類:靜態(tài)變量:創(chuàng)建的變量與對象無關(屬于成員變量),當不必引用對象時可以直接用類來訪問靜態(tài)變量;為多個實例分配一個內(nèi)存空間;實例變量:實例變量屬于某個對象的屬性,必須創(chuàng)建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量;實例變量位于堆區(qū)中,其生命周期取決于實例的生命周期。

  例子:

  public class VariantTest

  {

  public static int staticVar = 0;

  public int instanceVar = 0;

  public VariantTest()

  {

  staticVar++;

  instanceVar++;

  System.out.println(“staticVar = ”++staticVar “, instanceVar = ” ++instanceVar);

  }

  }

  量[常量]-系統(tǒng)常量|程序常量

修飾符

成員方法

構造方法

成員變量

局部變量

Abstract(抽象)

×

×

×

Static(靜態(tài))

×

×

×

Public(公共)

×

Private(私有)

×

×

Protected保護)

×

×

Synchronized(同生)

×

×

×

×

Final(固定)

×

訪問控制符

訪問級別

同類

同包

子類

不同包

public

公開

Protected

保護

×

默認

×

×

private

私有

×

×

×

  1.3數(shù)據(jù)類型,類型轉(zhuǎn)型,相等性測試

  數(shù)據(jù)類型分類:基本數(shù)據(jù)類型和字符串類型、引用類型(內(nèi)存占用字節(jié)數(shù),取值范圍,默認值)

  基本數(shù)據(jù)類型(8個):整型:byte(1字節(jié))、short(2字節(jié))、int(4字節(jié))、long(8字節(jié)),浮點型:float(4字節(jié))、double(8字節(jié));Boolean(1位):ture、false;字符型:Char (2字節(jié))

  定義:基本類型的值是一個數(shù)字,一個字符或一個布爾值,其內(nèi)容存在棧中,變量直接指向數(shù)值內(nèi)容;

  基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。

  例子:

  public class SimpleTypes{

  publicstatic void main( String args[] ){

  byte b=0x55;

  shorts=0x55ff;

  inti=1000000;

  longl=0xfffL;

  char c='c';

  floatf=0.23F;

  doubled=0.7E-3;

  booleanbool=true;

  System.out.println("b= "+b);

  System.out.println("s= "+s);

  System.out.println("i= "+i);

  System.out.println("c= "+c);

  System.out.println("f= "+f);

  System.out.println("d= "+d);

  System.out.println("bool= "+bool);

  }

  }

  編譯并運行該程序,輸出結果為:

  C:\>java SimpleTypes

  b = 85

  s = 22015

  i = 1000000

  l = 4095

  c = c

  f = 0.23

  d = 0.0007

  bool = true

  轉(zhuǎn)義字符:

\n
回車(\u000a)
\t
水平制表符(\u0009)
\b
空格(\u0008)
\r
換行(\u000d)
\f
換頁(\u000c)
\'
單引號(\u0027)
\"
雙引號(\u0022)
\\
反斜杠(\u005c)
\ddd
三位八進制
\udddd
四位十六進制

  字符串類型,是用String表示的類型,①直接賦值,如:Stringstr=”hello”(直接存儲在棧里,尋找具有hello的字符串,如果已經(jīng)有則直接指向hello,如果沒有過就開辟一個hello空間);②用new創(chuàng)建字符串對象,如:String str=new String(” hello”)(每創(chuàng)建一個new對象,就在堆中開辟一個對象空間,棧中的地址指向堆的內(nèi)容);

  引用類型:類類型,接口類型,數(shù)組類型

  定義:引用類型的值是指向內(nèi)存空間的引用,就是地址,變量引用(地址)存在棧中,而對象存在堆中。

  引用數(shù)據(jù)類型包括:類,數(shù)組,接口

  基本數(shù)據(jù)類型和引用類型的區(qū)別主要在于基本數(shù)據(jù)類型的量和內(nèi)容是分配在棧上的,而引用類型的量被分配在棧內(nèi)存里,而真正內(nèi)容是分配在堆上的,棧通過指針指向堆上的內(nèi)容。

  實例:我們分析一下”==“和equals()的區(qū)別。

  ①定義兩個string對象(引用類型)

  stringa="abc"; //a指向堆中一個對象的地址

  string b="abc"; //b指向堆中另一個對象的地址

  然后

  if(a==b){system.out.println("a==b");}

  else

  {system.out.println("a!=b");}

  程序輸出a!=b

  原因:a和b的地址是不相同的,a==b比較的是兩個變量的地址,所以地址不相等;

 、诙x兩個基本類型

  int a=4;

  int b=4;

  if(a==b){system.out.println("a==b");}

  else

  {system.out.println("a!=b");}

  輸出:a==b

  原因:==比較的是兩個變量的內(nèi)容

  結論:不論是基本數(shù)據(jù)類型還是引用類型,他們都會先在棧中分配一塊內(nèi)存,對于基本類型來說,這塊區(qū)域包含的是基本類型的內(nèi)容;而對于對象類型來說,這塊區(qū)域包含的是指向真正內(nèi)容的指針,真正的內(nèi)容被手動的分配在堆上

  User user; .棧區(qū) 局部變量

  UserDAOuserDao; .方法區(qū) 靜態(tài)成員變量

  User[] users; .堆區(qū) 實例變量

  類型轉(zhuǎn)型:自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換

  自動類型轉(zhuǎn)換:由低精度類型向高精度數(shù)據(jù)類型的轉(zhuǎn)換,如:bytebt=5;int it=bt;

  強制類型轉(zhuǎn)換:與自動轉(zhuǎn)換相反,如:inti=16;byte bt=(byte)i;

  相等性測試:==和equals()

  1.4操作符(運算符)

  分類:算術運算符,布爾運算符,關系運算符,位運算符,賦值運算符,條件運算符,字符串運算符,逗號運算符,其他運算符;

 、偎阈g運算符:

  單目:+ (取正) - (取負) ++ (自增1) - - (自減1),如:i=0,j=0; j=i++(i=0,j=1);j=++i(i=1,j=1)

  雙目:+ - * / %(取余)

  三目:a>b?true:false

  說明:當a大于b的時候,為true(也就是冒號之前的值),否則為false;這整個運算符包括一個關系運算符(可以是“>”"<""!="等等),一個“?”,一個“:”,冒號前后需要有兩個表達式或者是值或者是對象。

 、陉P系運算:

  = =(等于),!= (不等于),> (大于),< (小于), >= (大于等于) ,<= (小于等于)。

 、畚贿\算符:

  位運算符 與(&)、非(~)、或(|)、異或(^)

  &:當兩邊操作數(shù)的位同時為1時,結果為1,否則為0。如1100&1010=1000

  | :當兩邊操作數(shù)的位有一邊為1時,結果為1,否則為0。如1100|1010=1110

  ~:0變1,1變0 。如~1010=0101

  ^:兩邊的位不同時,結果為1,否則為0.如1100^1010=0110

 、苓壿嬤\算符:

  與(&&)、非(!)、或(||)

  ⑤賦值運算符:

  = += -= *= /= %= &= ^= |= <<= >>=

 、奁渌

  運算符優(yōu)先級

  按優(yōu)先級從高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >>>>> <> < = > \ == != &^& & || ? := op= 。(口決:算關位邏賦)。

  注:instanceof:測試某個對象是否是指定類或其子類的實例,。是Java的一個二元操作符,Java的保留關鍵字;作用是測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數(shù)據(jù)?梢杂迷诶^承中的子類的實例是否為父類的實現(xiàn)。instanceof 一般情況下用在對象類型的強制轉(zhuǎn)換。如:if(myObjectinstanceofMyClass){MyClassanothermyObject=(MyClass)myObject;…}是判定myObject是否是MyClass的實例或是其子類的實例。

  <<:左移,如:

  >>:右移(帶符號)

  >>>:添零右移

  沒有必要去記憶運算符號的優(yōu)先級別,在編寫程序時可盡量的使用括號來實現(xiàn)你想要的運算次序,以免產(chǎn)生難以閱讀或含糊不清的計算順序.運算符的結合性決定了并列相同級別的運算符的先后順序,例如,加減的結合性是從左到右,8-5+3 相當于(8-5)+3.邏輯否運算符的結合性是右到左, x 相當于!(!x).表3.4是Java所有運算符的優(yōu)先級和結合性。

  當運算符進行數(shù)值運算時,結果類型默認高精度者,如:longa=1.23456,float b=2.123, c=a+b,c為long型。

  1.5表達式

  指用運算符連接起來的符合Java 規(guī)則的式子,如:c=a+b

  1.6語句

  賦值語句:

  流程控制語句:

  判斷語句(if三種語句,switch語句)

 、 簡單if條件語句,描述:當表達式返回true 時,執(zhí)行語句1(或語句塊);當表達式返回false 時,直接執(zhí)行下面的語句。如:if ( x>90 ) System.out.println("Good!");

 、 if…else…語句,描述:當布爾表達式返回true 時執(zhí)行語句塊1,否則執(zhí)行語句塊2;如:if (x>60)

  System.out.println("Pass!");

  else

  System.out.println("No pass!");

 、 if…else if…語句,描述:多分支語句,如:

  int score;

  char grade;

  score=Integer.parseInt(args[0]);

  if (score>=90)

  grade=’A’;

  else if(score>=80)

  grade=’B’;

  else if (score>=70)

  grade=’C’;

  else if (score>=60)

  grade=’D’;

  else

  grade=’F’;

  System.out.println("Score="+score+" Grade="+grade);

 、 switch語句:描述:適合于用某個值來檢測一個變量是否符合某個條件;

  switch(條件表達式){

  case 常量表達式1:

  語句塊1;

  break;

  …

  case 常量表達式n:

  語句塊n;

  break;

  default:

  語句塊n+1;

  break;

  如:int week=3;

  Switch(week){

  Case 1:

  System.out.println(“星期一”);

  Break;

  Case 2:

  System.out.println(“星期二”);

  Break;

  Case 3:

  System.out.println(“星期三”);

  Break;

  …

  default:

  System.out.println(“請輸入有效數(shù)字!”);

  }

  循環(huán)語句(for語句,while語句,dowhile語句)

  for語句:

  for(初始化語句;循環(huán)條件;迭代語句){

  語句序列(循環(huán)體)

  }

  如:計算1~100各數(shù)字的和

  Intsum=0;

  For(inti=0;i<=100;i++){

  Sum=sum+i;

  }

  System.out.println(sum);

  while語句:

  while(條件表達式){

  循環(huán)體

  }

  如:1~10相加

  Int i=0;

  Intsum=0;

  While(i<=0){

  Sum=sum+i;

  i++;

  }

  System.out.println(sum);

  Do{

  循環(huán)體

  }while(循環(huán)條件);

  如:1~10相加

  Int i=0;

  Int sum

  Do{

  Sum=sum+i;

  i=i+1;

  }while(i<=10);

  System.out.println(sum);

  跳轉(zhuǎn)語句(break語句,continue語句)

  break語句:在執(zhí)行循環(huán)時可以中斷循環(huán),強迫跳出循環(huán);一般用在循環(huán)語句中。

  如:輸出1~100各數(shù)字的整數(shù)和

  Int sum=0;

  Int control=1;

  While(true){

  Sum+=control++;

  If(control>100){

  System.out.pritnln(sum);

  Break;

  }

  }

  continue語句:用于結束本次(指定條件)循環(huán)直接跳過執(zhí)行循環(huán)體的剩余部分語句。

  如:輸出1~100中可以整除10的數(shù)

  For(int i=1;i<100;i++){

  If(i%10 !=0){

  Continue;

  }

  System.out.println(i+”、”);

  }

  其他語句:foreach語句

  關于循環(huán)綜合例子:

 、佥敵龈袷交木啪懦朔ū恚

  For(int i=0;i<=9;i++){

  For(int j=0;j<=i;j++){

  String str=j+”*”+i+”=”+j*i;

  System.out.print(str+”\t”);

  }

  System.out.println();

  }

 、谳敵鲆粋棱形

  Public static void main(String[] args){

  For(int i=1;i<=7;i+=2){

  For(int kong=7;kong>i-1;kong--){

  System.out.print(“ “);

  }

  For(intxing=1;xing<=i;xing++){

  System.out.print(“*“);

  }

  System.out.println();

  }

  For(intj=1;j<=5;j+=2){

  For(int kong1=1;kong1

  System.out.print(“ “);

  }

  For(intxing1=5;xing1>=j;xing1--){

  System.out.print(“*“);

  }

  System.out.println();

  }

  }

 、垭A乘:實現(xiàn)一個計算階乘的方法,公式:n!=n*(n-1)*(n-2)…*2*1

  Public static void main(String[] args){

  Int n=16;

  Long result=1;

  If((n<0)||(n>17)){

  System.out.println(“n的取值范圍是0~17,大于17會超出long類型范圍”);

  }

  Else if(n==0){

  System.out.println(“0的階乘等于1”);

  }

  Else{

  For(int i=n;i>0;i--){

  Result*=i;

  }

  System.out.println(n+“的階乘等于:”+result);

  }

  }

 、芩財(shù):素數(shù)是大于1的整數(shù),并且其正因子只有1和它本身。下面:查找40個素數(shù),然后分別在4行中輸出,每行顯示10個。

  Public static void main(String[] args){

  Final intNUMBER_FOR_PRIMES=40; //聲明素數(shù)的數(shù)量

  Final intNUMBER_FOR_EVERY_LINE=10;級 //聲明每行輸出多少素數(shù)

  Int count=0; //素數(shù)計數(shù)器

  Int number=2; //用于判斷素數(shù)的數(shù)字

  While(count< NUMBER_FOR_PRIMES){

  Boolean isPrime=true; //是否素數(shù)的狀態(tài)變量

  For(int i=2;i<=number/2;i++){

  If(number%i==0){

  isPrime=false;

  break;

  }

  }

  If(isPrime){ //如果是素數(shù)

  Count++; //累加素數(shù)計數(shù)器

  System.out.print (number+”\t”); //輸出素數(shù),不換行

  If(count% NUMBER_FOR_EVERY_LINE==0){ //如果已輸出10個素數(shù)

  System.out.println(); //換行

  }

  }

  Number++; //自增用于判斷的數(shù)字

  }

  }

  1.7代碼塊

  在Java中使用“{}”括起來的代碼稱為代碼塊,根據(jù)代碼塊的定義位置及聲明的關鍵字不同,代碼塊可以分為以下四種:普通代碼塊、構造塊、靜態(tài)塊、同步代碼塊

  1、 普通代碼塊:直接在一個方法中出現(xiàn)的“{}”就稱為普通代碼塊。

public class CodeDemo01

{

       public static void main(String  args[])

       {

              //定義一個普通代碼塊

              {

                     //定義一個局部變量

                     int x =10 ;

                     System.out.println("普通代碼塊中的x = " + x) ;

              }

              int x = 100 ;

              System.out.println("代碼塊之外的x = " + x ) ;

       }

}

  2、 構造塊:直接在類中定義的代碼塊稱為構造塊。

  可以看出構造塊會重復調(diào)用多次,構造塊會優(yōu)先于構造方法執(zhí)行。

class  Demo

{

       //定義構造快

       {

              System.out.println("**************構造塊*************") ;

       }

       //定義構造方法

       public Demo()

       {

              System.out.println("**************構造方法*************") ;

       }

}

public  class CodeDemo02

{

       public static void main(String  args[])

       {

              //實例化三個對象

              new Demo() ;

              new Demo() ;

              new Demo() ;

       }

}

  3、 靜態(tài)塊:使用static關鍵字聲明的代碼塊,稱為靜態(tài)塊,靜態(tài)塊的主要目的是用來為靜態(tài)屬性初始化。

  靜態(tài)塊優(yōu)先于主方法執(zhí)行,靜態(tài)塊優(yōu)先于構造塊執(zhí)行,而且執(zhí)行一次。

class  Demo

{

       //定義構造快

       {

              System.out.println("**************構造塊*************") ;

       }

       //定義靜態(tài)代碼塊

       static

       {

              System.out.println("**************類中靜態(tài)塊*************") ;

       }

       //定義構造方法

       public Demo()

       {

              System.out.println("**************構造方法*************") ;

       }

}

public  class CodeDemo03

{

       //在主類中定義的靜態(tài)代碼塊

       static

       {

              System.out.println("**************主類中的靜態(tài)塊*************") ;

       }

       public static void main(String  args[])

       {

              //實例化三個對象

              new Demo() ;

              new Demo() ;

              new Demo() ;

       }

}

  思考:

  要求在屏幕上打印輸出“HelloWorld!”,但是不能用主方法。

  使用靜態(tài)塊代替主方法,并結束程序:

public  class CodeDemo04

{

       static

       {

              System.out.println("Hello World  !!!" ) ;

              System.exit(1) ;

       }

}

  在靜態(tài)塊中加入系統(tǒng)退出后,以保證程序不再繼續(xù)搜索主方法,但是程序知識娛樂使用,本身沒有任何意義。

  4、同步代碼塊

  同步代碼塊主要出現(xiàn)在多線程中。

  2.8文件結構

  package XXX;//一個包

  import java.util;//可以有多個

  class 類名

  {

  //略主要是方法和變量

  }

  2.9注釋(兩種方式)

  /*

  *文檔注釋

  */

  //單行注釋

  /* 多行注釋 */

  快捷鍵:ctrl+/

【Java語言的基礎】相關文章:

java語言基礎03-27

Java語言的基礎知識06-12

Java語言基礎試題及答案06-06

java基礎語言有哪些02-27

Java零基礎如何學好Java語言04-05

java語言基礎知識匯編08-14

Java編程語言的基礎知識04-06

Java語言編程基礎知識06-16

沒有英語基礎怎么學好java語言08-04