学通java的24堂课 源代码_学通Java的24堂课

1.JAVA_HOME只是为了保存安装路径,完全可以换成其他的,再使用%JAVA_HOME%引用,只不过第三方软件默认使用了JAVA_HOME

2.palette:调色板,又叫组件管理器

3.Jlabel只用于显示文字和图像,在界面设计器里其text属性是显示中文名字的;Variable显示当前的组件caption,也可以用英文设置。

4.单击窗体的标题栏选择整个窗体,其他部分只选择了内容面板;也可以在Structure里面直接选择相应的名字。

344a3f809bc0dbb744926deba412cdd6.png

c4542de41dc7f511e4070eaeadd3e991.png

5.引入和管理库最好的是添加用户库,然后在工程上右键选择构建路径--添加库。

6.在一个工程里引用另一个工程的类,则右键--构建路径--配置构建路径--库--添加类文件夹(选择的是bin,不是src);还可以添加依赖项目,这样是引入了所有的claa和相关jar。

d1233d3ba25bd0e34f6f1d1872563950.png

4868241f630ae394920fc8216c60a957.png

7.

1 importjava.util.Calendar;2 importjava.util.Date;3

4 public classTest1 {5

6 public static voidmain(String[] args) {7 //TODO Auto-generated method stub

8 Date date = newDate();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 packagea;2

3 importjava.util.Calendar;4 importjava.util.Date;5

6 public class TestT extendsDate{7

8 private static final long serialVersionUID = 8025524497773683396L;9 static Date date= null;10 public static voidmain(String[] args) {11 date = newTestT();12 System.out.println(date.toString());13 }14

15 @Override16 publicString toString(){17 Calendar calendar =Calendar.getInstance();18 calendar.setTime(newDate());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码转换器

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagea;2

3 importjava.awt.BorderLayout;4 importjava.awt.EventQueue;5

6 importjavax.swing.JFrame;7 importjavax.swing.JPanel;8 importjavax.swing.border.EmptyBorder;9 importjavax.swing.JToolBar;10 importjavax.swing.JTextField;11 importjavax.swing.JButton;12 importjava.awt.event.ActionListener;13 importjava.awt.event.ActionEvent;14 importjavax.swing.JLabel;15 importjava.awt.CardLayout;16 importjava.awt.FlowLayout;17 importjava.awt.event.MouseAdapter;18 importjava.awt.event.MouseEvent;19

20 public class Asc extendsJFrame {21

22 privateJPanel contentPane;23 privateJTextField textField;24 privateJTextField textField_1;25

26 /**

27 * Launch the application.28 */

29 public static voidmain(String[] args) {30 EventQueue.invokeLater(newRunnable() {31 public voidrun() {32 try{33 Asc frame = newAsc();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 publicAsc() {47 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);48 setBounds(100, 100, 450, 300);49 contentPane = newJPanel();50 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));51 contentPane.setLayout(new BorderLayout(0, 0));52 setContentPane(contentPane);53

54 JPanel panel = newJPanel();55 contentPane.add(panel, BorderLayout.NORTH);56

57 JLabel lblNewLabel = new JLabel("\u8F93\u5165\u5B57\u7B26\uFF1A");58 panel.add(lblNewLabel);59

60 textField = newJTextField();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(newMouseAdapter() {72 @Override73 public voidmouseClicked(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 = newJPanel();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 = newJTextField();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(newActionListener() {98 public voidactionPerformed(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(newMouseAdapter() {110 @Override111 public voidmouseClicked(MouseEvent arg0) {112 String ch =textField_1.getText();113 //char[] arr = ch.toCharArray();114 //不行因为,假如输入了89,那么arr[0]为8,arr[1]为9115 //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

dafc3db71f6ff5965b4b7be349463c88.png

9b25a13fb0d61da3b07887a020769c99.png

dc4caf44d5f7dfc36e34ff6115bc17c9.png

第二个界面是我做的,感觉没的一个做得好,视频上想换转换用的是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.统计汉字数目

d27529c579a4a2c5683032c099a333db.png

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;

}

0f96922496237b97689020af41d7c1c4.png

33.可以将接口看做是纯粹的抽象类,方法没有方法体。

abbfee47264f7a1703f127dfb4f306a4.png

34.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值