Java中加二怎么打_Java(一)(二)
1.JDK? JRE? JVM三者的關(guān)系:
JDK是開發(fā)者工具 JRE是運(yùn)行環(huán)境,包含我們開發(fā)時(shí)所需要的類庫 JVM是虛擬機(jī) 它是一個(gè)載體 平臺(tái)
JDK -> JRE -> JVM (包含關(guān)系,在安裝時(shí)安裝好了JDK就可以了)
2.JDK重要版本:
JDK1.5 里程碑? JDK7 8市面上最常見的版本,為最穩(wěn)定的版本 JDK11? 2018年最新版本
3.環(huán)境配置:
檢測配置成功: CMD中輸入java javac 有一長串信息及安裝成功 版本檢測:java -version
4.Eclipse:
Java package(創(chuàng)建java工程) -> package(創(chuàng)建包) -> class(創(chuàng)建類)
自動(dòng)編譯? ?運(yùn)行: 快捷鍵 Alt + F11 (但是不推薦)
5.Eclipse工作空間的基本配置:
A:行號(hào)的顯示和隱藏
顯示:在代碼區(qū)域的最左邊的空白區(qū)域,右鍵 -- Show Line Numbers即可。
隱藏:把上面的動(dòng)作再做一次。
B:字體大小及顏色
a:Java代碼區(qū)域的字體大小和顏色:
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Java -- Java Edit Text Font
b:控制臺(tái)
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font
c:其他文件
window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font
C:窗體給弄亂了,怎么辦?
window -- Perspective -- Reset Perspective
window -- Perspective -- save Perspective
D:控制臺(tái)找不到了,怎么辦?
Window--Show View—Console
6.注釋:
單行注釋: // 多行注釋:/**/ 文檔注釋:/***/
7.關(guān)鍵字:
a:被java賦予特殊含義的單詞
b:所有字母為小寫,高級(jí)文本編輯器中有高亮顯示.
8.標(biāo)識(shí)符:
a:以 字母 _(下劃線) $ 開頭
b:不能以數(shù)字開頭 關(guān)鍵字不能為標(biāo)識(shí)符
c:中間不能有空格(可以用_(下劃線代替))
9.常量:
a:在程序執(zhí)行期間不可以改變的值
b:整型常量 浮點(diǎn)常量 布爾常量 字符常量(單引號(hào)引起的字符) 字符串常量(雙引號(hào)引起的字符) 空常量
10.變量:
定義的格式 數(shù)據(jù)類型? ?變量名 =? 初始值;
a:在程序執(zhí)行過程中.其值在[某個(gè)范圍內(nèi)]可以發(fā)生改變的數(shù)據(jù)
b:在程序中創(chuàng)建了一塊內(nèi)存空間(小盒子),用來記錄不斷發(fā)生改變的常量
c:變量一定要有初始值. int a=0; 也可以
變量小問題:
byte,short,int,long,float,double 問題:為什么float占4個(gè)字節(jié),long占8個(gè)字節(jié),float卻比long要大呢?
因?yàn)檎麛?shù)和小數(shù),底層的二進(jìn)制存儲(chǔ)結(jié)構(gòu)不同.System.out.println(Float.MAX_VALUE - Long.MAX_VALUE);
總結(jié):
1.?變量名不允許重復(fù)
2.?變量[使用之前]必須完成初始化
3.?一條語句可以定義n個(gè)變量,但是中間需要通過逗號(hào)隔開
11.數(shù)據(jù)類型:
整數(shù)類型:byte 1個(gè)字節(jié) shout 2個(gè)字節(jié) int 4個(gè)字節(jié) long(L)? ?8個(gè)字節(jié)
浮點(diǎn)類型:float(F) 4個(gè)字節(jié) double? 8個(gè)字節(jié)
布爾類型:true 1個(gè)字節(jié) false? ? ?1個(gè)字節(jié)? [ 理論上來說,八分之一個(gè)字節(jié)就能表示他的大小,但是計(jì)算機(jī)當(dāng)中最小的存儲(chǔ)單位是字節(jié),所以它應(yīng)該占1個(gè)字節(jié)。]
字符串類型:char 2個(gè)字節(jié)
12.數(shù)據(jù)的隱式轉(zhuǎn)換:
總結(jié):
1: 將小的數(shù)據(jù),給大的數(shù)據(jù)類型賦值,可以直接賦值。
2.?當(dāng)小的數(shù)據(jù)類型和大的數(shù)類型做運(yùn)算的時(shí)候,會(huì)先將小的,提升為大的之后,再做運(yùn)算。
舉例:
1:
int i = 10;????// 4個(gè)字節(jié)
System.out.println(i);
double d = i; // 8個(gè)字節(jié)
System.out.println(d);
2:
byte a = 100;
int b = 100;
int c = a + b;
13.數(shù)據(jù)之間的強(qiáng)制轉(zhuǎn)換:
格式:
(要強(qiáng)轉(zhuǎn)的類型)將要轉(zhuǎn)換的值;
總結(jié):將大的數(shù)據(jù),給小的數(shù)據(jù)賦值時(shí),不能直接賦值,需進(jìn)行強(qiáng)轉(zhuǎn)
舉例:
1:
int i = 100;byte b = (byte)i;
System.out.println(b);
注意:
如果強(qiáng)轉(zhuǎn)的值, 超過了數(shù)據(jù)類型的取值范圍, 那么結(jié)果可能會(huì)跟我們期望的結(jié)果不同(損失精度)
byte b = (byte)130;????????-->??127
-->??-126
14.算術(shù)運(yùn)算符:
算數(shù)運(yùn)算符(自增自減運(yùn)算符)
賦值運(yùn)算符
關(guān)系運(yùn)算符[比較運(yùn)算符]
邏輯運(yùn)算符
三元運(yùn)算符[三目運(yùn)算符]
15.字符和字符串參與加法操作:
System.out.println('a' + 1); // 輸出結(jié)果???98
當(dāng)char類型和整數(shù)類型進(jìn)行運(yùn)算的時(shí)候,實(shí)際是 找到底層的ASCII數(shù)值,然后進(jìn)行運(yùn)算
16.++和--自增自減運(yùn)算符:
a++: 先用自己去參與運(yùn)算,再進(jìn)行自增
++a:先指針,再去參與運(yùn)算
17.邏輯運(yùn)算符:
& :無論左邊返回的結(jié)果是true還是false, 右邊都必須執(zhí)行
&&: 有false則false
| :
|| : 有true則true
^(異或) : 相同為false,不同為true 特點(diǎn):一個(gè)數(shù),被另外一個(gè)數(shù),異或兩次,該數(shù)本身不變。
舉例:
實(shí)現(xiàn)兩個(gè)變量的數(shù)值交換, 不允許定義三方變量,怎么做?
public static voidmain(String[] args) {int a = 10;int b = 20;
a= a ^ b; //10 ^ 20
b = a ^ b; //10 ^ 20 ^ 20 --> 10
a = a ^ b; //10 ^ 20 ^ 10 --> 20
System.out.println(a);
System.out.println(b);
}
18.三元運(yùn)算符:
格式: (表達(dá)式)?值1:值2;
先執(zhí)行表達(dá)式,? true則執(zhí)行值1 false則執(zhí)行值2
19.Scanner鍵盤錄入:
1 鍵盤錄入兩個(gè)數(shù)據(jù)并求和2
3 public classDemo_Scanner {4 public static voidmain(String[] args) {5 //1. 創(chuàng)建Scanner鍵盤錄入對(duì)象(機(jī)器)
6 Scanner sc = newScanner(System.in);7
8 System.out.println("請(qǐng)輸入兩個(gè)整數(shù):");9
10 //2. 使用機(jī)器的功能,做兩次鍵盤錄入
11 int num1 =sc.nextInt();12 int num2 =sc.nextInt();13
14 //3. 求和
15 System.out.println(num1 +num2);16 }17 }
20.if語句:
三種格式:
(1)if(表達(dá)式){
語句體
}
(2)if(表達(dá)式){
語句體1
}else{
語句體2
}
(3)if(表達(dá)式){
語句體1
}else if{
語句體2
}else{
語句體3
}
執(zhí)行流程:
首先計(jì)算比較表達(dá)式1看其返回值是true還是false,
如果是true,就執(zhí)行語句體1,if語句結(jié)束。
如果是false,接著計(jì)算比較表達(dá)式2看其返回值是true還是false,
如果是true,就執(zhí)行語句體2,if語句結(jié)束。
如果是false,接著計(jì)算比較表達(dá)式3看其返回值是true還是false,
如果都是false,就執(zhí)行語句體n+1。
注意事項(xiàng):最后一個(gè)else可以省略,但是建議不要省略,可以對(duì)范圍外的錯(cuò)誤值提示
30.switch語句:
格式:
switch(將要匹配的值) {
case值1:
語句體1;
break;
case值2:
語句體2;
break;
…
default:
語句體n+1;
break;
}
case穿透:
public classDemo3_Switch {/** 結(jié)論:switch語句中的break可以省略,但是會(huì)出現(xiàn)case穿透的現(xiàn)象
*
* 細(xì)節(jié):
* 當(dāng)表達(dá)式匹配成功之后,執(zhí)行其對(duì)應(yīng)的語句體,但是沒有遇到break,這時(shí)候switch將會(huì)進(jìn)入瘋狂狀態(tài)
* 不會(huì)再進(jìn)行case的匹配的,只是瘋狂的向下執(zhí)行,尋找break
*
* 需求:鍵盤錄入數(shù)值,根據(jù)數(shù)值打印內(nèi)容
* 1-5輸出工作日
* 6-7輸出休息日
*
*
* 問題:
* 什么時(shí)候該使用if,什么時(shí)候該使用switch?
*
* 對(duì)于范圍性的判斷,使用if語句更加合適
*
* 一般匹配固定值的時(shí)候,switch更加合理*/
public static voidmain(String[] args) {
Scanner sc= newScanner(System.in);
System.out.println("請(qǐng)輸入:");int week =sc.nextInt();switch(week) {case 1:case 2:case 3:case 4:case 5:
System.out.println("工作日");break;case 6:case 7:
System.out.println("休息日");break;default:
System.out.println("數(shù)據(jù)非法");break;
}
}
}
總結(jié)
以上是生活随笔為你收集整理的Java中加二怎么打_Java(一)(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java代码中加log_Java Log
- 下一篇: python 一次输入10个数_pyth