2006年11月28日
1.10 星期三
? array 數組:數組是一個具有相同類型的數據值得索引集合.
? 數組申明:double[] rainfull; 推薦
?????????? 或
??? double rainfull[];
?
?? 引用數據類型:接口,對象,數組.
?? rainfull = new double[12];
?? 創建一個長度為12的數組,把空間地址賦給rainfull.
?? 數組索引是從0開始(沒特殊要求情況下,索引一般都是從0開始)
?
?? 動態數組--自動增長
?? 數組.length (屬性)
?? String.leng()? (方法)
?? String[] m = {"a","b","c"...}
?? 在申明初始化時,數組的大小設定.
?? int size;
?? int[] number;
?? size = Integer.parseInt(JOptionPane.showMessageLag(null,"size of .."));??
?? number = new int[size];?? (方法也不是很好.因為size不一樣,對象也就不一樣.)
?? 可變型數組?
???
?? 對象數組
?? 數組的類型不是基本數據類型;
?? Person[] person;
?? person = new Person[20];
?? 對象數組每個元素都是一個對象,沒初始化時是null.
?? Person[0] = new Person[]; 創建對象
1.11 星期四
?? JCF--java集合框架
?? Java Collection Framework
?? JCF是什么?
?? 是java語言設計出來的針對底層算法和數據結構的一系列類.
?? 在哪用JCF?
?? 凡是提到數據結構和算法的都可以用JCF
?? 為什么用JCF?
?? 讓程序員的重點放在業務上,而不是如何去寫算法上.
??
?? 接口???????????????? Collection
????????????????????????? |??? |
????????????????????????? |??? |
??????????????????? set----???? ----list?????????????? map
?
?? 實現??????????? HashSet????????? ArrayList????????? SoredMap
?
?? 算法??????????? Collections
?? 以上構成JCF
?
?? list 列表???? map 映射
?? list的重要特征是幫我們管理大量對象
?? ArrayList 數組列表
?? LinkedList (單雙)鏈表 (不是連續的,通過指針連接)
?? ArrayList al = new ArrayList();
?? al.add(1);
?? al.add(4);
?? al.add(2);? 增加
?? ......
?? al.remove;? 刪除
?? System.out.println(al);
?? System.out.println(al.get(3));
?? 排序
?? Collections.sort(al); 小到大
?? Collections.max(al);
?? Collections.min(al);
?? Collections.sort(al,Collection.reverseOrder);? 大到小
?
?? Vector 跟 ArrayList 很相似
?? 向量
?? 如何便利集合
?? Iterator it = al.iterator(); 迭帶器 挨個訪問
?? while(it.hasNext())
?? {
????? System.out.println(al.next);
?? }
?? HashMap 不允許重復
?? TreeMap 自動排序
?
?? treeMap tr = new TreeMap();
?? tr.put(1,1);? (key,value)
?? .......
?? Object[] o = tr.keySet().ToArray();
?? Object[] o = tr.value().ToArray();???????????????
?
?? System.out.println(tr);
?? for(int i = 0;i<o.leng;i++)
?? {
????? System.out.println(0[i]);
?? }
12.25!~12.27
GUI
1 容器,部件
2 事件處理
awt和swing的特點:
awt(抽象窗口工具集)是依賴操作系統的GUI.
能夠顯示出來的組件是不同操作系統的共有組件.(但是不太好看.)
swing(模擬GUI組件)速度比awt要慢的多.
swt(sun公司的,是swing和awt的綜合體)如果swt產生的組件awt有就直接調用, 沒有就模擬出來.這樣既解決了跨平臺的問題,也解決了速度慢的問題.
低層容器:容器是包含其他組件的組件.
JFrame,JApplet,JDialog.?
布局管理器:
標準布局,自由布局.
GUI三個步驟:
1.選擇容器
2.為容器設置布局方式
3.為容器填加組件
導入3個包
import javax.swing.*;
import java.awt.*;
import awt.event.*;
GUI底層容器的實現方式
第一種:
JFrame jf = new JFrame();? //拿一個容器
jf.setLayout(null);???????
JButton jb = new JButton();
jb.setBounds(0,0,20,20);? //絕對布局
jf.add(jb);
this.setSize(200,200);
this.setVisible(true);
第二種:
類 extends JFrame?? //讓自己的類變成容器
申明組件;
public 類
{
?Container ct = this.getContentPane();
?ct.add();
?this.setSize();
?this.setVisible();
}
this.setCursor(new Cursor(Cursor.HAND_CURSOR));? //變手
Image image = new ImageIcon("Sunset.jpg").getImage();
setIconImage(image);//改變圖標
容器,根容器,部件看gui資料? E盤..
布局管理器
FlowLayout 面板(缺省管理器) 流布局管理器
在setLayout(null)下全是FlowLayout
BorderLayout JFrame(缺省布局管理器) 東 西 南 北 中
GridLayout 行列(像表格)
CardLayout 卡片布局管理器(沒有頁簽)
GridBagLayout 格蘭包布局管理器(標準管理器中最靈活的,不好把控)??
FlowLayout 從上到下,從左到右放置.
1.當第一行沒有排滿時,會把第一行排滿再排下一行.
2.不管布局管理器是否改變,組件大小都不會改變.
FlowLayout folw = new FlowLayout (FlowLayout.LEFT);
3.在缺省狀態下從中部開始.
BorderLayout
當東西南北任何一個地區沒放置任何組件時,中部區域會把周圍的區域侵略掉.
setLayout(new BorderLayout());
組件會隨著容器大小的變化而變化.
add("North",組件); 不好用
add(組件,BorderLayout.NORTH); 清晰
GridLayout
組件會隨著容器大小的變化而變化.
setLayout(new GridLayout(3,2));? 行列
add(new Button("first",0));
根據序列依次填進去,只有列滿了才去填行.
validate();? 讓容器刷新
GardLayout
GardLayout card = new GardLayout();
setLayout(card);
add("1",new Button(""));
CardLayout cl = (CardLayout)cardLayout.getLayout;
cl.show(cardLayout,"card1");
事件
class 類 extends JFrame implements(實現) ActionListener(接口)
{????????????????????? (受托事件處理)
?????????????????????? 不同的事件不同的部門處理
}
1 讓類變成監聽者
2 賦予多少職責就實現多少
3 建立部件與監聽者的關系
jb.addActionListener(this);
?
CardLayout cl = (CardLayout)card.getLayout();
String s = e.getActionCommed();
if(s.equals("上一步"))
{
?cl.show(card,"card2");
?????? ?或者
??????? cl.previous(card);
?button.setEnabled(false);
}
else if(s.equals("下一步"))
{
?cl.show(card,"card1");
?????? ?或者
??????? cl.previous(card);
?button.setEnabled(false);
}
?
?
?
?
?
?
?
?
?
2.19 星期二
? 在方法里面申明的屬性必須初始化.(局部變量)
? 在類里面申明的屬性不用初始化.(全局變量)
? 如果一個方法有返回值,那么方法里必須加上return.返回類型沒有void.
? 構造器就是類的構造方法.
? 構造方法的基本特點:
? 方法名和類名一致,方法名沒有返回類型.
? 構造方法的特性:
? 1.每個類一定會有一個不帶參數的默認構造方法.
? 2.如果一個類定義了一個帶參數的構造方法,那么不帶參數的構造方法就會被洗刷掉.
? 3.構造方法可以重載.(如一個帶參數的和一個帶參數的)
? 一個類的方法同名叫做方法重載.
? 4.構造方法是不能被繼承的.
?
? 實例變量:在類里面任何一個方法外面的變量.每個對象都有屬于自己實例變量的拷貝.
? public private這個我們稱之為"可見性修飾符".它來指定數據成員和方法的訪問能力和訪問級別.
? 如果這個方法的行為是改變對象的屬性,設置對象屬性的值,那么這個方法稱之為"修改器".
? public void setHeight(float h, float w)
? {
???? height = h;
???? weight = w;
? }?
? 如果這個方法只是返回對象屬性,那么我們稱這個方法為"訪問器".
? public void abc()
? {
???? return a;
? }
12.20 星期三
? static int i;是類變量
? 缺省修飾符:本包的都可以訪問.
? 公共修飾符(public):任何地方都可以訪問.
? if()
? 語句1;
? else
? 語句2;
?
? ?? :?????? if else的工程用法(三目運算符)
?
? switch的條件語句只能是整數
? equals方法是被重寫過的.
?
? equals跟==的區別:
? equals比較的是內存空間的內容是否相同
? == 比較的是兩個對象的地址是否相同
12.21 星期四
properties
?
import java.io.*;
import java.util.Properties;
class P
{
?Properties pro;
?
?public P()
?{
??pro = new Properties();
?}
?
?public void load(String fileName)
?{
??try
??{
???pro.load(new FileInputStream(fileName));加載
??}
??catch(IOException e)
??{
???e.printStackTrace();
??}
?}
?
?public void getP(String key)
?{
??System.out.println(pro.getProperty(key));讀取
?}
?
?public void setP(String key,String value)
?{
??pro.setProperty(key,value);設置(在內存里)
?}
?
?public void storeP(String fileName,String Info)
?{
??try
??{
???pro.store(new FileOutputStream(fileName),Info);保存(在文件)
??}
??catch(IOException e)
??{
???e.printStackTrace();
??}
?}
?
}
普通文件? 后綴.peoperties
(柔性軟件開發)目的:可以讓程序變的靈活,配置變的輕巧。
循環語句
while循環:循環次數未知使用。
for 循環:已知循環次數使用。
do-while循環
?
?
java基礎
static是靜態。
靜態方法不能訪問非靜態成員。
非靜態方法可以訪問靜態成員。
int i = 3;
public static void main(String[] args)?
{?
?System.out.println(i);
}
這個就會報錯。因為靜態方法不能訪問非靜態成員!!
?static int i = 3;
?public static void main(String[] args)
?{
??nbn n = new nbn();
??n.abc();
?}
?
?public void abc()
?{
??System.out.println(i);
?}
這個就不會報錯。因為非靜態方法可以訪問靜態成員。
?
public(訪問修飾符)static(訪問修飾符)void(返回類型) main(方法名)(String[] args)(參數表){}
import javax.swing.*;
import java.text.SimpleDateFormat;
class jframe
{
?public static void main(String[] args)
?{
??JFrame jf = new JFrame();//窗口
??
??SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd");//時間格式
??java.util.Date da = new java.util.Date();//顯示時間的對象申明
??
??
??jf.setTitle("w.a.n");//設置標題
??jf.setSize(300,300);//設置窗體大小
??jf.setVisible(true);//顯示
??JOptionPane.showMessageDialog(jf(位置),"hello");//彈出窗口顯示HELLO
??String a = JOptionPane.showInputDialog(null,"can you see?");//輸入窗口,窗口提示為can you see
??
??JOptionPane.showMessageDialog跟JOptionPane.showInputDialog還有一種參數寫法。
??JOptionPane.showMessageDialog(null," "(顯示信息)," "(標題信息),JOptionPane.INFORMATION_MESSAGE);
??System.out.println(sf.format(da.getTime())); //輸出年月日。用SimpleDateFormat
??
?}
}
三種注釋
/**
?*文檔註釋,寫在開頭 ( 注明程序的功能,以及相關信息)
?*功能:
?*作者:
?*版本:
?*開發日期:
?**/
/*
? *多行註釋
?
*///單行註釋
import javax.swing.JOptionPane;
class Area
{
?final private static double PI = 3.1415;? //常量的申明:final
?private String r;
?private double rr;
?private double s;
?
?
?public static void main(String[] args)
?{
??Area a = new Area();
??a.Input();
??a.Areas();
?}
?
?public void Input()
?{
??r? = JOptionPane.showInputDialog(null,"請輸入圓半徑");
?}
?
?public void Areas()
?{??
??rr = Double.parseDouble(r);//類型轉換?
??s? = rr*rr*PI;
??JOptionPane.showMessageDialog(null,"圓面積是:"+s);
?}
}
類型轉換
String轉double
xx = Double.parseDouble(要轉換的數據名字);
String轉int
xx = Integer.parseInt(要轉換的數據名字);
int轉String
String s = String.valueOf(12);
或
String s = new Integer(10).toString();
注意!!
float f = 2.33 是錯的。因為2.33默認類型是double.
改正:float f = 2.33 F;
還要注意
高內聚,松耦合。
函數分解。
這樣代碼看起來會很清爽。
import java.text.DecimalFormat;
class Dformat
{
?public static void main(String[] args)
?{
??DecimalFormat df = new DecimalFormat("0");//格式0后面幾個小數點表示保留幾位小數
??System.out.println(df.format(66.6666)+"%");//這樣66.666就是67%
?}
}
標準輸出
System.out.print("");//加ln是換行
標準輸入
System.out.println(System.in.read());//這個方法用來讀取阿科斯碼
System.out.println((char)System.in.read());//這個方法是強制轉換,只能讀取一個字符
import java.io.*;//用BufferedReader 要引用io包
class c
{?
?public static void main(String[] args)throws Exception //要拋異常
?{
?BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
?String s = br.readLine();
?System.out.println(s);
?}
}
?要導入util包,util是工具包.
?Scanner sc = new Scanner(System.in);
?int s = sc.nextInt();
?int s1 = sc.nextInt();
?System.out.println(s*s1);//用Scanner可以省去判斷的步驟 在jdk1.5以下的版本不能用
GregorianCalendar calendar = new GregorianCalendar(year,month,day);
int d = calendar.get(Calendar.DAY_OF_WEEK);//今天是一周內的哪一天
?
?
?
?
?
?
?
?
?
?
?
將HTML和JS文件分離的好處.<script type="text/javascript" src="";
1.分離的話易于維護和管理.
2.可重用.
javascript的作用是:1實現客戶端與網頁的交互(人機交互)
?????????????????????????????? 2客戶端驗證
window的2個"兒子":document?和? history
window有3個主要的.alert(提示框),open(新開一個窗口),prompt(對話框)
還有window.location.href="";實現頁面跳轉
window.status="";(狀態條下寫字).
window.history.back();(返回)
window.history.forward();(前進)
window.history.go(2);(前進2步)
window.history.go(-2);(退后2步)
事件
onclick單擊 ondblclick雙擊
onfocus 聚焦 onblur 失焦
onselect 選擇事件
window.setTimeout("函數",時間)? (定時器)
onmouseover 鼠標放上去
onmouseout 鼠標離開
下拉列表:onchange
onload 寫在<body>里 登陸發生的事件
onunload 寫在<body>里? 離開發生的事件
獲取表單對象
document.formTest(表單名);
document.forms[0];
document.forms["表單名"];
document.getElementById("formId");
<form name="formTest" action="#">
??<input type="checkbox" id="w1" name="box" value="0" />男
??<input type="checkbox" id="w2" name="box" value="0" />女
??<input type="checkbox" id="w3" name="box" value="0" />外鄉人</br>
??<input type="button" value="ok" onclick="w1.checked='checked';w2.checked='checked';w3.checked='checked'"/>
簡單的按一個鍵,所有的check都被選中.
下面的這個是關于表單驗證的一個作業.需要分析:就是在一個TEXT聚焦的時候,就會在旁邊顯示一排字告訴你里面內容必須不為空,并且要大于或者等于8位.當你輸入的內容符合要求的時候,該行字就自動小時.我算是基本實現了功能了,但是不完善.因為當我輸入9個字的時候,字并不是自動小時的,而是需要我再一次的聚焦..如果那位達人能幫忙解決下,俺感激不盡..
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<html xmlns="?<head>
??<!-- Created by TopStyle Pro Trial Version - www.bradsoft.com -->
??<title></title>
??<style>
???div
???{
????color: red;
????font-size: 13px;
???}
???
???
??
??</style>
??<script>
???function tixing()
???{
????
????var divObject = document.getElementById("div1");
????var text= document.getElementById("t1");
????if(text.value.length >=8)
????{
????divObject.innerHTML = "您輸入的用戶名必須在0-8位之間。";
????divObject.style.display = "none";
????}?
????else
????{
????divObject.innerHTML = "您輸入的用戶名必須在0-8位之間。";
????divObject.style.display = "";
????}
????
???}?
???function tixing1()
???{
????var divObject1 = document.getElementById("div2");
????var text2= document.getElementById("t2");
????if(text2.value.length >=8)
????{
????divObject1.innerHTML = "您輸入的用戶名必須在0-8位之間。";
????divObject1.style.display = "none";
????}?
????else
????{
????divObject1.innerHTML = "您輸入的用戶名必須在0-8位之間。";
????divObject1.style.display = "";
????}
???}
???function validate()
???{
????var te1 = document.getElementById("t1")
????var te2 = document.getElementById("t2")
????var divObject = div1;
????var divObject1 = div2;
????
????if(te1.value.length < 8)
????{
?????divObject.innerHTML = "您輸入的用戶名必須在0-8位之間。";
?????divObject.style.display = "";
????}????
????
????if(te2.value.length < 8)
????{
?????divObject1.innerHTML = "您輸入的密碼必須在0-8位之間"
?????divObject1.style.display = "";
????}
????
????if(te1.value.length < 8 && te2.value.length < 8)
????{
????divObject.innerHTML = "您輸入的用戶名必須在0-8位之間。";
????divObject1.innerHTML = "您輸入的密碼必須在0-8位之間"
????divObject.style.display = "";
????divObject1.style.display = "";
????}
???}
???
??</script>
?</head>
?<body>
??<form id="formTest">
???用戶名
???<input type="text" id="t1"? onfocus="tixing();"/><br /><div id="div1"? ></div>
???密 碼?
???<input type="password" id="t2"? onfocus="tixing1()" /><br /><div id="div2"></div>
???<input type="button" id="bt1" value="登錄" onclick="validate()"/>
??</form>
?</body>
</html>
再下面的這個是今天的作業.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<html xmlns="<head>
?<!-- Created by TopStyle Pro Trial Version - www.bradsoft.com -->
?<title></title>
?<style>
?div
?{
??float: left;
?}
?</style>
?<script>
??function a()
??{
???var textId0 = document.getElementById("te1");
???var text0 = textId0.value;
???var areId = document.getElementById("text");
???areId.value = areId.value+"1."+"用戶名:"+text0+"\n";
???
??}
??function b()
??{
???var textId1 = document.getElementById("pa");
???var text1 = textId1.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"3."+"密碼:"+text1+"\n";
??}
??function c()
??{
???var radioId1 = document.getElementById("ra1");
???var radio1 = radioId1.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"4."+"單選:"+radio1+"\n";
??}
??function d()
??{
???var radioId2 = document.getElementById("ra2");
???var radio2 = radioId2.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"4."+"單選:"+radio2+"\n";
??}
??function ei()
??{
???var radioId3= document.getElementById("ra3");
???var radio3 = radioId3.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"4."+"單選:"+radio3+"\n";
??}
??function f()
??{
???var checkId1= document.getElementById("che1");
???var check1 = checkId1.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"5."+"多選:"+check1+"\n";
??}
??function g()
??{
???var checkId2= document.getElementById("che2");
???var check2 = checkId2.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"5."+"多選:"+check2+"\n";
??}
??function h()
??{
???var checkId3= document.getElementById("che3");
???var check3 = checkId3.value;
???var areId = document.getElementById("text");
???areId.value =areId.value+"5."+"多選:"+check3+"\n";
??}
??function select()
??{
???var a = document.getElementById("selectId");
???var b = a.options[a.selectedIndex];
???var c = b.value;
???var? areId = document.getElementById("text");
??
???areId.value = areId.value+c;
??}
?</script>
</head>
<body>
?
??<div>
???用戶名:<input type="text" id="te1" onblur="a()"/><br/>
???密  碼:<input type="password" id="pa" onblur="b();"/><br />
???<a>
???<input type="radio" value="吃飯" id="ra1" name="1" onblur="c();"/>吃飯
???<input type="radio" value="睡覺" id="ra2" name="1" onblur="d();"/>睡覺
???<input type="radio" value="上學" id="ra3" name="1" onblur="ei();"/>上學
???</a><br />
???<a>
???<input type="checkbox" id="che1" value="巷巷" onblur="f()"/>巷巷
???<input type="checkbox" id="che2" value="街道" onblur="g()"/>街道
???<input type="checkbox" id="che3" value="邊邊" onblur="h()"/>邊邊
???</a><br />
???<textarea id="text" cols="20" rows="6"></textarea>
??</div>
??<form id="selectId0">
???<select id="selectId" onblur="select()"; / >
????<option value="東東">東東? </option>
????<option value="南南">南南</option>
????<option value="西西">西西 </option>
????<option value="北北">北北 </option>
???</select>
??</form>
?
</body>
</html>
還是不完善..哎..
do while和 while?的區別.??
do while? 是先執行再判斷
while?? 是先判斷再執行
--i;?? 減之前的值
i--;?????? 減之后的值??? ?i的值會變
i = i - 1;???????????????????????? i的值會變
i - 1;?? i沒有變
var i;
/*for(i = 0;i<10;i++)? //;分段?? 初始化;循環條件;步進
{
?document.write(i+"<br />");
}*/
/*for(i = 0;i<20;i++)
{
?if(i == 16)
?{
??break;?
?}
?document.write(i+" ");
}*/
/*for(i = 0;i<20;i++)
{
?if(i%2 == 1)
?{
??continue;
?}
?document.write(i+" ");
}*/
/*var i = 1;
var j = 1;
for(i = 1;i<10;i++)
{
?for(j = 1;j<=i;j++)
?{
??document.write(i+"*"+j+"="+i*j);
??document.write("    ")
?}
?document.write("<br />")
}*/
/*var i = 1;
var j = 1;
?
for(i = 1;i<10;i++)
{?
?for(j = 1;j<10;j++)
?{
??document.write(i+"*"+j+"="+i*j);
??document.write("    ")
?}
?document.write("<br />")
}*/
/*
while(true)? //死循環
{
?alert("fdfd");
}
alert("end");*/
var i = 20;
while(i>5010)
{
?document.write(i);
?i=i-1;
}
//alert("end");
/*var i = 0;
while(i<100)
{
?document.write(i+" ");
?if(i%10 == 9)
?{
??document.write("<br /><br />");
?}
?i++;
}*/
<script>
?var b = "hello";
?</script>
<script>
alert (b);
</script>
這個hello能打出來嗎?這是今天黃Sir上課問的問題.好多人沒反映過來.我也算一個吧.
答案是能打出來.*因為寫在不同塊的變量可以相互引用..!!
邏輯運算符
&&與.就是數學上的且!
||或.
!非.
在與里面,只要有1個是false,那結果就是false.
在或里面,只要有個是true,那結果就是ture.
非.如果是true那么它的非就是false,反之亦是.
如果是數字,記住只有0是false.只要是非0就都是true.
switch(day = 1)? //switch只能表示等或者不等的映射關系
?{
??case day = 1:
??{
???alert("monday");
??}break;????? //如果不加break會繼續往下執行,并且忽略后來的比對,直到遇到下一個break.
??case day = 2:
??{
???alert("tuesday");
??}break;??
??case day = 3:
??{
???alert("wednesday");
??}break;
??case day = 4:
??{
???alert("thursday");
??}break;
??case day = 5:
??{?
???alert("friday");
??}break;
??case day = 6:
??{
???alert("saturday");
??}break;
??case day = 7:
??{
???alert("sunday");
??}break;
??default:
??{
???alert("error");
??}break; //最后1個可加可不加,但是加上比較嚴謹。
}
var score = 99;
if(score>=90) //表示范圍
{
?alert("so cool");
}
else if(score>=80)
{
?alert("good");?
}
else if(score>=70)
{
?alert("so-so")
}
else if(score>=60)
{
?("pass");
}
else
{
?alert("not pass");
}
???(首先,今天是我的跟兒生日.跟跟,你的跟祝你生日快樂!~)
???進入正題....
???javascript是一種腳本語言.腳本語言的意思就是它生成的文件不能獨立運行,必須依賴于一種平臺.比如javascript就必須要用IE才能打開.而像java或者c語言,它們由代碼生成文件就可以獨立運行.
?? javascript是一種弱類型語言.它不像java,c這些強類型的語言.強類型和弱類型語言的區別就在于.在申明一個變量的時候,強類型語言必須把變量類型也指定好. int i =0;而且一旦指定好類型,就不能再改變.而javascript作為一種弱類型的語言,它在申明變量的時候就不需要指定變量類型.切數據類型是自動轉換的.
???如var a = 0;這個時候a這個變量的數據類型就是整形.a = "hello"這個時候a的變量類型就變成了字符型.
???javascript可以使用<script>嵌入進html里,也可以通過添加事件,或者用偽URL javascript..
???alert();可以在()內寫函數,數字,或者字符串.字符串必須用""括起來.它的效果就是彈出一個窗口.
????var f = true;
?? alert(typeof(f));? //返回數據類型
???
???函數:function functionName()?? //定義,申明
???{
????alert("Welcome to Lovo");
???}
?? functionName();?? //調用,使用
???function abc(o)? //o是形式參數
?? {
?? ?alert(o);
?? }
??// o = "hello";
?? abc("hello");? //"hello"是實際參數
??
?? function a(i,o)
?? {
?? ?alert(i+o)
?? }
?? a(5,9);
???這個的結果是14.很簡單,就是2個數字相加.
???
?? function a(i,o)
?? {
?? ?alert(i+o)
?? }
?? a("500",9);
???這個呢?是5009.這個因為500打了"",所以它就變成了字符串相加.
??? function b(i,o)
?? {
?? ?var w;
???w = i + o;
???alert(w);
???return w;? //程序到return就自動跳出
???}
??b(1,3);
???之前我犯了個錯誤,我把?alert(w);寫在了??return w;?之后..我就奇怪為什么W的值打不出來...好白癡,因為函數return w;的時候就直接跳出了.就不會接續執行函數里面??return w;?后面的語句了.?
? function b(i,o)
?? {
?? ?var w;
???w = i + o;
???return w;?
???}
?????
??? function c()
??? {
??? ?var result;
???result = b(3,3);
???alert(result);
??? }
?? c();
???這個是函數c調用函數b,函數b里面有個返回值,它把需要的結果返回給它的調用者.
???(哎..終于還是降級了..只能從HTML重新學過了..哎..學習終究是不能騙自己的..好好學習吧!~~...)
???HTML我是用TopStyle來寫.CSS是2.0..(我知道是廢話...)
???要在HTML里面寫個button or test就很簡單了..
???就是在<head>里寫 <form action="#"(這個表示發到哪里.."#"表示提交到當前頁面) method="post" (這個是發送方法,一共有2種.一種是GET.這個方法相對比較不安全.因為它會把你提交的信息以一個"?"打頭粘到URL后面第2種就是POST.這個就比較安全了.你所提交的東西是在URL上是看不到的)>
???然后<input type="button"(這如果填TEST就是TEST了) id="bt1" name="bt1"(ID跟NAME最好都寫上,這個是好習慣,在以后會很有用.ID跟NAME可以不一樣) value="登錄"(這個就是你BUTTON上顯示的字.)>
相同..<input type="text" id="te2" name="te2">...
???如果要想寫個單選框或者復選框.
?? <input type="checkbox"(CHECKBOX就是復選框) id="cb1" name="cb1">記住我(表示你復選框后面跟的字).怎么樣讓你的這個復選框為默認呢?就在<input>里添上一個checked="checked".如果不能選就添上一個disabled="disabled".
???接下來是單選框.其他的都跟復選框一樣,唯一不同的就是.在type=""填"radio".
???除此之外,還有password(跟TEST有點像,不同的是輸入信息是以星星的形式) submit(跟button,reset是一組.按了submit整個表單都提交了) reset(重置) file(上傳文件) image(圖片 后跟src=""選擇URL)
????選擇框.
???<select>
???<option value="sh">上海</option>
???<option value="sh">成都</option>
???<option value="sh">廣州</option>
???</select>
?? 也可以<select size="5"(表示同時有幾個被選項可以在不拉滾動條的情況下直接選擇) multiple="multiple"(可以多選 在按中SHIFT的情況下)>
??? 多行輸入的文本框????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? <textarea cols="10" rows="10"(設置長寬不用說了.)></textarea>
??? 最后1個是一個框框把你想框的內容全部框住,并且可以取個標題.
??? <fieldset>
??????<legend>dsada</legend>
????</fieldset>
??? <fieldset>?</fieldset>這個標簽中間放你想被框的內容.<legend></legend>這個標簽中間寫標題名.
???
??? CSS我簡單說一下.CSS是樣式層疊表..它確實是層疊的.關于盒式模型的布局屬性一共有三種. margin: border:? padding: .margin: 是調整邊框和邊框的距離.border:是調整邊框的厚度.padding:是調整邊框跟內容之間的距離.
???? 以下是我用CSS以及HTML寫的一個網頁的代碼.
??????<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
<html>
?<head>
??<!-- Created by TopStyle Pro Trial Version - www.bradsoft.com -->
??<title>用戶注冊</title>?
??<style>
??#a,#b,#d,#e,#i,#j
??{
??? ?padding:;
???padding-left: 208px;
??}
??
??#c
??{
???padding: 30px;
???padding-left: 208px;
??}
??
??#f
??{
???padding:;
???padding-left: 193px;
??}
??
??#h
??{
???padding:;
???padding-left: 193px;
??}
??
??#g
??{
???padding:;
???padding-left: 224px;
??}
??
??? #f2
??{
??? ?margin:;
???margin-bottom: 29px;
???margin-left: 31px;
???margin-right: 43px;
??}
??
??? #f3
??{
??? ?margin:;
???margin-bottom: 29px;
???margin-left: 31px;
???margin-right: 43px;
??}
??
??#bt1
??{
???margin:;
???margin-left: 36px;
??}
??
??#cb1
??{
???margin:;
???margin-left: 30px;
??}
??
??/*#f4
??{
??
???? margin:;
???margin-right: 778px;
??}*/
??
??#f5
??{
???margin:;
???margin-right: 778px;
??}
??</style>
?
?</head>
?<body>
??<form action="#" method="post">
???<fieldset id="f1">
???<h2>已注冊用戶登錄</h2>
???<fieldset id="f2">
????<legend >
?????<h3 >登錄用戶</h3 >
????</legend>
????
????<p id="a" >用戶名
?????<input type="text" id="te1" name="te1">
????</p>
????<p id="b">密  碼
?????<input type="text" id="te2" name="te2">
????</p>
????
????<p id="c">
?????<input type="checkbox" id="cb1" name="cb1">記住我
?????<input type="button" id="bt1" name="bt1" value="登錄">
????</p>
????</fieldset>
???<h2>未注冊創建帳戶</h2>
????<fieldset id="f3">
?????<legend >
??????<h3><fieldset id="f5">用戶注冊</fieldset></h3>?
?????</legend>
?????
?????<p id="d">
??????<h4>您的電子郵箱不會被公布出去,但是必須填寫.</h4>在您注冊之前請先認真閱讀服務條款
?????</p>
?????
?????<p id="e">用戶名
??????<input type="text" id="te3" name="te3">*(最多30個字符)
?????</p>
?????<p id="f">電子郵箱
??????<input type="text" id="te4" name="te4">*
?????</p>
?????
?????<p id="g">密碼
??????<input type="text" id="te5" name="te5">*(最多15個字符)
?????</p>
?????<p id="h">重復密碼
??????<input type="text" id="te6" name="te6">*
?????</p>
?????<p id="i">同意服務條款
??????<input type="checkbox" id="cb2" name="cb2">先看看條款?*
?????</p>
?????<p id="j">
??????<input type="submit" id="bt2" name="bt2" value="提交">
??????<input type="reset" id="bt3" name="bt3" value="重置">
?????</p>
?????
?????<h3>*在提交您的注冊信息時,我們認為您已經同意了我們的服務條款</h3>
?????<h3>*這些條款可能在未經您同意的時候進行修改</h3>
???
???</fieldset>
??</form>
?</body>
</html>
? 以上便是我的總結!