標籤:
Day01
1、獨立編寫Hello World程式。
public class Test{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
2、JDK,JRE,JVM分別是什麼?
(1)作用
JVM:保證Java語言跨平台
JRE:Java程式的運行環境
JDK:Java程式的開發環境
(2)關係
JDK:JRE+工具
JRE:JVM+類庫
3、Java語言是跨平台的嗎?JVM是跨平台的嗎?
Java語言是跨平台的,JVM不跨平台,每種平台都有JVM。
4、環境變數path和classpath的區別?
(1)path指示java命令的路徑,像javac、java、javaw等
(2)classpath是javac編譯器的一個環境變數,它的作用與import、package關鍵字有關,當你寫下improt java.util.*時,編譯器面對import關鍵字時,就知道你要引入java.util這個package中的類;但是編譯器如何知道你把這個package放在哪裡了呢?所以你首先得告訴編譯器這個package的所在位置;如何告訴它呢?就是設定CLASSPATH啦 :) 如果java.util這個package在c:\jdk\ 目錄下,你得把c:\jdk\這個路徑設定到CLASSPATH中去!當編譯器面對import java.util.*這個語句時,它先會尋找CLASSPATH所指定的目錄,並檢視子目錄java\util是否存在,然後找出名稱吻合的已編譯檔案(.class檔案)。如果沒有找到就會報錯!
Day02
1、什麼是注釋?注釋分為幾種?注釋有什麼作用?
(1)就是對程式進行解釋說明的文字
(2)分類:
A:單行注釋 //
B:多行注釋 /**/
C:文檔注釋(後面講) /** */
(3)注釋的作用
A:解釋說明程式,提高了代碼的閱讀性。
B:可以協助我們偵錯工具。
2、什麼是關鍵字?有什麼特點?
(1)被Java語言賦予特定含義的單詞;
(2)特點為全部小寫。
3、什麼是標識符?由哪些部分組成?常見的命名規則有哪些?
(1)就是給類,介面,方法,變數等起名字的字元序列。
(2)組成規則:
A:英文大小寫字母
B:數字
C:$和_
(3)常見的命名規則(見名知意)
A:包 全部小寫
單級包:小寫 舉例:liuyi,com
多級包:小寫,並用.隔開 舉例:cn.itcast,com.baidu
B:類或者介面
一個單詞:首字母大寫 舉例:Student,Demo
多個單詞:每個單字首大寫 舉例:HelloWorld,StudentName
C:方法或者變數
一個單詞:首字母小寫 舉例:name,main
多個單詞:從第二個單詞開始,每個單字首大寫 舉例:studentAge,showAllNames()
D:常量 全部大寫
一個單詞:大寫 舉例:PI
多個單詞:大寫,並用_隔開 舉例:STUDENT_MAX_AGE
4、什麼是常量?常量的分類?字面值常量表現形式有哪些?
(1)在程式執行的過程中,其值不發生改變的量
(2)分類:
A:字面值常量
B:自訂常量(後面講)
(3)字面值常量
A:字串常量 "hello"
B:整數常量 12,23
C:小數常量 12.345
D:字元常量 ‘a‘,‘A‘,‘0‘
E:布爾常量 true,false
F:空常量 null(後面講)
(4)在Java中針對整數常量提供了四種表現形式
A:二進位 由0,1組成。以0b開頭。
B:八進位 由0,1,...7組成。以0開頭。
C:十進位 由0,1,...9組成。整數預設是十進位。
D:十六進位 由0,1,...9,a,b,c,d,e,f(大小寫均可)組成。以0x開頭。
5、計算出十進位46對應的二進位,八進位,十六進位的值。
二進位:101110
八進位:56
十六進位:2E
6、什麼是變數?變數的定義格式?要使用變數需要注意什麼?
(1)在程式的執行過程中,其值在某個範圍內可以發生改變的量
(2)變數的定義格式:
A:資料類型 變數名 = 初始化值;
B:資料類型 變數名;
變數名 = 初始化值;
7、Java中的資料類型分幾類?基礎資料型別 (Elementary Data Type)有哪些?
(1)分類:
A:基礎資料型別 (Elementary Data Type):4類8種
B:引用資料類型:類,介面,數組。
(2)基礎資料型別 (Elementary Data Type)
A:整數 佔用位元組數
byte 1
short 2
int 4
long 8
B:浮點數
float 4
double 8
C:字元
char 2
D:布爾
boolean 1
注意:
整數預設是int類型。浮點數預設是double。
長整數要加L或者l。單精確度的浮點數要加F或者f。
8、資料類型轉換:
隱式轉換:
強制轉換:
第一題:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是編譯失敗的呢?為什麼呢?
b=b1+b2;編譯失敗。因為b1+b2結果為int,不是byte。
第二題:
byte by = 130;
有沒有問題?有問題如何解決?結果是多少呢?
錯誤,byte 範圍是 -128到127( -2的7次方到2的7次方-1)
Day03
1、常見的算術運算子有哪些?
常見預算符有+,-,*,/,%,++,--
+運算子的作用有哪些?
a:加法b:正號c:字串串連符
除法和取餘的區別?
資料做除法操作的時候,/取得是商,%取得是餘數
++和--的使用規則?
a:他們的作用是自增或者自減
b:使用
**單獨使用
放在操作資料的前面和後面效果一樣。
a++或者++a效果一樣。
**參與操作使用
放在運算元的前面:先自增或者自減,再參與操作
int a = 10;int b = ++a;
放在運算元的後面:先參與操作,再自增或者自減
int a = 10;int b = a++;
2、常見的賦值運算子有哪些?
常見的賦值運算子有=,+=,-=,*=,/=,%=等。
+=運算的作用是什麼?
將符號兩邊的值相加並將結果賦值給符號左邊。
擴充的賦值運算子有什麼特點?
隱含了自動強制轉換。
3、short s = 1; s = s + 1;有沒有問題?如果有怎麼解決?
有問題,s+1結果為類型為int,可以進行強制轉換。
short s = 1; s += 1;有沒有問題?如果有怎麼解決?
沒有問題。
4、常見的關係運算子有哪些?
< |
小於 |
a<b |
a小於b時返回真;否則返回假 |
LT |
<= |
小於等於 |
a<=b |
a小於等於b時返回真;否則返回假 |
LE |
> |
大於 |
a>b |
a大於b時返回真;否則返回假 |
GT |
>= |
大於等於 |
a>=b |
a大於等於b時返回真;否則返回假 |
GE |
== |
等於 |
a==b |
a等於b時返回真;否則返回假 |
EQ |
!= |
不等於 |
a!=b |
a不等於b時返回真;否則返回假 |
NE |
關係運算子的結果有什麼特點?
不是真就是假,不是假就是真。
5、常見的邏輯運算子有哪些?
常見邏輯運算子有&,|,^,!,&&,||
&和&&的區別是什麼?
&&結果和&是一樣的,只不過有短路效果。左邊是false,右邊不執行。
|和||的區別是什麼?
||結果和|是一樣的,只不過有短路效果。左邊是true,右邊不執行。
6、位元運算符^的特點是什麼?
一個資料針對另一個資料位元異或兩次,該數不變。
7、如何?對兩個整數變數的值進行互換。
例如交換兩個整數a=10100001,b=00000110的值
a = a^b; //a=10100111
b = b^a; //b=10100001
a = a^b; //a=00000110
8、三元運算子的格式是什麼?
比較運算式?運算式1:運算式2;
執行流程是什麼?
(1)首先計算比較運算式的值,看是true還是false。
(2)如果是true,運算式1就是結果。
(3)如果是false,運算式2就是結果。
9、使用三元運算子完成如下練習
比較兩個數是否相等 A==B?true:false;
擷取兩個數中最大值 A>=B?A:B;
擷取三個數中最大值 (A>B?(A>C?A:C):(B>C?B:C));
10、流程式控制制語句有幾種?
(1)順序結構 從上往下,依次執行
(2)選擇結構 按照不同的選擇,執行不同的代碼
(3)迴圈結構 做一些重複的代碼
11:if語句的格式有幾種?注意事項是什麼?分別在什麼時候使用?
(1)三種格式
A:格式1
if(比較運算式) {
語句體;
}
B:格式2
if(比較運算式) {
語句體1;
}else {
語句體2;
}
C:格式3
if(比較運算式1) {
語句體1;
}else if(比較運算式2){
語句體2;
}
...
else {
語句體n+1;
}
(2)注意事項
A:比較運算式無論簡單還是複雜,結果是boolean類型
B:if語句控制的語句體如果是一條語句,是可以省略大括弧的;如果是多條,不能省略。建議:永遠不要省略。
C:一般來說,有左大括弧,就沒有分號,有分號,就沒有左大括弧。
D:else後面如果沒有if,是不會出現比較運算式的。
E:三種if語句其實都是一個語句,只要有一個執行,其他的就不執行。
12:看程式寫結果:請自己獨立分析,先不要編譯運行。
第一題
int x = 1,y = 1;
if(x++==2 & ++y==2)
{x =7;}
System.out.println("x="+x+",y="+y);
輸出:x=2,y=2
---------------------------------------------------
第二題
int x = 1,y = 1;
if(x++==2 && ++y==2)
{x =7;}
System.out.println("x="+x+",y="+y);
輸出:x=2,y=1
---------------------------------------------------
第三題
int x = 1,y = 1;
if(x++==1 | ++y==1)
{x =7;}
System.out.println("x="+x+",y="+y);
輸出:x=7,y=2
---------------------------------------------------
第四題
int x = 1,y = 1;
if(x++==1 || ++y==1)
{x =7;}
System.out.println("x="+x+",y="+y);
輸入:x=7,y=1
---------------------------------------------------
第五題
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
輸出:b
---------------------------------------------------
13:編寫代碼實現如下內容:if語句實現
考試成績分等級。
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下E等。
請根據給定成績,輸出對應的等級。
public static void main(String[] args) {
// TODO Auto-generated method stub
int score=85;
if(score>=90&&score<=100){
System.out.println("A");
}else if(score>=80&&score<90){
System.out.println("B");
}else if(score>=70&&score<80){
System.out.println("C");
}else if(score>=60&&score<70){
System.out.println("D");
}else if(score>=0&&score<60){
System.out.println("E");
}else{
System.out.println("score error !");
}
}
Java複習第一天