1.JAVA_HOME隻是為了儲存安裝路徑,完全可以換成其他的,再使用%JAVA_HOME%引用,隻不過第三方軟體預設使用了JAVA_HOME
2.palette:調色闆,又叫元件管理器
3.Jlabel隻用于顯示文字和圖像,在界面設計器裡其text屬性是顯示中文名字的;Variable顯示目前的元件caption,也可以用英文設定。
4.單擊窗體的标題欄選擇整個窗體,其他部分隻選擇了内容面闆;也可以在Structure裡面直接選擇相應的名字。
5.引入和管理庫最好的是添加使用者庫,然後在工程上右鍵選擇建構路徑--添加庫。
6.在一個工程裡引用另一個工程的類,則右鍵--建構路徑--配置建構路徑--庫--添加類檔案夾(選擇的是bin,不是src);還可以添加依賴項目,這樣是引入了所有的claa和相關jar。
7.1 import java.util.Calendar;
2 import java.util.Date;
3
4 public class Test1 {
5
6 public static void main(String[] args) {
7 // TODO Auto-generated method stub
8 Date date = new Date();
9 Calendar cal = Calendar.getInstance();
10 cal.setTime(date);
11 int c = cal.get(Calendar.DAY_OF_WEEK);
12 if(Calendar.MONDAY == c) {
13 System.out.println("星期一");
14 }else {
15 System.out.println("非星期一");
16 }
17 System.out.println(date);
18 }
19 }
8.重寫Date類的toString
1 package a;
2
3 import java.util.Calendar;
4 import java.util.Date;
5
6 public class TestT extends Date{
7
8 private static final long serialVersionUID = 8025524497773683396L;
9 static Date date= null;
10 public static void main(String[] args) {
11 date = new TestT();
12 System.out.println(date.toString());
13 }
14
15 @Override
16 public String toString(){
17 Calendar calendar = Calendar.getInstance();
18 calendar.setTime(new Date());
19 int day = calendar.get(Calendar.DAY_OF_WEEK);
20 String weekDay = "";
21 if(day==Calendar.SUNDAY){
22 weekDay = "星期天";
23 }else if(day==Calendar.SATURDAY){
24 weekDay = "星期六";
25 }
26 /*
27 * 因為要傳回String類型,而Calendar.get傳回的是int,我原來把其強轉為String結果CE了,使用下面的方式就行了
28 * 另外calendar.get(Calendar.MONTH)傳回的月份貌似少了一
29 */
30 return calendar.get(Calendar.YEAR)+":"+(calendar.get(Calendar.MONTH)+1) + ":" + calendar.get(Calendar.DAY_OF_MONTH) + ":" + weekDay;
31 }
32 }
9.提示框使用JOptionpane相關方法。
10.在Eclipse裡隻要儲存後那麼就自動生成了對應的class檔案。
11.字母數字下劃線或者$但不能以數字開頭,不能有空格;是以user_name對,user name錯。
12.全局變量又稱為成員變量;局部變量可以和全局變量同名,此時全被屏蔽,不過可以使用this通路。
13.Arrays有靜态方法fill(數組名,start,end,值),中間的兩個參數可以不要;
14.當局部變量和成員變量同名時使用this通路成員變量。
15.import static java.lang.System.out;使用時直接out.println();提防含糊不清的命名static成員。例如,如果你對Integer類和Long類執行了靜态導入,引用MAX_VALUE将導緻一個編譯器錯誤,因為Integer
和Long都有一個MAX_VALUE常量,并且Java不會知道你在引用哪個MAX_VALUE。 你可以在static對象引用、常量(記住,它們是static 或final)和static方法上進行靜态導入。
16.static塊在類加載時執行且僅執行一次,調用構造方法時先執行static塊,不過再次調用就不執行了,一般用于初始化工作;主類裡邊main方法執行前也先要執行該靜态代碼塊。
17.字元ASCII碼轉換器
1 package a;
2
3 import java.awt.BorderLayout;
4 import java.awt.EventQueue;
5
6 import javax.swing.JFrame;
7 import javax.swing.JPanel;
8 import javax.swing.border.EmptyBorder;
9 import javax.swing.JToolBar;
10 import javax.swing.JTextField;
11 import javax.swing.JButton;
12 import java.awt.event.ActionListener;
13 import java.awt.event.ActionEvent;
14 import javax.swing.JLabel;
15 import java.awt.CardLayout;
16 import java.awt.FlowLayout;
17 import java.awt.event.MouseAdapter;
18 import java.awt.event.MouseEvent;
19
20 public class Asc extends JFrame {
21
22 private JPanel contentPane;
23 private JTextField textField;
24 private JTextField textField_1;
25
26 /**
27 * Launch the application.
28 */
29 public static void main(String[] args) {
30 EventQueue.invokeLater(new Runnable() {
31 public void run() {
32 try {
33 Asc frame = new Asc();
34 frame.setTitle("字元ASCII碼轉換器");
35 frame.setVisible(true);
36 } catch (Exception e) {
37 e.printStackTrace();
38 }
39 }
40 });
41 }
42
43 /**
44 * Create the frame.
45 */
46 public Asc() {
47 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
48 setBounds(100, 100, 450, 300);
49 contentPane = new JPanel();
50 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
51 contentPane.setLayout(new BorderLayout(0, 0));
52 setContentPane(contentPane);
53
54 JPanel panel = new JPanel();
55 contentPane.add(panel, BorderLayout.NORTH);
56
57 JLabel lblNewLabel = new JLabel("\u8F93\u5165\u5B57\u7B26\uFF1A");
58 panel.add(lblNewLabel);
59
60 textField = new JTextField();
61 panel.add(textField);
62 textField.setColumns(10);
63
64 final JLabel lblNewLabel_2 = new JLabel("\u663E\u793A\u7ED3\u679C:");
65 panel.add(lblNewLabel_2);
66
67 final JLabel lblNewLabel_3 = new JLabel("");
68 panel.add(lblNewLabel_3);
69
70 JButton btnNewButton = new JButton("\u8F6C\u6362");
71 btnNewButton.addMouseListener(new MouseAdapter() {
72 @Override
73 public void mouseClicked(MouseEvent arg0) {
74 String ascii = textField.getText();
75 // 傳回 char 數組的給定索引上的代碼點。
76 //字元串不能直接轉換為char
77 char[] arr = ascii.toCharArray();
78 int i = (int)arr[0];
79 lblNewLabel_3.setText(""+i);
80 }
81 });
82 panel.add(btnNewButton);
83
84 JPanel panel_1 = new JPanel();
85 contentPane.add(panel_1, BorderLayout.CENTER);
86 panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
87
88 final JLabel lblNewLabel_1 = new JLabel("\u8F93\u5165\u6570\u5B57\uFF1A");
89 panel_1.add(lblNewLabel_1);
90
91 textField_1 = new JTextField();
92 panel_1.add(textField_1);
93 textField_1.setColumns(10);
94
95 JButton btnNewButton_1 = new JButton("\u8F6C\u6362");
96
97 btnNewButton_1.addActionListener(new ActionListener() {
98 public void actionPerformed(ActionEvent arg0) {
99
100 }
101 });
102
103 JLabel lblNewLabel_4 = new JLabel("\u663E\u793A\u7ED3\u679C:");
104 panel_1.add(lblNewLabel_4);
105
106 final JLabel lblNewLabel_5 = new JLabel("");
107 panel_1.add(lblNewLabel_5);
108 panel_1.add(btnNewButton_1);
109 btnNewButton_1.addMouseListener(new MouseAdapter() {
110 @Override
111 public void mouseClicked(MouseEvent arg0) {
112 String ch = textField_1.getText();
113 // char[] arr = ch.toCharArray();
114 //不行因為,假如輸入了89,那麼arr[0]為8,arr[1]為9
115 // System.out.println(arr[0]);
116 // lblNewLabel_5.setText(""+(char)arr[0]);
117 int i = Integer.parseInt(ch);
118 lblNewLabel_5.setText(""+(char)i);
119
120 }
121 });
122 }
123
124 }
View Code
第二個界面是我做的,感覺沒的一個做得好,視訊上想換轉換用的是Character類裡的方法。我主要用了toCharArray和Integer.parseInt方法。
18.JButton和Button的差別:Button是在java.awt.*中的JButton是在javax.swing.*中的swing類是awt的一個擴充,它是由純JAVA語言編寫的,它有一個與平台無關的實作,而且具有一個藝術狀态的屬性集。
19.參數順序不同但是參數類型順序相同的話,不構成重載;參數順序不同 且 參數類型順序不同的話,也構成重載。在子類中擴充一個與父類同名不同參數的方法不叫重寫,應該叫重載;不過也有人不同意,認為這樣寫能表達出所謂“重載”的意思,但是按照重載概念(重載是在同一個類中多态性的表現),似乎不符合。可以更深層的了解為,子類隻是擁有了父類的這個方法(功能),而不是自己建立的功能
20.Java是強類型語言,也就是說使用之前需要先定義類型。最大值最小值分别通過包裝類的MAX_VALUE和MIN_VALUE通路。
21.可以在靜态代碼塊裡記錄該類有多少個執行個體對象。
22.Integer方法
toBinaryString(int i) 以二進制(基數 2)無符号整數形式傳回一個整數參數的字元串表示形式。 static String toHexString(int i) 以十六進制(基數 16)無符号整數形式傳回一個整數參數的字元串表示形式。 static String toOctalString(int i) 以八進制(基數 8)無符号整數形式傳回一個整數參數的字元串表示形式。
23.String類的常用方法:length,indexOf,lastIndexOf,charAt,trim,substring,split,replace,toUpperCase和toLowerCase,startsWith和endsWith方法。
24.反轉字元串:從最後再charAt逐個拼接(newStr="")。
25.String執行個體的toCharArray和split("")一樣功能。
26.比較字元串内容equals或者equalsIgnoreCase;compareTo方法按字典序比較兩個字元串。
27.使用DateFormat類來指定輸出不同國家的日期。
28.統計漢字數目
29.textfield隻有一行可寫,textarea是一個區域,可以有很多行 ,都采用getText擷取内容。
30.split方法可以限定拆分次數,比如“123,456,789”,若是直接split(",")則輸出123,456,789;若是split(",",2),則輸出123,"456,789"。
31.instanceOf操作符判斷對象類型,防止ClassCastException。
32.java語言中任何一個類都是object的子類。
//equals方法原型
public boolean equals(Object obj) {
return this==obj;
}
33.可以将接口看做是純粹的抽象類,方法沒有方法體。
34.
作者:火星十一郎
本文版權歸作者火星十一郎所有,歡迎轉載和商用,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利.