完整版java基础jar包程序.docx

上传人:b****8 文档编号:10335497 上传时间:2023-02-10 格式:DOCX 页数:12 大小:17.66KB
下载 相关 举报
完整版java基础jar包程序.docx_第1页
第1页 / 共12页
完整版java基础jar包程序.docx_第2页
第2页 / 共12页
完整版java基础jar包程序.docx_第3页
第3页 / 共12页
完整版java基础jar包程序.docx_第4页
第4页 / 共12页
完整版java基础jar包程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

完整版java基础jar包程序.docx

《完整版java基础jar包程序.docx》由会员分享,可在线阅读,更多相关《完整版java基础jar包程序.docx(12页珍藏版)》请在冰豆网上搜索。

完整版java基础jar包程序.docx

完整版java基础jar包程序

/*

包:

java中的包就相当于windows文件夹。

包的作用:

1.解决类名重复产生冲突的问题。

2.便于软件版本的发布。

定义包的格式:

package包名;

包名命名规范:

包名全部小写。

包语句要注意的事项:

1.package语句必须位于java文件中中第一个语句。

2.如果一个类加上了包语句,那么该类的完整类名就是:

包名.类名

3.一个java文件只能有一个包语句。

问题:

每次编译的时候都需要自己创建一个文件夹,把对应的class文件存储到文件夹中。

烦!

javac-d指定类文件的存放路径java源文件

*/

packageaa;

classDemo1

{

publicstaticvoidmain(String[]args)

{

System.out.println("这个是Demo1的main方法...");

}

}

packagebb;

classDemo1

{

publicstaticvoidmain(String[]args)

{

System.out.println("这个是Demo2main方法..");

}

}

/*

有了包之后类与类之间的访问:

问题:

有了包之后类与类之间的访问每次都必须要写上包名!

烦!

解决方案:

sum提供导包语句让我们解决该问题。

导包语句作用:

简化书写。

(误区:

把一个类导入到内存中)

导包语句的格式:

import包名.类名;(导入xxx包中某个类)

导包语句要注意的细节:

1.一个java文件中可以出现多句导包语句。

2."*"是导包语句的通配符。

可以匹配任何的类名。

3.importaa.*;是不会作用于aa包下面的子包的。

推荐使用:

import包名.类名;因为使用*通配符会导致结构不清晰。

什么时候使用import语句:

1.相互访问的两个类不是在同一个包下面,这时候就需要使用到导包语句。

2.java.lang是默认导入的,不需要我们自己导入。

*/

packageaa;

publicclassDemo3

{

/*

static{

System.out.println("这个是Dmeo3的静态代码块...");

}

*/

publicvoidprint(){

System.out.println("这个是Dmeo3的print方法...");

}

}

packagebb;

importaa.Demo3;

importjava.util.Arrays;

classDemo4

{

publicstaticvoidmain(String[]args)

{

int[]arr={1,234,2};

Arrays.sort(arr);

Objecto=newObject();

Demo3d=newDemo3();

d.print();

/*

Demo5d2=newDemo5();

d2.test();

*/

}

}

packageaa;

publicclassDemo5

{

static{

System.out.println("这个是Dmeo5的静态代码块...");

}

publicvoidtest(){

System.out.println("这个是Demo5的test方法...");

}

}

/*

权限修饰符:

权限修饰符就是控制被修饰的成员的范围可见性。

public(公共)protected(受保护)default(缺省)private(大到小)

同一个类truetruetruetrue

同一个包truetruetruefalse

子父类truetruefalsefalse

不同包truefalsefalsefalse

注意:

在不同包下面只有public与protected可以访问,而且protected必须是在继承关系下才能够访问。

*/

packageaa;

publicclassDemo7

{

protectedinti=10;

}

packagebb;

importaa.Demo7;

classDemo8

{

publicstaticvoidmain(String[]args)

{

Demo7d=newDemo7();

System.out.println("i="+d.i);

}

}

/*

打jar包:

需要使用到jdk的开发工具(jar.exe).

jar的用法:

使用格式:

jarcvfjar文件的名字class文件或者是文件夹

打jar包要注意的事项:

1.一个程序打完了jar之后必须要在清单文件上指定入口类:

格式Main-Class:

包名.类名

2.jar包双击运行仅对于图形化界面的程序起作用,对控制台的程序不起作用。

jar文件的作用:

1.方便用户快速运行一个项目。

2.提供工具类以jar包的形式给别人使用。

如果使用jar包里面的类必须要先设置classpath路径。

jre=jvm+核心类库

*/

packageqq;

importjavax.swing.*;

classDemo9

{

publicstaticvoidmain(String[]args)

{

System.out.println("QQ程序..");

JFrameframe=newJFrame("QQ程序");

frame.setSize(400,500);

frame.setVisible(true);//设置窗口可见。

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

importmyutil.MyArrays;

classDemo10

{

publicstaticvoidmain(String[]args)

{

int[]arr={5,1,3,6};

System.out.println(MyArrays.toString(arr));

}

}

/*

模板模式:

解决某类事情的步骤有些是固定的,有些是会发生变化的,那么这时候我们可以

为这类事情提供一个模板代码,从而提高效率。

需求;编写一个计算程序运行时间的模板。

模板模式的步骤:

1.先写出解决该类事情其中的一件的解决方案。

2.分析代码,把会发生变化的代码抽取出来独立成一个方法。

把该方法描述成一个抽象的方法。

3.使用final修饰模板方法,防止别人重写你的模板方法。

*/

abstractclassMyRuntime{

publicfinalvoidgetTime(){

longstartTime=System.currentTimeMillis();//记录开始的时间

code();

longendTime=System.currentTimeMillis();//记录结束的时间.

System.out.println("运行时间:

"+(endTime-startTime));

}

publicabstractvoidcode();

}

classDemo11extendsMyRuntime

{

publicstaticvoidmain(String[]args)

{

Demo11d=newDemo11();

d.getTime();

}

//code方法内部就写要计算运行时间的代码;

publicvoidcode(){

inti=0;

while(i<100){

System.out.println("i="+i);

i++;

}

}

}

/*

11.目前有数组”int[]arr={11,2,4,2,10,11},

定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的元素而且数组不准浪费长度。

分析:

1.确定新数组的长度。

原数组的长度-重复元素个数

*/

importjava.util.*;

classDemo12{

publicstaticvoidmain(String[]args)

{

int[]arr={11,2,4,2,10,11};

arr=clearRepeat(arr);

System.out.println("清除重复元素的数组:

"+Arrays.toString(arr));

}

publicstaticint[]clearRepeat(int[]arr){

//先计算出重复元素的格式:

intcount=0;//记录重复元素的个数

for(inti=0;i

for(intj=i+1;j

if(arr[i]==arr[j]){

count++;

break;

}

}

}

//新数组的长度

intnewLength=arr.length-count;

//创建一个新的数组

int[]newArr=newint[newLength];

intindex=0;//新数组的索引值

//遍历旧数组

for(inti=0;i

inttemp=arr[i];//旧数组中的元素

booleanflag=false;//默认不是重复元素

//拿着旧数组的元素与新数组的每个元素比较一次。

for(intj=0;j

if(temp==newArr[j]){

flag=true;

break;

}

}

if(flag==false){

newArr[index++]=temp;

}

}

returnnewArr;

}

}

classUser{

StringuserName;

Stringpassword;

}

classDemo13

{

publicstaticvoidmain(String[]args)

{

Scannerscanner=newScanner(System.in);

User[]users=newUser[10];

while(true){

System.out.println("请选择功能:

A(注册)B(查看用户)");

Stringoption=scanner.next();

if(option.equals("A")){

System.out.println("请输入用户名:

");

StringuserName=scanner.next();

System.out.println("请输入密码:

");

Stringpassword=scanner.next();

}elseif(option.equals("B")){

}

}

}

}

packagemyutil;

publicclassMyArrays

{

publicstaticStringtoString(int[]arr){

Stringresult="";

for(inti=0;i

if(i==0){

result+="["+arr[i]+",";

}elseif(i==arr.length-1){

result+=arr[i]+"]";

}else{

result+=arr[i]+",";

}

}

returnresult;

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1