----Day1----
上午
JAVA介紹
JAVA:由Sun Microsystems公司于1995年5月推出的JAVA程序設(shè)計(jì)語言和JAVA平臺(tái)的總稱帝簇。JAVA語言是一種可以撰寫跨平臺(tái)(如windows捉兴、Mac OS以及其他多種UNIX版本的系統(tǒng))應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言掠剑。
JAVA版本
JAVA SE:JAVA標(biāo)準(zhǔn)版,是整個(gè)JAVA的基礎(chǔ)和核心艘希,也是JAVAEE和JAVAME技術(shù)的基礎(chǔ)妥凳,主要用于開發(fā)桌面應(yīng)用程序;
JAVA EE:JAVA企業(yè)版操漠,它提供了企業(yè)級(jí)應(yīng)用開發(fā)的完整解決方案,比如開發(fā)網(wǎng)站饿这,還有企業(yè)的一些應(yīng)用系統(tǒng),是JAVA技術(shù)應(yīng)用最廣泛的領(lǐng)域撞秋;
JAVA ME:JAVA微縮版长捧,主要應(yīng)用于嵌入式開發(fā),比如手機(jī)程序的開發(fā)吻贿;
JAVA的特征
跨平臺(tái)性:JVM
環(huán)境搭建
下載JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝JDK:
環(huán)境配置(系統(tǒng))過程:
第一步:配置“JAVA_HOME”
JAVA-HOME的內(nèi)容是jdk安裝目錄串结,如:D:\Program Files\Java\jdk1.7.0_60,并且后面不帶分號(hào)?
第二步:配置“CLASSPATH”
CLASSPATH,這是一個(gè)jar包的調(diào)用肌割,寫成“.;%JAVA_HOME%\lib”?
第三步:檢查“PATH”變量是否正確
PATH變量很簡單卧蜓,就是jdk的bin目錄的意思。%JAVA_HOME%\bin;?
需了解
jdk:java development kit(JAVA開發(fā)工具包)把敞。 它是工具程序和文檔的集合弥奸。
jre:java runtime environment(java運(yùn)行環(huán)境) 它包含了JVM(java虛擬機(jī)),java基礎(chǔ)類庫和支持文件奋早。它是面向使用者的盛霎,它是.class文件的運(yùn)行平臺(tái)。
ide:integreted development environment(集成開發(fā)環(huán)境)耽装。eclipse愤炸、myeclipse等應(yīng)用軟件就為我們提供了ide 在這個(gè)集成開發(fā)環(huán)境下,可以方便的組織和管理自己寫的代碼(工作空間+資源管理器)掉奄。同時(shí)可以通過它提供的一些按鈕控件更簡單的去調(diào)用jdk提供的java工具规个;
第一個(gè)Hello world
記事本編寫java代碼:
開發(fā)步驟:
javac 類名.java
java 類名
開發(fā)工具編寫java代碼:
統(tǒng)一編碼方式為utf-8
開發(fā)步驟:
創(chuàng)建工程;
創(chuàng)建包姓建;
創(chuàng)建類诞仓;
創(chuàng)建主方法;
運(yùn)行輸出引瀑;
MyEeclipse開發(fā)工具快捷鍵:
http://blog.csdn.net/master_yao/article/details/50412471
JAVA代碼講解
開發(fā)工具
MyEclipse:不開源狂芋,收費(fèi)
Eclipse:開源,免費(fèi)
IntelliJ IDEA:收費(fèi)
拓展JAVA命名規(guī)范與注釋
JAVA規(guī)范:
工程命名:首字符大寫憨栽,采用大駝峰形式帜矾;
包名:商業(yè)性質(zhì).公司名.項(xiàng)目名.功能名 全小寫
類的命名:與工程命名一致,采用大駝峰形式屑柔;
變量命名:第一個(gè)單詞的首字母小寫屡萤,其后每個(gè)單詞的首字母大寫,采用小駝峰形式掸宛;
方法命名:與變量命名相同死陆;
注釋:
單行注釋: //注釋內(nèi)容
多行注釋:/* 注釋內(nèi)容 */
文本注釋:/** 注釋內(nèi)容 */。這種格式是為了便于javadoc程序自動(dòng)生成文檔唧瘾;
標(biāo)識(shí)符:
定義:java程序中的類措译、屬性、方法饰序、對(duì)象领虹、變量、包等元素都應(yīng)該有自己的名稱求豫,各元素的名稱通稱為標(biāo)識(shí)符塌衰;
定義規(guī)則:
由字母诉稍、數(shù)字、_和$組成最疆;
開頭字符必須是字母杯巨、下劃線或$。
標(biāo)識(shí)符定義采用三原則:見名知義努酸、規(guī)范大小寫服爷、不可用java保留字;
保留字:
含義:保留字是指java語言規(guī)定了特定含義的標(biāo)識(shí)符蚊逢。對(duì)于保留字层扶,用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義烙荷;
數(shù)據(jù)類型相關(guān)的保留字:數(shù)據(jù)類型镜会、class、interface终抽;
流程控制相關(guān)的保留字:if戳表、else、do昼伴、while匾旭、for、switch圃郊、case价涝、default、break持舆、continue色瘩、return、try逸寓、catch居兆、finally;
動(dòng)作相關(guān)的保留字:package竹伸、import泥栖、throw、throws勋篓、extends吧享、implements、this譬嚣、super耙蔑、instanceof、new孤荣;
其他保留字:true甸陌、false、null盐股、goto钱豁、const;
需要注意:保留字一律用小寫字母表示;
練習(xí)(代碼部分)
內(nèi)容1:打印個(gè)人信息(包含姓名疯汁、年齡牲尺、學(xué)校、專業(yè)幌蚊、學(xué)歷谤碳、英語等級(jí)、住址)
時(shí)間:5分鐘
講解:隨機(jī)抽
答案:
public class Personal {
? ? public static void main(String[] args){
? ? ? ? System.out.println("----個(gè)人信息----");
? ? ? ? System.out.println("-姓名:張三");
? ? ? ? System.out.println("-年齡:25");
? ? ? ? System.out.println("-學(xué)校:西南科技大學(xué)");
? ? ? ? System.out.println("-專業(yè):軟件工程");
? ? ? ? System.out.println("-學(xué)歷:本科");
? ? ? ? System.out.println("-英語等級(jí):六級(jí)");
? ? ? ? System.out.println("-住址:成都市中和鎮(zhèn)");
? ? }
}
內(nèi)容2:使用Scanner輸入你的姓名
引入課題內(nèi)容:Scanner
介紹
java.util.Scanner是java5的新特征溢豆,是一個(gè)可以使用正則表達(dá)式來分析基本類型和字符串的簡單文本掃描器蜒简;
Scanner使用分隔符模式將其輸入分解為標(biāo)記,默認(rèn)情況下該分隔符模式與空白匹配漩仙。然后可以使用不同的next方法將得到的標(biāo)記轉(zhuǎn)換為不同類型的值搓茬;
作用
掃描控制臺(tái)輸入
常用方法:
next():查找并返回來自此掃描器的下一個(gè)完整標(biāo)記;
nextLine():此掃描器執(zhí)行當(dāng)前行队他,并返回跳過的輸入信息卷仑;
nextXXX():next后面跟的都要;
時(shí)間:15分鐘
講解:隨機(jī)抽
答案:
import java.util.Scanner;
public class First {
? ? public static void main(String[] args) {
? ? ? ? System.out.println("請(qǐng)輸入你的名字");
? ? ? ? Scanner sc = new Scanner(System.in);
? ? ? ? String user = sc.next();
? ? ? ? System.out.println(user+"歡迎來到蝸牛");
? ? }
}
常見問題:
控制臺(tái)輸出亂碼 解決:http://bbs.51cto.com/thread-1009032-1.html
單詞寫錯(cuò)
下午
數(shù)據(jù)類型
基本數(shù)據(jù)類型(原始數(shù)據(jù)類型)
byte
char
short
int
long
float
double
boolean
講解
float取值為什么是10的38次方
http://blog.csdn.net/shayne_lee/article/details/53364572 https://www.zybang.com/question/c36868f8667c4a187788b052d7e7ba8e.html
引用類型(類類型麸折、接口類型锡凝、枚舉類型、數(shù)組類型)
類類型垢啼,eg:String字符串類
接口類型
枚舉類型
數(shù)組類型
內(nèi)存
內(nèi)存地址
內(nèi)存
例子
變量
聲明
賦值
使用
引入
= 表示賦值窜锯,右邊賦值給左邊
== 表示恒等于
運(yùn)算符
賦值運(yùn)算
含義:是指為變量或常量指定數(shù)值的符號(hào),如可以使用"="將右邊的表達(dá)式結(jié)果賦值給左邊的操作數(shù)膊夹;
公式:變量名 = 表達(dá)式衬浑;
讀法:將右邊的表達(dá)式賦值給變量名
表達(dá)式:符號(hào)(如加號(hào)、減號(hào))與操作數(shù)(如b、3等)的組合偶摔;
Java支持的常用賦值運(yùn)算符?
備注:表達(dá)式與語句有相似之處涵妥,提醒學(xué)生不用去糾結(jié)概念,重點(diǎn)關(guān)注賦值號(hào)
例子
public class HelloWorld{? ?
? ? public static void main(String[] args) {
? ? ? ? int one = 10 ;
? ? ? ? int two = 20 ;
? ? ? ? int three = 0 ;
? ? ? ? three=one+two;
? ? ? ? System.out.println("three = one + two ==> "+three);
? ? ? ? three+=one;
? ? ? ? System.out.println("three += one ==> "+three);
? ? ? ? three-=one;
? ? ? ? System.out.println("three -= one ==> "+three);
? ? ? ? three*=one;
? ? ? ? System.out.println("three *= one ==> "+three);
? ? ? ? three/=one;
? ? ? ? System.out.println("three /= one ==> "+three);
? ? ? ? three%=one;
? ? ? ? System.out.println("three %= one ==> "+three);
? ? }
}
算術(shù)運(yùn)算符
作用:主要用于進(jìn)行基本的算術(shù)運(yùn)算助币,如加法、減法螟碎、除法眉菱、乘法等;
java中常用的算術(shù)運(yùn)算符:?
備注:其中掉分,++和--既可以出現(xiàn)在操作數(shù)的左邊俭缓,也可以出現(xiàn)在操作數(shù)的右邊克伊,但結(jié)果是不同的;
++i 先加后用
? public class? HelloWorld {
? ? ? ? public static void main(String[] args){
? ? ? ? ? ? int i = 5;
? ? ? ? ? ? int ii = ++i;//讓i先執(zhí)行自增华坦,然后將值賦值給變量ii
? ? ? ? ? ? System.out.println("i:"+i);
? ? ? ? ? ? System.out.println("ii:"+ii);
? ? ? ? }
? ? }
i++ 先用后加
public class HelloWorld{
? ? public static void main(String[] args) {
? ? ? ? int i = 5;
? ? ? ? int ii = i++;//將i的值賦給變量ii愿吹,然后再執(zhí)行自增
? ? ? ? System.out.println("i:"+i);
? ? ? ? System.out.println("ii:"+ii);
? ? }
}
% 用來求余數(shù),也稱取模運(yùn)算
public class HelloWorld{
? ? public static void main(String[] args) {
? ? ? ? int a = 5;
? ? ? ? int b = 3;
? ? ? ? System.out.println("a與b的余數(shù)為"+a%b);
? ? }
}
PPT P22練習(xí)
第一題按照類型嚴(yán)格定義小明的各項(xiàng)數(shù)據(jù)惜姐。姓名:小明犁跪,年齡:20,身高:175歹袁,性別:男坷衍,婚否:否。并輸出成一句完整的個(gè)人介紹条舔。
public class IntroduceMySelf{
? ? public static void main(String[] args) {
? ? ? ? String name = "小明";
? ? ? ? int age = 20;
? ? ? ? int height = 175;
? ? ? ? char sex = '男';
? ? ? ? char marriage = '否';
? ? ? ? System.out.println("大家好枫耳,我叫"+name+",是一位"+sex+"性逞刷,今年"
? ? +age+"嘉涌,我有"+height+"厘米高,婚否:"+marriage+"夸浅。");
? ? }
}
第二題思考x與y的值仑最,再用程序驗(yàn)證,是否與預(yù)期相同帆喇?為什么警医?int x = 10, y = 10;x++;y = ++x+y++;
public class ValueDemo{
? ? public static void main(String[] args) {
? ? ? ? int x = 10;
? ? ? ? int y = 10;
? ? ? ? x++;
? ? ? ? y = ++x + y++;
? ? ? ? System.out.println(x);//12
? ? ? ? System.out.println(y);//22
? ? }
}
第三題為什么各種數(shù)據(jù)類型有范圍?(回答有意思即可坯钦,無標(biāo)準(zhǔn)答案)
JAVA是強(qiáng)類型語言预皇,嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型;
根據(jù)各種數(shù)據(jù)類型的范圍可以嚴(yán)格控制內(nèi)存不浪費(fèi)等婉刀;
課后練習(xí)題
1吟温、PPT P22 練習(xí)題;
2突颊、家庭作業(yè):
總結(jié)今天學(xué)的知識(shí)以及你對(duì)它的認(rèn)識(shí)與理解(不少于500字)鲁豪;
預(yù)習(xí)進(jìn)制;
---Day2----
轉(zhuǎn)型: - 自動(dòng)轉(zhuǎn)型(稱:隱式類型轉(zhuǎn)換律秃,小范圍到大范圍) - 特點(diǎn):稱隱式類型轉(zhuǎn)換爬橡,由JVM自動(dòng)完成; - 轉(zhuǎn)換規(guī)則:從存儲(chǔ)范圍小的類型到存儲(chǔ)范圍大的類型棒动; - 具體規(guī)則:byte-->short(char)--->int--->long-->float-->double
- 強(qiáng)制類型轉(zhuǎn)型(稱:顯示類型轉(zhuǎn)換糙申,大范圍到小范圍):
? - 特點(diǎn):稱:顯示類型轉(zhuǎn)換,必須書寫代碼才能完成的類型轉(zhuǎn)換船惨。該類類型轉(zhuǎn)換很可能存在精度的損失柜裸;
? - 轉(zhuǎn)換規(guī)則:從存儲(chǔ)范圍大的類型到存儲(chǔ)范圍小的類型缕陕;
? - 具體規(guī)則:double-->float-->long-->int-->short(char)-->byte
自增
自減
運(yùn)算符:
算術(shù)運(yùn)算符
邏輯運(yùn)算符
比較運(yùn)算符
位運(yùn)算符
運(yùn)算符的優(yōu)先級(jí)
----流程控制----
分支語句
if語句
if--else if---
swith
三目運(yùn)算
循環(huán)語句
while
do-while
for
關(guān)鍵字:
break
continue
----Day3----
特點(diǎn)
聲明方式
靜態(tài)聲明
動(dòng)態(tài)聲明
操作值
遍歷方式
數(shù)組復(fù)制
含義:數(shù)組的復(fù)制是指將源數(shù)組的元素一一做副本,賦值到目標(biāo)數(shù)組的對(duì)應(yīng)位置疙挺。
常用的三種方法:
使用循環(huán)語句進(jìn)行復(fù)制榄檬;
使用循環(huán)語句訪問數(shù)組,對(duì)其中每個(gè)元素進(jìn)行訪問操作
public void arrayCopyFor(){
? ? int[] array1 = {1,2,3,4,5};
? ? int[] array2 = new int[array1.length];
? ? //復(fù)制
? ? for(int i = 0; i < array1.length; i++){
? ? ? ? array2[i] = array1[i];
? ? }
? ? //輸出array2結(jié)果
? ? for(int i= 0; i < array2.length; i++){
? ? ? ? System.out.print(array2[i]+" ");
? ? }
}
使用clone()方法衔统;
含義:Object類是所有類的父類,其clone方法一般用于創(chuàng)建并返回此對(duì)象的一個(gè)副本海雪,java中認(rèn)為一切都是“對(duì)象”锦爵,所以使用該方法也可以實(shí)現(xiàn)數(shù)組的復(fù)制。
public void arrayCopyClone(){
? ? int[] array1 = {1,2,3,4,5};
? ? //復(fù)制
? ? int[] array2 = array1.clone();
? ? //輸出array2結(jié)果
? ? for(int i = 0; i < array2.length; i++){
? ? ? ? System.out.print(array2[i]+" ");
? ? }
}? ? ?
使用Sysetm.arraycopy方法
含義:System.arraycopy()方法是System類的一個(gè)靜態(tài)方法奥裸,其可以方便地實(shí)現(xiàn)數(shù)組復(fù)制功能险掀;
結(jié)構(gòu): System.arraycopy(from,fromIndex,to,toIndex,count);
解釋: 該方法有5個(gè)參數(shù):from、fromIndex湾宙、to樟氢、toIndex、count侠鳄,其含義是將數(shù)組from中的索引為fromIndex開始的元素埠啃,復(fù)制到數(shù)組to中索引為toIndex的位置,總共復(fù)制的元素個(gè)數(shù)為count個(gè)伟恶;
//使用System.arraycopy()方法
public void arrayCopy(){
int[] array1 = {1,2,3,4,5};
int[] array2 = new int[array1.length];
//復(fù)制
System.arraycopy(array1, 0, array2, 0, array1.length);
//輸出array2結(jié)果
for(int i = 0; i < array2.length; i++){
? ? System.out.print(array2[i]+" ");
}
}
數(shù)組與數(shù)據(jù)結(jié)構(gòu)
含義:數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲(chǔ)碴开、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)已經(jīng)作為計(jì)算機(jī)科學(xué)中的一門學(xué)科博秫,致力于解決計(jì)算機(jī)數(shù)據(jù)的最佳組織方式潦牛、提高運(yùn)行效率等問題。使用數(shù)組實(shí)現(xiàn)冒泡排序算法挡育、棧和隊(duì)列巴碗。
數(shù)組排序
含義:在編程時(shí)經(jīng)常會(huì)遇到算法問題,所謂的算法即寒,就是在有限步驟內(nèi)求解某一個(gè)問題所使用的一組定義明確的規(guī)則橡淆。算法的好壞直接影響到程序的運(yùn)行效率。
例子:冒泡排序
實(shí)現(xiàn)思路:冒泡排序算法每次比較相鄰的數(shù)蒿叠,將較小的數(shù)放到前面明垢,較大的數(shù)放到后面,這樣就可以將這些數(shù)中最大的數(shù)找出來放到最后市咽,然后比較剩下的數(shù)痊银,再在這些數(shù)中找出最大的數(shù),直到所有的數(shù)字按照從小到大的順序排序施绎;
public void bubble(){
int[] array = {19,4,2,47,98,56,30};
//排序
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array.length - 1; j++){
? ? if(array[j] > array[j + 1]){
? ? ? ? int temp = array[j];
? ? ? ? array[j] = array[j + 1];
? ? ? ? array[j + 1] = temp;
? ? ? ? }
? ? }
}
//打印
for(int i = 0; i < array.length; i++){
? ? System.out.print(array[i] + " ");
}
}
二維數(shù)組
----類和對(duì)象----
類
對(duì)象
方法
static
----項(xiàng)目:ATM----