2020/2/20学习笔记-day02

java-day2

早上

第一节课

回顾昨天的内容

JDK8在安装完后,它会会自己配置环境变量path
where java
echo %PATH%
可以把不需要的路径删掉
set可以临时设置环境变量
例如:
用一个路径[临时]把原来path的值给覆盖掉
set path=C:\Program Files\Java\jdk1.7.0_79\bin
echo %path%
在原来path配置上[临时]追加一个新的路径
set path=C:\Program Files \Java\jdk1.7.0_ 79\bin ;%path%
echo %path%
注意,当前命令窗口一旦关闭,这些临时设置变量就失效了
​
注意检查自己的操作系统中是否隐藏了已知文件的后缀名

第二节课

调用

1、java代码必须写在java文件中(后缀为.java)注意:是否隐藏后缀名
2、java文件的名字,要求首字母大写 例如:Hello.java(编程规范)
存放源代码的文件,称之为源文件
3、java源代码中,大多数情况都是以【类】为单位,去组织我们编写代码
4、在【类】中,就可以编写属性、方法、构造器等一系列代码
    4.1 需要在java源文件中,编写出类的基本结构有三部分
    关键字 类名 一对大括号
    注意:java代码中可能存在小括号、中括号、大括号
    4.2 如果java源文件中,编写的类是public那么这个雷达名字必须和java源文件的名字保持一致。【强制要求】
    4.3 类中的所有代码,必须存在大括号中
​
tab键自动补全

第三节课

5、使用java命令运行的是class文件中类,而不是class文件
    运行
​
6、JDK是向下兼容的
    高版本JDK编译出的class文件,使用低版本的的JDK【无法】运行
    低版本JDK编译出的class文件,使用高版本的的JDK【可以】运行
    
7、一个类如果想独立的运行起来,就是直接使用java命令去运行,那么这个类中一定要有一个程序入口,就是一个名字叫做main的固定格式的方法
    7.1 普通类
        这个类没有程序入口,不能独立运行,这种类作用是让别人调用的
    7.2 可以独立运行的类
        类中有程序入口,可以使用java命令直接去运行这个类,同时也可以让别人调用
        可以独立运行的类 = 普通类 + 程序入口
    7.3 程序入口
        在java中名字叫main的固定方法
        public static void main(String[] args)
        一个系统中代码再多也得有一个起点让程序从这里开始运行,这个起点称之为程序入口
        注意:java命令只能运行有程序入口的类,没有程序入口就会报错
8、类中的代码编写
    一定要注意格式,不能把所有代码都顶满格从最左边开始写,用tab来体现代码的层次
public class Hello{
	
	public static void main(String[] args) {
		
		System.out.printf("hello");
	}

} 

下午

第一节课

快捷键

windows+r 打开cmd
windows+e 打开文件夹
windows+d 回到桌面

java -verbose Hello   查看具体操作流程
​​​​​​​
[Opened C:\Program Files\Java\jdk1.8.0_74\jre\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jdk1.8.0_74\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jdk1.8.0_74\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jdk1.8.0_74\jre\lib\rt.jar]
   ............
[Loaded java.lang.Shutdown from C:\Program Files\Java\jdk1.8.0_74\jre\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from C:\Program Files\Java\jdk1.8.0_74\jre\lib\rt.jar]

第二节课​​​​​​​

8.类中的代码编写
    一定要注意格式,不能把所以代码都顶满格从最左边开始写,需要使用tab键来体现出代码中的层次关系,这样可以提供代码的可读性,将来这个代码也方便维护。
    注意:每次编写或者修改完java文件之后,都必须要重写编译java文件,保证接下来我们运行的是最新生成的class文件中的java类。
    
9.在javg代码中,如果我们要是有别人已经写好类(代码),那么我们需要使用import关键字来引入这个类,目的是为了告诉JVM,我们要使用别人写好的这个类了,你帮我把这个类加载过来,供我们来调用。
    9.1 这个类是java.lang包下的类
    例如:java.lang包中的System这个类,我们在代码中可以直接使用,不需要import导入
    
    9.2这个类和我们当前所写的类是同一个包
    例如: A和B类这俩个类是在同一一个包下,那么A中使用B类、或者B类中使用A类,都不需要import导入。
    
    9.3除以上俩种情况外,其他的情况,只要是使用了别人的类,那么都需要import引入,来通知JVM

第三节课

打包 jar -cvf abc.jar -C xxx.

用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项:
    -c  创建新档案
    -t  列出档案目录
    -x  从档案中提取指定的 (或所有) 文件
    -u  更新现有档案
    -v  在标准输出中生成详细输出
    -f  指定档案文件名
    -m  包含指定清单文件中的清单信息
    -n  创建新档案后执行 Pack200 规范化
    -e  为捆绑到可执行 jar 文件的独立应用程序
        指定应用程序入口点
    -0  仅存储; 不使用任何 ZIP 压缩
    -P  保留文件名中的前导 '/' (绝对路径) 和 ".." (父目录) 组件
    -M  不创建条目的清单文件
    -i  为指定的 jar 文件生成索引信息
    -C  更改为指定的目录并包含以下文件
如果任何文件为目录, 则对其进行递归处理。
清单文件名, 档案文件名和入口点名称的指定顺序
与 'm', 'f' 和 'e' 标记的指定顺序相同。
​
示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中:
       jar cvf classes.jar Foo.class Bar.class
示例 2: 使用现有的清单文件 'mymanifest' 并
           将 foo/ 目录中的所有文件归档到 'classes.jar' 中:
       jar cvfm classes.jar mymanifest -C foo/ .
​

Person类

public class Person{
    public static void main(String [] args){
        Hello.say();
    }
    
}

Hello类

public class Hello{
​
    public static void say(){
    
        System.out.printf("Hello");
    }
​
}
​

将Hello.class导成包,然后删除.class文件,临时更改classpath然后通过调用jar包内Hello类运行

​​​​​​​

发布了82 篇原创文章 · 获赞 52 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/iostream992/article/details/104406765
今日推荐