【每天学一点】JAVASE02

  怎么说呢,今天又过去了,没有看英语,看了一天程序,不知怎么的,好累啊。zl来了,然后就开始配了下,JAVAweb服务器,会的东西还是太少了啊。想想时间过的真快呢……一天又过去了。
  


//today's code
package day20160616;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class hellotoday {
    public static void main(String[] args) {
//      GregorianCalendar cal=new GregorianCalendar();
//      System.out.println("hello "+cal.getTime());

//-------------泛型数组-------ArrayList<>----
        ArrayList<Employee> emp=new ArrayList<>(100);  //声明构造对象,100可以省略,确保有100个存储能力,实际可以超过
        //添加数据
        emp.add(new Employee("xiaoming", 15, 2000, 2016, 12, 1));
        emp.add(new Employee("xiaoli", 20, 5000, 2011, 12, 12));
        System.out.println(emp.size());  //返回2


        //访问数组列表元素
//      emp.set(0, emp.get(1));   //set(index,obj)对下标index的对象赋值obj,,get(index)获取下标index的对象
//      for(Employee e:emp)
//          System.out.println("name="+e.getName());

        //一些技巧
        Employee[] e=new Employee[emp.size()];
        emp.toArray(e);
        System.out.println(e[0].getSalary());  //通过数组访问各对象数据

        System.out.println(e[0].TotalSalary(e));

        //add(index,obj)
        emp.add(1, e[1]);    //让obj:e[1]下标为index:1,其他向后顺移
        for(Employee e1:emp)
            System.out.println(e1.getName());


        //装箱,拆箱:将基本数据类型装换成对象操作
        //Integer,Long,Double,Float,Short,Byte,Character,Void,Boolean
        ArrayList<Integer> i=new ArrayList<>();
        i.add(3);  //=i.add(Integer.valueOf(3));
        i.add(2);
        int n=i.get(1);   //自动转换拆箱
        System.out.println(n);


        //枚举
//      Scanner scan=new Scanner(System.in);
//      String input=scan.nextLine().toUpperCase();
//      Size s=Enum.valueOf(Size.class, input);  //将S设置为Size.input ,
//      Size l=Size.LARGE;
//      System.out.println("size="+s);
//      System.out.println("abb="+l.getAbb());  //输出l


        //class类
        Manage m=new Manage("asd", 13, 23, 123, 12, 2, 500);
        Person p=new Employee();
        //.getClass以新建的对象为准
        System.out.println(p.getClass()+" "+m.getClass()); //class day20160616.Employee class day20160616.Manage

        //处理异常
//      try{
//          
//      }catch(Exception e){
//          
//      }

        try{
            String name="day20160616.Employee";
            Class c1=Class.forName(name);
            System.out.println(c1.getName());

        }catch (Exception exc){
            exc.printStackTrace();
        }

        System.out.println("aaaa");


    }

}

//enum-
package day20160616;

public enum Size {
    SMALL("S"),LARGE("l");  
    private String Abb;
    private Size(String abb){
        this.Abb=abb;
    }
    public String getAbb(){   //返回输出
        return Abb;
    }

//----multithreads--
//-----ThreadDemo.java---
package day20160616MultiThreaded;

public class ThreadDemo {
    public static void main(String[] args) {
        ThreadTest tt1=new ThreadTest();
        ThreadTest tt2=new ThreadTest();
//      tt1.start();  //启动对象1线程
//      tt2.start();  //启动对象2线程 
//      //针对不是子类获取进程名称
        System.out.println(Thread.currentThread().getName());
        System.out.println(Thread.currentThread().getPriority());

        ThreadPriority tp1=new ThreadPriority();
        ThreadPriority tp2=new ThreadPriority();
        ThreadPriority tp3=new ThreadPriority();

        //--------获取优先级 -------默认优先级是5--------

        System.out.println(tp1.getPriority());
        System.out.println(tp2.getPriority());
        System.out.println(tp3.getPriority());

        //------设置优先级---范围1-10----10优先级最高,1最低---
        tp1.setPriority(10);
        tp2.setPriority(1);

//      tp1.start();
//      tp2.start();
//      tp3.start();

        //------------线程睡眠----------public static void sleep(long millis)---------
//      tt1.start();
//      tt2.start();

        //------------线程加入-------public final void join()-------
        tp1.setName("tp1");
        tp2.setName("tp2");
        tp3.setName("tp3");


        tp2.start();                       
        try {
            tp2.join();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        tp1.start();
        tp3.start();        //虽然tp2优先级低,但应用tp2.join()后,需要等tp2执行完后才执行其他进程    


    }

}

//----ThreadPriority----

package day20160616MultiThreaded;

public class ThreadPriority extends Thread {
    @Override
    public void run() {
        for (int i=0;i<50;i++){
            System.out.println(getName());
        }

    }


}

//---- ThreadTest ----
package day20160616MultiThreaded;

import java.util.Date;

//重写run()方法:不是所有方法都需要多线程执行。
//用run()包含需要多线程执行的方法

public class ThreadTest extends Thread {   //1.继承Thread类

    @Override
    public void run() {
        //一般来说被线程执行的代码需要是耗时的
        for(int i=0;i<50;i++){
            System.out.println(getName()+",日期 :"+new Date());  //获取线程名称

        //线程睡眠
        try {
            //1000ms
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 


        }

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习JavaSE可以通过以下几个步骤进行: 1. 了解JavaSE的基础知识:JavaSEJava的标准版,主要用于开发桌面应用程序。你可以开始学习JavaSE的基础语法、数据类型、控制流程等内容。可以参考\[3\]中提到的Java是一种跨平台、面向对象的高级程序设计语言,其语法和C++类似。 2. 学习JavaSE的核心概念:JavaSE包含了许多核心概念,如面向对象编程、异常处理、多线程等。你可以通过阅读相关的教程、书籍或参加培训课程来深入学习这些概念。 3. 实践编写JavaSE程序:学习JavaSE最好的方式是通过实践编写程序来加深理解。你可以尝试编写一些简单的JavaSE应用程序,如控制台程序、图形界面程序等。通过实践,你可以更好地理解JavaSE的各种特性和用法。 4. 参考JavaSE的官方文档和教程:JavaSE有详细的官方文档和教程,你可以参考官方文档来了解JavaSE的各种API和用法。此外,还可以参考一些优秀的JavaSE教程和书籍,如《Java核心技术》等。 总结起来,学习JavaSE需要掌握基础知识、核心概念,并通过实践编写程序来加深理解。同时,参考官方文档和教程可以帮助你更好地学习和应用JavaSE。 #### 引用[.reference_title] - *1* *2* *3* [教你如何正确学习JAVASE](https://blog.csdn.net/jsqzy/article/details/120726118)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值