第一篇:01-Excel VBA 學習總結 - 基礎知識
Excel VBA 學習總結-基礎知識
1.什么是VBA?
當前輩們使用Excel的時候,他們驚奇的發現:Excel那是相當的彪悍,幾乎任何的數據分析與處理,它都可以“近乎完美”(實際上不可能完美)完成。但是在使用的過程中,他們也同樣發現,有很多工作是要重復做的。如果要想自動重復的完成這些工作,必須要借助其他的編程語言和工具。微軟為了簡化這個過程,開發了一個通用的自動化語言,這個就是VBA(Visual Basic for Application)。所有支持VBA的應用程序都可以方便的自動化執行某些固定的步驟,除此以外,支持VBA的應用程序之間也可以通過VBA這個平臺進行互操作。由于這里討論的是Excel中的VBA,所以我后面的總結內容都是以Excel中的VBA為主。
VBA是VB的一個子集,它們之間有些地方是不同的:
? VB程序可以獨立的部署和運行,但是VBA程序不能離開宿主
程序運行。
VB程序是一個編譯型的語言,程序需要編譯后執行,而VBA
程序是解釋執行的腳本語言。?
通過VBA這個工具,Excel就可以完成許多自動化的任務,并且可以充分利用Office其它組件的功能。
2.VBA能做什么?
知道了VBA是什么東東后,那么它能干什么呢?確定的說,VBA基本能做一切Excel能做的事,比如打印,生成報表,分析數據,生成圖表等,這是VBA最大的優點。不需要額外實現這些標準的功能,只需要簡單的調用就可以了,Excel已經做好了一切準備。除了這個好處,VBA其實還能處理很多的任務:
? 自定義Excel的外觀,菜單,工具欄等。
重復執行自動化操作。
操作文件和文件夾
訪問數據庫并執行相關操作
訪問網絡
操作XML
獲取系統信息
操作和自動化Office其它組件(支持VBA的其他公司的產品也可
以操作)? ? ? ? ? ? ?
除了上述的任務外,VBA還有很多其它的功能有待發掘。
3.VBA與Macro
Macro是一組Excel能理解并執行的命令集合。借助宏錄制器,我們能得到這些宏命令翻譯后的VBA代碼。這是最簡潔獲得VBA代碼的方式,也是VBA開發最主要的模式。
4.VBA小結
VBA的語法很簡單,這里就不再詳述了。我個人學習新語言的習慣都是,先了解一下這個語言出現的背景,然后了解一下語言改進的地方,最后是實踐一下基本的語法,研究語言運行的機制和部署情況。經過這個步驟以后,我就做幾個實際小例子鞏固鞏固。我學習VBA的小結如下:
? Module是VBA組織代碼的最小單元。
VBA是不分大小寫的,所以更要養成良好的編程習慣。
代碼可以一行寫多句,用“:”隔開,也可以一句寫在多行,行末
用“_”標識。
Module成員的訪問限定:? ? ?
Public: 當前程序中的所有模塊都可以訪問該成員,如果方法默認不加限定符的話,當Public處理;Public成員只能在Module中定義。
Dim/Private:只有本Module內部的所有方法才能訪問這些成員。當然方法是不能用Dim定義的。
Friend:只能用于對象模塊或者窗體模塊,作用范圍是當前程序中的其他對象模塊可以訪問該成員。
? Const定義恒定變量的時候,只能在Module中定義,不能在方
法內定義;前面可以加Public/Private限定。
有一點比較惡心,對象賦值用“Set...=”,其余的一切賦值用“=”,包括對象的屬性賦值。?
? 可以使用Type在模塊級別中定義包含一個或多個元素的用戶自定義的數據類型。
? 根據使用情況(比如需要的存儲大小)選用合適的變量類型,一般
都應該明確定義變量類型,不要使用默認的Variant類型。
當需要使用變長集合的時候,可以考慮使用動態數組(使用ReD
im和Preserve)。
Nothing、Empty與Null的比較: ? ?
Nothing:這是一個指向空對象的對象引用。將對象引用設置為Nothing,就釋放了那個對象。如果沒有其他的引用指向對象,VB/VBA就將銷毀這個對象。可以使用“Obj is Nothing”的方式檢查。
Empty:這是一個象Integer或者String一樣的變量類型,它表示了一個還沒有進行初始化的變量。它與Null的意義不同,Null表示沒有合法數據。例如數組,集合剛定義,還沒有賦值之前就是這個狀態,可以使用內置方法IsEmpty檢查。
Null:這是一個象Integer或者String一樣的變量類型,它表示一個沒有合法數據的變量。這有別于zero、Nothing、Empty或者vbNullString。Null參與的運算,都將產生Null結果。可以用內置方法IsNull檢查。
? 使用“For Each”語句枚舉集合成員。
使用“For”語句執行固定次數的循環。
使用“Do While/Until...Loop”或者“While...Wend”語句執行不定次數的循環。
使用“If”語句執行2分支的選擇。
使用“Switch Case”語句執行n分支的選擇。
使用“With”語句減少重復對象的書寫。
在Module開始的時候,加上“Option Explicit”可以強制變量使用前必須聲明。
類型定義的簡短寫法:例如定義整形,可簡寫為:Dim i%Integer %
Long &
Single!
Double #
Currency @
String $
String*size $? ? ? ? ? ? ?
? 方法調用可以加括號,也可以不加括號;如果要是加括號,特別
是含有多個參數的時候,則前面需要加上“Call”。
方法是支持可選參數的,參數前用“Optional”標識并用“=”提供默認值??蛇x參數用“參數名:=值”的方式傳值特別方便。?
? 連接多個變量時,盡量使用強制連接符“&”,少使用混和連接符“
+”。
? 在合適的時候,盡量多使用位操作(XOR,OR,AND,NOT)等完成多個Boolean類型的相關判斷與操作,而不是直接使用“IF”判斷。
? 最重要的兩點:當你不知道如何下手的時候,請嘗試錄一個宏
看看;批判吸收多個人的知識,并不是所有寫出來的都是對的,實踐是檢驗真理的唯一標準。
第二篇:JAVA基礎知識學習技巧總結
JAVA學習交流群:514167678 JAVA基礎知識學習技巧總結
JAVA學習交流群:514167678 在這里給大家整理了一篇JAVA的學習小技巧,希望能給大家帶來幫助。
1、byte通常用來進行位運算,位寬度窄,一般不用來計算
2、關鍵字都是小寫的,在eclipse中顯示為紅色。
3、變量給了缺省的初始值,C語言沒給,只給分配了空間,里面的數不確定
4、char的缺省值是ASCII碼中第1個
5、運行效率:i++>i+=1>i=i+1
6、布爾值不能進行大小比較,只能進行==比較
7、先算&&再算||。另外&&為短路與的意思。例1:判斷以下i的變化。
int i=2,j=3;
boolean b=i>j && i++>2;
System.out.println(i);答案:2
例2:以下在a,b,i不知道的情況下,判斷真還是假。((a>b)||((3-2)>2))||(5>2)&&(true||(++i>2))答案:真
8、>>帶符號右移,前面移空的位置添加符號位相同的數
0|001 1000 右移兩位(正數)
0|000 0110 1|001 1000 右移兩位(負數)
1|111 1100
>>>帶符號右移,前面移空的位置添加0
9、獲得-5到2的隨機數
int i;
Random r=new Random();
i=r.nextInt();
// i=Math.abs(i%10)+1;//獲得0到10的隨機數
i=Math.abs(i%8)-5;//獲得-5到-2的隨機數
System.out.println(i);
10、數組創建時,大小(內存)可以是前面的變量.可以動態創建數組的大小(內存),創建后就不能再改大小.例:
int t=9;
int[][] jiu;
jiu=new int[t][];
JAVA學習交流群:514167678
11、變量的作用域。
定義的數個變量其實是放在一個棧的結構中,后定義的變量先消失,先定義的變量后消失,作用域比后定義的變量大。
12、.基本數據類型參數的傳遞是值傳遞, 引用....................址傳遞.class Length{ int length;} class People{
void walk(Length length){
length.length=+=2;} public satic void main(String[] args){
Length l=new Length();
l.length=20;
new People().walk(l);
System.out.println(l.length);} }
13、方法的重載,不能通過返回值類型不同來區別,只能通過參數的不同來區別.14、方法或變量加static和
不加static的方法,是類的對象的方法.對象消失,方法消失
加static的方法,是類的方法.對象消失,方法存在.方法的地址是靜態的與類綁定
變量和上面也一樣.15、靜態方法,只能訪問類的靜態成員和該方法的成員
16、JAVA不支持多重繼承,類似一個樹,一個類只有一個父類,但可以有多個接口
C++支持多重繼承,類似一個網,一個類可以有多個父類
17、子類默認調用了父類無參構造函數.如果父類沒有無參構造函數,必須手動重寫子類的構造方法,并用super(參數)調用父類中有參構造的方法.例: class People{ private int age;public People(int age){
this.age=age;} } class Doctor extends People{ //不寫以下構造方法則出錯.public Doctor(){
super(23);}
JAVA學習交流群:514167678 //或者
public Doctor(int age){
super(age);} } 解決方法:在寫類的有參構造方法時,最好定義個無參的構造方法.18、構造方法調用父類的構造方法super()前不能有其他的語句.19、final可以修飾形式參數,防止被改 例:
void walk(final int length){
}
20、import導入包的理解,重要的事情總要放到前面
21、private與abstract沖突,原因:子類實現(繼承)不了接口(抽象類)中被private修飾的成員,但接口(抽象類)中的方法必須要重寫,加private就沒辦法重寫了 例:
interface InterfaceTest { int f();private abstract int ff();//此句錯誤,要去掉private }
22、內部類可以被外部使用,可以訪問外部類(宿主類)的privite成員;內部類成員加public也可以被外部訪問,但也危險,定義成private外部不能訪問此類了(常用).public class OutClass { private int i=2;public class InnerClass{
public int j=i;} }
23、抽象類不用繼承也能用 例:
abstract class Out2{ private int i=2;public abstract int f();public static Out2 getInstance(){
return new Inner2();} private static class Inner2 extends Out2{//static
public int f(){
return 2;
} } public static void main(String[] args){
JAVA學習交流群:514167678
Out2 ou=Out2.getInstance();//抽象類不用繼承也能用,獲得此類的實例
int i=ou.f();
System.out.println(i);} }
24、接口里也可以定義類(內隱類)例:
interface InterfaceTest { int f();class A{
int f(){
return 2;
} } }
25、內部類的使用.類NoNameInnerClass 不用implements實現接口,而用傳遞進來對象來用接口
interface Inter{ void paint();} public class NoNameInnerClass { public void paint(Inter p){//傳遞進來對象來用接口
p.paint();} public void func(){
//為了獲得對象,定義一個內部類,把此對象做參數
class Paint implements Inter{
public void paint(){
System.out.println(“paint.”);
}
}
Paint p=new Paint();
paint(p);} }
26、內部類的使用.不用類名,直接創建對象,無名內隱類,類名是他實現的接口名字 interface Inter{ void paint();} public class NoNameInnerClass { public void paint(Inter p){//傳遞進來對象來用接口
p.paint();
JAVA學習交流群:514167678 } public void func(){
//直接創建對象,無名內隱類,類名是他實現的接口名字,paint(new Inter(){
public void paint(){
}
});} }
27、單態設計模式。能夠創建類的唯一實例。把構造方法定義成private,再創建靜態的成員方法getInstance()獲得此類唯一實例.例1.public class ChineseTest{
public static void main(String[] args){
Chinese Obj1 = Chinese.getInstance();
Chinese Obj2 = Chinese.getInstance();
System.out.println(Obj1 == Obj2);
} } class Chinese {
private static Chinese objRef = new Chinese();
private Chinese(){
}
public static Chinese getInstance(){
return objRef;
} } 例2:
public class ChineseTest{
public static void main(String[] args){
Chinese Obj1 = Chinese.getInstance();
Chinese Obj2 = Chinese.getInstance();
System.out.println(Obj1 == Obj2);
} } class Chinese {
private static Chinese objRef;
private Chinese(){
} }
JAVA學習交流群:514167678
28、泛型應用
Vector
Vector
v.add(“aaa”);
v.add(“bbb”);
System.out.println(v.get(0));
29、如果一個方法可能有異常,則用throw new Exception(“")來拋出異常
如果方法內用throw拋出異常,則此方法頭后必須用throws(多個s)聲明可能會拋出異常。
如果一個方法頭后用throws聲明可能會拋出異常,則此方法在用的時候必須用try-catch語句 例:
public class Lx_Yichang { static int div(int x,int y)throws Exception{
if(y==0){
throw new Exception(”除數不能為0!!“);//方法內用throw拋出異常
}else{
return x/y;
} } public static void main(String[] args){
try{//用try-catch語句
int z=0;
z=Lx_Yichang.div(10, 0);
System.out.println(z);
}
catch(Exception ex){
System.out.println(ex.toString());
ex.printStackTrace();
}
finally{
System.out.println(”End!“);
} } }
30、Hashtable類應用,可以通過get(鍵)或get(hashCode)來獲得值內容。import java.util.Hashtable;class PhoneList{ String name;String phoneNumber;public PhoneList(String name,String phoneNumber){
this.name=name;
JAVA學習交流群:514167678
this.phoneNumber=phoneNumber;} } public class HashtableTest { public static void main(String[] args){
//利用泛型
Hashtable
hashTable.put(”wang0“,new PhoneList(”wang“,”0000000“));
hashTable.put(”wang1“,new PhoneList(”wang“,”1111111“));
hashTable.put(”wang2“,new PhoneList(”wang“,”2222222“));
hashTable.put(”wang3“,new PhoneList(”wang“,”3333333“));
System.out.println(hashTable.get(”wang2“).phoneNumber);
//不利用泛型
Hashtable hash=new Hashtable();
hash.put(”wang0“,new PhoneList(”wang“,”0000000“));
hash.put(”wang1“,new PhoneList(”wang“,”1111111“));
hash.put(”wang2“,new PhoneList(”wang“,”2222222“));
hash.put(”wang3“,new PhoneList(”wang“,”3333333“));
//System.out.println(((PhoneList)hash.get(”wang2“)).phoneNumber);//不用泛型,需要強制類型轉換
//強制類型轉換時,最好先進行類型判斷
Object o=hash.get(”wang2“);
if(o instanceof PhoneList){
System.out.println(((PhoneList)o).phoneNumber);
}
//利用hashcode
Hashtable
PhoneList p1=new PhoneList(”wang2“,”888888888888“);
table.put(new Integer(p1.hashCode()), p1);
System.out.println(table.get(new Integer(p1.hashCode())).phoneNumber);
} }
31、提供一個關于游戲的簡短描述,網頁,游戲名稱,提供商,金錢初始值等等。這些數據可以置于.jad文件中。
打包后是放在JAR的META-INF文件夾里。用MIDlet類的getAppProperty(String key)來獲得其中的值.32、Canvas 的hideNotify()里寫暫停的代碼。showNotify()寫繼續游戲的代碼。來電話時自動調用hideNotify()。pauseApp也可以實現,但有的手機不支持如Nokia手機
34、運行提示ALERT: java/lang/ClassFormatError: Bad version information.原因
原因:當前編譯器的版本過高。
JAVA學習交流群:514167678
解決方法: 編譯器的版本不要過高否則有的手機不認,選擇編譯器方法:點項目右鍵屬性->Java Compiler-> Enable project specific settings打勾,然后選擇版本較低的編譯器
35、把所有的引用都設置為null才可以變為垃圾
Hero h=new Hero();
Hero h2=h;
h=null;//此時,h并沒變為垃圾,因為還有h2指向它,需要把h2也設置為null,h才變為垃圾
h2=null;
36、去掉無用包(ctrl+shift+0).或右鍵->Source->Organize Imports
37、WTK2.5的安裝后,ECLIPSE的設置
Window->Preferences->Device Management->Import->找到WTK的安裝路徑
38、添加資源文件夾名
在項目上右鍵->Properties->雙擊Java Build Path->點Add Foler->在下面的選項中選擇update exclusion filters in other source folders to solve nesting,再添入資源文件夾名,如src、res等。
39、添加抽象類、接口中的方法。
例如對繼承Canvas類,需要添加protected void keyPressed(int keyCode){}方法時.在代碼上右鍵->Source->選擇Override/Implements Methods->在窗口中,對要重寫的方法打勾->Ok。
40、在for語句中,第2個循環條件可以和邏輯表達試取與 例:
for(int i=0;i<100 && i%2==0;i++)
41、DataInputStream包裝FileInputStream后,底層操作文件,上層按指定格式輸出(最易使用)
42、FileInputStream的應用 例:
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;public class PekingFileInputStreamTest1 { public static void main(String[] args){
try {
//在項目根目錄里創建文件fileInputStream.txt
File file=new File(”fileInputStream.txt“);
FileOutputStream fout=new FileOutputStream(file);
fout.write(65);
fout.close();//輸出到文件完畢后關閉
//開始讀
FileInputStream fin=new FileInputStream(”fileInputStream.txt“);8
JAVA學習交流群:514167678
int b=fin.read();
System.out.println(b);
fin.close();
} catch(Exception e){ // TODO: handle exception e.printStackTrace();
} } }
43、利用DataOutputStream包裝FileInputStream按指定格式輸出 例:
import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.FileInputStream;public class PekingFileInputStreamTest2 { public static void main(String[] args){
try {
//在項目根目錄里創建文件fileInputStream.txt
File file=new File(”fileInputStream.txt“);
FileOutputStream fout=new FileOutputStream(file);
//包裝下按指定格式輸出
DataOutputStream dout=new DataOutputStream(fout);//子類fout做參數傳給父類,子類當父類用
dout.writeInt(8793);
dout.writeUTF(”感動中國“);
dout.close();
fout.close();
//開始讀
FileInputStream fin=new FileInputStream(”fileInputStream.txt“);
DataInputStream din=new DataInputStream(fin);
int b=din.readInt();
String s=din.readUTF();
System.out.println(b);
System.out.println(s);
din.close();
fin.close();
} catch(Exception e){
e.printStackTrace();
} 9
JAVA學習交流群:514167678 } }
44、利用PrintWriter包裝三次的例子。
PrintWriter包裝OutputStreamWriter,OutputStreamWriter包裝FileOutputStream,FileOutputStream包裝File import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.PrintWriter;public class PekingFileInputStreamTest3 { public static void main(String[] args){
try {
//在項目根目錄里創建文件fileInputStream.txt
File file=new File(”fileInputStream.txt“);//
FileOutputStream fout=new FileOutputStream(file);
//
OutputStreamWriter osw=new OutputStreamWriter(fout);//測試字符流//字符流通向字節流的橋梁
//
PrintWriter pw=new PrintWriter(osw);//包裝三次
PrintWriter pw=new PrintWriter(new OutputStreamWriter(new FileOutputStream(file)));
//開始讀
pw.println(”窗前名月光,“);
pw.println(”疑是地上霜.“);
pw.println(”抬頭望明月,“);
pw.println(”低頭思故鄉。");
pw.flush();
} catch(Exception e){
e.printStackTrace();
} } } 更上一層樓,可以進群交流!
第三篇:培訓期間學習的java基礎知識總結
final定義常量:
如果放到主函數外則需要publicstatic final
如果放到主函數內部則不需要public static final
float 表示的變量后面必須跟個f表示單精度小數
運算符:
++(--)在前時先運算在取值,在后時先取值在運算。
if else的分支順序不能顛倒
switch分句后面的default可以省略但不推薦省略。
基本數據類型放在棧里,引用數據類型放在堆里
studentstu =newstudent則stu放在棧里,student放在堆里
StringBuffer是線程安全的使用場景:經常對字符串進行修改操作時,并且需要線程安全時
StringBuilder和stringbuffer類似,是非安全版本
缺點:
不支持線程安全
優點:
在不要求多線程安全情況下性能高
使用場景:經常對字符串進行修改操作,不需要多線程安全時使用
對象和類:
如果為public則在此可以直接賦值如果為private則必須通過setter賦值
public修飾的在其他包內依然可見,private修飾的是私有類,只能在自身類內部可見
面向對象的三個特征:封裝(數據的抽象)、繼承、多態
多態:有多個子類,每個子類調用相同的方法做出不同的反應
例cut()方法:
如果理發師則理發
如果是廚師則切菜
盡管一個子類從父類繼承所有的方法和變量,但它不繼承構造函數。
下述規則適合覆蓋的方法
覆蓋方法的返回類型必須與它所覆蓋的方法相同
覆蓋方法不能讓它所覆蓋的方法訪問性差
覆蓋方法不能比它所覆蓋的方法拋出更多異常
抽象類無法實例化,抽象類可以沒有抽象方法
線程同步
關于鎖和同步,有一下幾個要點:
1)、只能同步方法,而不能同步變量和類;
2)、每個對象只有一個鎖;當提到同步時,應該清楚在什么上同步?也就是說,在哪個對象上同步?
3)、不必同步類中所有的方法,類可以同時擁有同步和非同步方法。
4)、如果兩個線程要執行一個類中的synchronized方法,并且兩個線程使用相同的實例來調用方法,那么一次只能有一個線程能夠執行方法,另一個需要等待,直到鎖被釋放。也就是說:如果一個線程在對象上獲得一個鎖,就沒有任何其他線程可以進入(該對象的)類中的任何一個同步方法。
5)、如果線程擁有同步和非同步方法,則非同步方法可以被多個線程自由訪問而不受鎖的限制。
6)、線程睡眠時,它所持的任何鎖都不會釋放。
7)、線程可以獲得多個鎖。比如,在一個對象的同步方法里面調用另外一個對象的同步方法,則獲取了兩個對象的同步鎖。
8)、同步損害并發性,應該盡可能縮小同步范圍。同步不但可以同步整個方法,還可以同步方法中一部分代碼塊。
9)、在使用同步代碼塊時候,應該指定在哪個對象上同步,也就是說要獲取哪個對象的鎖。
css樣式表:
# 是div選擇器div
“.”是類選擇器class
“li”屬于標簽選擇器
第四篇:防凍液基礎知識學習
關于防凍液項目基礎認識
車用防凍液是汽車護理品系統比較常見的產品之一,就如我們做壓縮機的508一樣,競爭大,量大。但是很多護理產品都是靠防凍液延伸產品的渠道。汽車護理品作為汽車后市場的三大板塊之一,汽車用品市場也是目前發展最快、前景最好的行業之一。近年伴隨著我國汽車工業的井噴式發展,汽車用品行業發展速度一日千里,2010年中國汽車用品市場總產值已超過4000億元。
近年來中國政府逐漸重視汽車用品行業,積極推進汽車用品的產業化,鼓勵汽車用品行業特別是技術術創新,政府也在逐步完善汽車用品行業的相關法規及標準,為汽車用品企業的發展提供有序的競爭環境。同時汽車用品企業也應不斷自主創新,引進和培養專業人才,抓住汽車用品行業的發展機遇。
根據汽車發達國家的經驗,汽車后市場的利潤可占整個汽車產業利潤總和的60%~70%,而汽車用品作為汽車后市場的三大板塊之一,盈利空間也相當廣闊。
中國汽車用品行業的發展潛力很大,未來幾年,汽車用品將進入高增長的階段。預計到2015年,汽車用品產業新增市場份額將達1500億元,市場總產值有望達到6000億元。最典型的汽車護理品包含汽車防凍液、冷媒、玻璃水、發動機保護液、剎車油、空調系統清洗液、車用香水等。隨著人們生活水平提高,私家車汽車保有量的增加,女士車主的增加,更主要是大家保養意識的增加,這個就如女士保養一樣,現在80%的女士多少都對自己進行一定的保養,以后的汽車80%以上的人也會在意這些保養。以前女士一樣是香皂、大寶等,現在這些他們就淘汰了,他們就用比較高檔的護理品,汽車護理品一樣現在是用便宜的、普通的。以后他們也會逐步使用好的。因此這個市場潛力非常大。
賽孚汽配最終的目標是通過渠道資源來進行品牌的推廣,主要工作就是負責渠道的建設、管理工作,而汽車護理品也是賽孚系統非常希望作為一個關鍵的項目來做,一是因為他發展潛力大,二是因為他不退貨,直接的消費品,而且可以發展到如女士用的皮膚護理品一樣,讓他真正深入心中。銷售護理品定位是非常重要的,特別是一開始非常主要,大家可以看看現在女士用的就知道,便宜的就很難銷售好,大寶雖然公認的好,但是使用的人很少。而且舍得保養的人都是使用比較好的。我看了很多資料,不管是身體護理,還是汽車護理都是需要一個過程,例如:中國女士護理流行是在90年代中期開始,先是從頭發開始,拉直、染、燙、現在是造型等,然后才是臉部護理,祛斑、美白、去皺紋等、然后才到美體、從表面的美容,到整個外部的美體(背部、胸部、腿部等),再到后面是內部護理(口腔、卵巢等),這些是根據人的思想開放程度、人的觀念、個人的收入、從事的職業、個人愛好等來分步改善的過程,但是現在社會整個會推動人們的思想進步、觀念也在不斷提升、經濟收入在不斷增加,逐步高端產品會得到增加,因為越是到后面,到關鍵的位置,對品質、品牌的要求越高,我們利潤也就越高。因此,整個項目是前瞻項目。
護理品項目人員要求是對產品懂,而且要定位是非常關鍵的。特別是在市場操作上要獨特,要體現高貴的價值。而我們賽孚汽配運行了2年的防凍液、3年的冷媒項目,都不成功。當然不成功不是我們銷售人員全部的責任,和定位、規劃有很大關系,當然我們銷售也存在一定問題,我們不懂產品知識,冷媒的功能、他的作用、他的含量、R12的弊端、134A與R12的區別,國家為什么要推廣134A,R12對系統有哪些影響,R12替代品的危害,134A原料成本價格,怎么判斷134A真假、國內冷媒企業的基本情況、等。
現在我們防凍液即將開始推廣,所以我將一些基本上的情況寫給大家,希望對大家有一些幫助,我也是何大家一樣同時開始接觸這個產品,希望大家多學習,一定要掌握基礎知識,你跑業務才能比別人專業一些,才體現你的業務價值和區別。你不了解他,你就只能去談價格,談服務等這些虛擬、很通俗的技能,不能給客戶帶去更有價值的東西。
內燃車輛的發動機冷卻系統是一個由汽缸、夾套與水箱組成的液冷式密閉循環體系。冷卻系統的工作狀態直接影響車輛的正常運行及車輛的使用壽命。防凍液是內燃機循環冷卻系統的冷卻介質,主要由防凍劑、緩蝕劑、消泡劑、著色劑、防霉劑、緩沖劑等組成。隨著汽車工業的發展,對發動機的性能要求也越來越高,不僅要求防凍液具有較低的冰點和較高的沸點,還應具有較好的金屬防腐性、防氣蝕性、防結垢性,以及對環境污染小或不污染環境,且有較長的使用壽命等等方面的綜合性能。
各國對此都做了大量的研究,不斷推出配方專利和優良的防凍液商品。一些先進國家的防凍液普及率達到了100 %。國內防凍液的普及率較低,防凍液有相當數量是進口的,由于價格較高,一般用于進口車輛。雖然近年來國產防凍液生產增長很快,但不少產品由于缺乏嚴格的質量檢驗和統一的檢驗標準。
防凍液的種類: 乙二醇一水防凍液
乙二醇是一種無色微粘的液體,沸點是197.4℃,冰點是-11.5℃,能與水任意比例混合?;旌虾笥捎诟淖兞死鋮s水的蒸氣壓,冰點顯著降低。其降低的程度在一定范圍內隨乙二醇的含量增加而下降。當乙二醇的含量為68%時,冰點可降低至-68℃,超過這個極限時,冰點反而要上升。乙二醇防凍液在使用中易生成酸性物質,對金屬有腐蝕作用。因此,應加入適量磷酸氫二鈉等以防腐蝕。乙二醇有毒,但由于其沸點高,不會產生蒸氣被人吸入體內而引起中毒。乙二醇的吸水性強,儲存的容器應密封,以防吸水后溢出。由于水的沸點比乙二醇低,使用中被蒸發的是水,當缺少冷卻液時,只要加入凈水就行了。這種防凍液用后能回收(防止混入石油產品),經過沉淀、過濾,加水調整濃度,補加防腐劑,還可繼續使用,一般可用3—5年。二甘醇—水防凍液
二甘醇—水防凍液,不宜揮發和著火,對金屬腐蝕性也較小,但二甘醇降低冰點的效果比乙二醇低,配制同一冰點的防凍液時,比乙二醇的用量大,同時熱傳導效率下降。有不少廠家為了降低成本,會將乙二醇和二甘醇混用。
甘油—水防凍液甘油—水防凍液,不宜揮發和著火,對金屬腐蝕性也小,但甘油降低冰點的效率低,配制同一冰點的防凍液時,比乙二醇、酒精的用量大。因此,這種防凍液用得較少。酒精一水防凍液
酒精的沸點是78.3℃,冰點是-114℃。酒清與水可任意比例混合,組成不同冰點的防凍液。酒精的含量越多,冰點越低。酒精是易燃品,當防凍液中的酒精含量達到40%以上時,就容易產生酒精蒸氣而著火。因此,防凍液中的酒精含量不宜超過40%,冰點限制在-30℃左右。酒精—水防凍液具有流動性好、散熱快、取材方便、配制簡單等優點。它的缺點是容易著火,酒精沸點低,蒸發損失大。酒精蒸發后,防凍液成分改變,冰點升高。在山區、高原地區行駛的汽車不宜使用酒精—水防凍液,因為酒精的蒸發損失大。一般地區行車應定期檢測酒精的含量,及時補充。
除防凍外,防凍液還具有以下幾種優點:
第一個是防腐蝕功能。發動機及其冷卻系統是金屬制造的,有銅、有鐵、有鋁、有鋼還有焊錫。這些金屬在高溫下與水接觸,時間長了都會遭到腐蝕,會生銹。而防凍液不僅不會對發動機冷卻系統造成腐蝕,還具有防腐和除銹功能。
第二個是防凍液的沸點高。水的沸點是100℃,優質防凍冷卻液的沸點通常在零上110℃,這樣在夏季使用,防凍冷卻液比水更難開鍋。
第三是防凍液可以防垢,用水作冷卻液最讓司機頭疼的就是水垢問題,水垢附著在水箱、水套的金屬表面,使散熱效果越來越差,而且清除起來也很困難。優質的防凍液采用蒸餾水制造,并加有防垢添加劑,不但不生水垢還具有除垢功能。當然,如果你的水箱水垢很厚,最好還是先用水箱清洗劑徹底清洗后再添加防凍液。
在水冷式發動機的冷卻水中添加防凍劑配制成的低冰點冷卻液體。當氣溫低于0℃時,使用防凍液可防止因冷卻水結冰而引起的冷卻系統故障和零件脹裂事故,還可免除收車后放水和出車前再加水等工作。
對防凍液性能的要求是:沸點和閃點高;比熱和傳導能力大,在低溫時粘度小,蒸汽壓不高,不易起泡;不致使冷卻系統金屬件腐蝕和橡膠軟管、密封墊變質。目前市場上防凍液產品情況:
目前在后市場防凍液主要是被各大機油企業占比最大,因為防凍液產品本身是石油鏈上的產物,同時,防凍液銷售渠道和油類產品也比較吻合,所以他們占了很大的基礎渠道。主要防凍液生產的企業有北京藍星為行業代表,然后是各大石油企業(美孚、殼牌、昆侖等),委托加工企業典型代表車仆,也是后市場渠道建設最為規范、價格比較高、渠道控制比較好的企業。
防凍液的目標客戶:專一做防凍液的代理商、油品及護理品代理商、全車件代理商、汽車水箱代理銷售商、汽車護理、保養、維修點。
第五篇:素描學習基礎知識
習繪圖者必看--素描基礎知識
造型基本因素
1、形體的點、線、面
我們所描繪的物體都是立體的,而最基本的形體是立方體、球形、柱體與椎體。素描寫生可從這四類形體出發,去研究主體構成的基本因素與形體塑造的關系
點 點表示位置,是形體塑造的標記,對于造型有著特定的數量意義。先看位置點,找出它的基點與頂點、右點、左點、近點和遠點,這些點規定著物體的整體范圍和個面之間的大小比例關系。再看轉折點,這些點如同交通樞紐,聯系著形體中的線與面。
線 線由點的定向運動產生。線條是點運動的延續,連接起點和終點的是線,任何一幅素描都是由無數的線組合而成。線是形體塑造的中堅,線有著無窮的魅力。
輔助線 是指在形體塑造的過程中所借助的假設線。這些線,有助于我們把握形體的動勢和形體的整體特征,有利于我們表現形體時能做到從整體到局部有序的進行。
輪廓線 輪廓線反映的是形體轉折部分。在繪畫過程中,輪廓線的表現要求由直線到曲線,有外輪廓到內輪廓,從而形成物體的立體框架。
面 無數點的組合或無數線排列后的效果,在視覺上形成了面,而面運動產生了體。在造型過程中,面可分為兩類,即直面與曲面。
直面 立方體在畫面上一般是以正面、側面、頂(底)三個面呈現。
曲面 球體借助于光線,在畫面上一般是以亮面、暗面、明暗交界線(面)、反光面和投影組合而成。
任何一種復雜的形體,都可以由立方體、球體體面關系去理解和分析。
2、比例與分割
比例是指物體間或物體各部分的大小、長短、高低、多少、窄寬、厚薄、面積風諸方面的比較。不同的比例關系形成不同的美感,觀察與表現比例關系有個較好的方法,如先抓住相比關系因素的兩極,再確定中間部分,依次分割下去,就可以確定出任何復雜的比例關系
3、特征與基本形
物體的形體特征,是指物象都有自己的特征,使之相互之間得到區別。我們要對形狀進行概括與歸納,形成了一個基本形的概念,如圓形:人臉、蘋果、罐子、太陽;方形:課桌、書籍、電視機、房子等,因此可以這樣說,抓住了基本形就基本抓住了形體的主要特征。
從形體總體出發,對物體的原形進行簡化,省去煩瑣的細枝末節,以形成簡單的幾何形狀。首先是抓住它的平面形,是方、是圓還是角;再看它的體積特征,屬于立方體、球體還是柱體。在具體作畫時,先目測高度,再目測寬度,最后作上、下的寬窄比較,就能把握住形體的基本特征。
4、轉折與輪廓
當構成物體的面發生方向上的變化,形體的面就出現了轉折。方形物體轉折明顯,稱為折,圓形物體轉折緩慢,稱為轉。一般的物體的邊緣可以看作是轉折,立方體外緣內的棱為轉折,叫內輪廓。球體內側的明暗交界可視為轉折,也屬于內輪廓。在造型過程中,當我們以線去體現形體的轉折處,即為輪廓線。根據形體轉折內外的部位,輪廓線可分為外輪廓線和內輪廓線。在作畫起稿過程中,應集中表現物體的輪廓,抓住輪廓的方法可采取由外到里的方法。
5、結構與構成
結構是指物體本身個部分組合和構造。物體都有內部和外部的構成因素和結構關系,個部分的互相連接穿插、重疊、相離等決定了物體的形體。在素描訓練中,對結構加進一些主觀成分和表現手法,反映在畫面上的形體結構,可看作一種構成。
6、透視與空間
一切物象占有一定的空間,物與物之間也存在著一定的空間距離。如畫者與寫生物的空間距離,被畫物體之間的空間距離,被畫物本身前后的空間距離,被畫主體與背景的空間距離。。在素描中,利用物體的透視變化產生距離感,表現空間的技法,其中最基本的方法是透視原理的運用。幾何透視法
幾何透視法產成與數學原理,是把幾何透視運用到繪畫藝術表現之中,是科學與藝術相結合的技法。它主要借助于遠大近小的透視現象表現物體的立體感。
平行透視 當立方體的六個面中,有一個面與畫者的位置呈平行狀態時,畫者所看到的是它面產生的透視變化。
平行透視
成角透視 當立方體的一個角正對畫者時,立方體所有的面都產生透視變化
成角透視
幾何透視法包括三個要素:視平線,一般是指畫者平視時與眼睛高度平行的假設線。視平線決定被畫物的透視斜度,被畫物高于視平線時,透視線向下斜,被畫物低于視平線時,透視線向上斜。心點,是指視覺中心。它位于畫者的核心部位。在平行透視中,一切透視線引向心點。距點,視點至心點的距離叫距點,如果把視距移至視平線上心點的兩側,所得的點為距點。
空氣透視法
空氣透視法是借助空氣對視覺產生的阻隔作用,表現繪畫中空間感的方法。它主要借助于近實遠虛的透視現象表現物體的空間感。其特點是產生形的虛實變化,色調的深淺變化,形的平面變化,形的繁簡變化。
7、明暗與調子
物體的形象在光的照射下,產生了明暗變化。光源一般有自然光、陽光、燈光(人造光)。由于光的照射角度不同,光源與物體的距離不同,物體的質地不同,物體面的傾斜方向不同,光源的性質不同,物體與畫者的距離不同等,都將產生明暗色調的不同感覺。在學習素描中,掌握物體明暗調子的基本規律是非常重要的,物體明暗調子的規律可歸納為“三面五調”
A:三面 物體在受光的照射后,呈現出不同的明暗,受光的一面叫亮面,側受光的一面叫灰面,背光的一面叫暗面。這就是三面。
B:五調 調子是指畫面不同明度的黑白層次。是體面所反映光的數量,也就是面的深淺程度。對調子的層次要善于歸納和概括,不同的素描調子體現的不同的個性、風格、愛好和觀念。在三大面中,根據受光的強弱不同,還有很多明顯的區別,形成了五個調子。除了亮面的亮調子,灰面的灰調和暗面的暗調之外,暗面由于環境的影響又出現了“反光”。另外在灰面與暗面的交界的地方,它既不受光源的照射,又不受反光的影響,因此擠出了一條最暗的面,叫“明暗交界”。這就是我們常說的“五大調子”。當然實際畫起來,不僅僅是這五的調子,還要更豐富。但在初學時,我們起碼要把這五種調子把握好。在畫面中樹立調子的整體感,即畫面黑、白、灰的關系,運用好這幾大調子來統一畫面,表現畫面的整體效果。
畫面構成
一張白紙無所謂空間,一旦畫上了筆觸,便破壞了紙面的完整與穩定,即出現畫面構圖分割現象。若是畫上一個物體,紙面就形成了空間,再畫上兩個以上的物體,就得考慮形體的組合方式。繪畫的基本訓練是培養大家如何把空間的物體轉移到平面的畫面上,解決畫面構成問題。
1、形體組合與畫面切割
同屬于繪畫的構圖問題,構圖是畫者根據表達的意圖與主題的需要,對畫面所進行的整體布局。在形體組合這個問題上,我們要注意:(1)不同位置的組合,(2)不同質的組合,(3)不同量的組合。
2、角度確定與空間序列
畫者與物體的角度主要有兩種,即平行透視和成角透視。畫面中造型因素均應按空間位置的變化而變化,為了使畫面中造型因素有條不紊,需要物體在特定的角度下形成明確的空間序列。
上面這幅作品由三個立方體構成,并以三角形的三個頂點作為三個立方體的這個整體形狀位置,從而形成了三角形的構圖。畫面圖示了三種切割變化形式。(1)框太長(2)框太大(3)框為宜
以上關于素描的基礎知識就講完了,希望大家能認真去體會,并能運用到之后的練習中。這樣會使大家事半功倍。
速度重要,方向更重要。
準備好必要的工具了嗎?下面我們將進入實質性的素描學習,先從練習線條開始,就象達芬奇當初畫雞蛋一樣,我們應該不用象他畫那么長時間,因為我們是21世紀的中國有為青年。