zoukankan      html  css  js  c++  java
  • 学通Java的24堂课

    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.

  • 相关阅读:
    第三次作业成绩
    现代程序设计 作业6
    动态期末成绩
    课堂作业成绩公布(游戏服务器以及客户端设计)
    第二次作业(homework-02)成绩公布
    指定长度,页面显示换行
    java学习流程
    对象比对
    开发语言转型
    Asp.Net 自定义储存Session方式
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2991646.html
Copyright © 2011-2022 走看看