zoukankan      html  css  js  c++  java
  • 第一天,Java_Day01

    软件的定义:
    一系列按照特定顺序组织的计算机数据和指令的集合

    软件的交互方式:
    1.图形化界面 GUI;
    2.命令行方式 CLI;

    Java语言特性:跨平台性;
    java文件在jvm下是跨平台,但JVM不是跨平台

    JRE:jvm+java程序所需的核心类库
    JDK:JRE+java的开发工具

    jdk安装文件夹最重要的文件夹名:bin(binary:二进制)包含jdk给我们的开发工具
    bin文件下的javac.exe一闪而过的原因是:它不是属于图形化界面程序,而是一个命令行界面程序,windows下需要DOS进行打开。

    DOS命令行,课程中常见的命令
    dir:列出当前目录下的文件以及文件夹
    md:创建目录 (make directory)
    rd:删除目录
    cd:进入指定目录 cd jdk*(正则表达式表明以jdk开头的文件都选中打开)
    cd..:退回到上一级目录
    cd:退回到根目录
    del:删除文件 del *;del *.*;del *.txt(*为通配符);
    exit:退出dos命令行;
    help: 帮助命令;若想知道某个指令的详细用法,例如cd,可以这样写:help cd

    执行JAVA程序的两个步骤:(1)java源文件(程序员编写的*.java文件)----使用javac编译生成*.class文件(字节码文件)--- 使用java命令解释执行---生成特定平台的机器码--成功运行

    环境变量:环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等

    Java -vresion:查询本机的java jre版本号,注:一台机可能会装有多个java版本
    因此可以使用 javac -version (版本号)进行指定版本编译

    cmd.exe状态下输入help,SET指令可以查看环境变量 set path

    Path环境变量临时设置:在cmd下设置的path只会在当前窗体进行设置,关闭cmd后path的值不会更改,所以仅仅只有当前的cmd有效,所以可以作为环境变量的临时配置方式。
    临时环境变量,动态获取当前环境变量,并在后边添加,而不是重写:set path = e:123in;%path%(这样写能有效获取之前path的值):这种写法的目的是为了可以动态加载不同版本的jdk或者mysql的程序,最好是吧动态加载的放在%path%前面,这样可以使让系统忽略后面名字相同的软件名,只执行前面那个标记的

    注意:类名与文件名必须一致,不然javac编译报错

    main(String[] args)中的String[] args什么意思
    这是主类中的主方法的形式参数 ,是一个String 对象数组,用来保存java 应用程序后所带的参数,如同DOS命令中后面所带的参数。
    如编写一个JAVA程序程序用来把一个位置文件复制到另一个位置,编译后程序名为copyfile.class ,将C:a1.txt复制到D:下,文件名改为 b.txt,则在命令行解释执行:
    java copyfile C:a1.txt D:.txt,注意这四个部分之间有空格,则两个参数字符串就存在数组args中,可以在程序中访问它们。

    main()方法是入口,能保证该类的独立运行。


    public class helloworld{
    public static void main(String[] args){
    System.out.println("Hello World!");
    for(String s : args){
    System.out.println(s);
    }
    }}

    cmd执行:javac helloworld.java
    java helloworld 1.7988p 29ioy(Java执行的就是类的名字)
    cmd输出:hello world!
    1.7988p
    29ioy

    编写程序一个重要的点就是:阅读性是第一位(能让别人与自己都能看懂,才能进行维护与修改),功能性是第二位。

    系统的环境变量设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包

    例如,我有一个helloworld类在C:123文件夹中,

    此时我进入cmd是发现我进入了C:user文件夹,

    但我不想更改当前文件夹的路径,此时设置环境变量path是不行的,因为path只认识*.exe等执行文件,不会搜索执行编译好的*.class文件

    所以我们可以临时设置 set classpath=C:123;%path%,此时,在user文件夹路径下执行java helloworld,不会报错,因为jvm会优先搜索classpath的路径。

    若不设置classpath,jvm会在当前路径进行类的查找,有classpath(并且每一个路径后都加上";"分号,不加分号只会在指定的classpath中去找,有分号的话classpath找不到会到当前目录下去找)的会优先搜索classpath,再到当前文件夹中找。其实为了避免同名class的执行与自身预想不符,应该在临时设置classpath时不用添加";",这样目标才会明确。但如果只想寻找指定目录与当前目录可以这样去写:set classpath=.;c:myclass      (记得后面不要加分号,这样写会变得明确路径)

    Java中,类名与文件名需要相同吗?
    如果一个编译单元(文件)中含有public的类,则文件名必须与类名一致,如果没有public类,则文件可以随意命名。一个文件中,public的类可以有零个或一个,非public的类可以有零个或多个。其实写public会把类的权限提升了,保证文件名与类名内外一致性,这是java所倡导的。

    文件名:123.java

    内容:

    class Demo
    {
    public static void main(String[] args)
    {
    System.out.println("hello E盘");
    }
    }

    cmd.exe下输入javac 123.java 会生成Demo.class

  • 相关阅读:
    Qt生成随机数
    Qt调用系统DLL,判断网络连接状态
    Qt操作sqlite数据库
    Qt 操作注册表
    vs报错:RC1004 unexpected end of file found
    Qt操作ini文件
    Django Admin:自动选择当前用户
    BSTR转QString
    vue-cli4,vue3打包后页面无内容
    Qt 5.12.10 国际化
  • 原文地址:https://www.cnblogs.com/canceler/p/4570505.html
Copyright © 2011-2022 走看看