Java学习2:环境变量配置,编写规则及代码解释

环境变量path

修改完环境变量之后,DOS命令窗口必须关闭重新打开才会起作用。
配置环境变量path的步骤:
桌面计算机上右键-->属性-->高级系统设置-->环境变量
怎么修改path环境变量?
找到path,鼠标双击。
path环境变量当中都是路径,路径和路径之间必须采用英文输入模式下的分号分隔。
修改环境变量时,一定要把路径确定好。
注意:环境变量包括“系统变量”和“用户变量”
系统变量:范围比较大,系统变量会让计算机所有用户都起作用。
用户变量:范围比较小,这个变量知识作用于当前用户。
如何查看编译器版本:在DOS命令窗口中输入“javac -version”
path环境变量的作用说就是给windows操作系统指路的。告诉Windows操作系统到哪里去找这个命令文件。

如何使用javac命令编译

语法格式:javac java源文件的路径
直接把源文件拖入DOS命令窗口,那么在DOS命令窗口中就有这个路径了。
或者在你的存放.java文件的位置,点击路径直接输入cmd然后敲回车 直接进入DOS命令窗口 而且就在当前路径。
这样就可以在存放源文件的目录下生成.class文件,这样就编译完成了。

如何使用java命令运行

运行的前提是:class文件(字节码)生成了。没有字节码文件是无法运行的。
语法格式:java 类名(什么叫类名,请看前一天笔记,没有后缀的.class,切记)
同样是在DOS命令窗口下完成命令。
运行java程序的步骤
第一步:先使用cd命令切换到xxx.class文件所在的路径。
第二步:执行java xxx
win10运行输出结果是乱码的,在运行前输入chcp 65001,这样就可以了。

JAVA_HOME环境变量

对于java的JDK所属的环境变量,有一个叫做:JAVA_HOME
目前我们不需要JAVA_HOME环境变量,不配置这个环境变量也不会影响当前java程序的运行。但是后期学习到JavaWEB的时候需要安装Tomcat服务器,那个时候JAVA_HOME就必须配置了。

“java HelloWorld”的执行过程及原理

在DOS命令窗口指定的路径上,敲完“java HelloWorld”后,敲完回车都发生了什么?
第一步:会先启动JVM(Java虚拟机)
第二步:JVM启动后,JVM会去启动“类加载器classoader”
类加载器的作用:加载类的。本质上类加载器负责去硬盘上找“类”对应的“字节码”文件。
第三步:类加载器如果在硬盘上找不到对应的字节码文件,会报错,错误:找不到或无法加载主类
类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码文件装在到JVM当中,JVM启动“解释器”将字节码解释为二进制码,操作系统执行二进制码和硬件交互。
默认情况下,类加载器(classorder)去硬盘上找“字节码”文件的时候,默认从当前路径下找。
当然了,当然了,裤衩着火--裆燃了。
我们也可以给类加载器指定一个路径,让类加载器去指定的路径下加载字节码文件。但是我们需要设置一个环境变量,叫做classpath。

classpath环境变量

classpath环境变量不属于windows操作系统,classpath环境变量隶属于java。
classpath环境变量是java特有的。
classpath环境变量是给类加载器指路的。
classpath=A路径;B路径;C路径;...(其中classpath是变量名,等号右边是变量值)
配置classpath环境变量需要新建,因为这个环境变量在windows中没有。
计算机-->右键-->属性-->高级系统设置-->环境变量-->新建
注意:变量名不能随意写,大小写无所谓,但必须叫做:classpath
新建完成后一定要记得重启DOS命令窗口!!
配置完classpath环境变量后,类加载器就会在classpath配置的路径下找字节码文件,而不是在当前路径下。
所以说,到目前为止,现在的我们不需要去配置classpath环境变量。但是,必须要理解classpath环境变量是干什么的。

高版本JDK的新特性(了解即可)

在高版本的JDK当中,有这样一个新特性,可以直接这样一步到位。
java 直接加.java源文件的路径
这个特性是为了简化开发而提出,但实际上底层的实现原理还是和以前一样的,以上命执行过程中,还是会先进行编译,然后在运行,并且以上的运行方式,比那一生成的class文件在硬盘上不存在,看不到。

Java中的注释

注释是对java代码的解释说明。
注释只存在于java源文件中,java源文件编译生成的字节码class文件是没有这些注释信息的。
注释可以帮程序员更好的理解程序。
在实际的开发中,一般项目组都积极要求编写注释,这也是一个java软件工程师的基本素养。
注释不是写的越多越好,精简,主线清晰,每个注释都应该是点睛之笔。
java中的注释有三种写法
第一种 单行注释

//这种注释属于单行注释,只注释两个斜杠后面的

第二种 多行注释

/*
  在这里可以编写多行注释
  这是一行注释
  这是又一行注释
*/

第三种 javadoc注释(这种注释信息,可以自动被javadoc.exe命令识别出注释信息,解析体取并生成到帮助文档当中)

/**
*注释信息
*@version 版本1.0
*@author 苦难 wb
*...
*/

对第一个编写的java程序(HelloWorld)进行解释

在Java中任何有效的代码必须写到“类体”当中,最外层必须是一个类的定义。(包的声明需要写在类的外面,在此先不说)
public表示公开的,class表示定义一个类,HelloWorld是一个类名,类匿名后面必须是一对大括号,这一对大括号被称为“类体”。
括号必须是成对的。并且,建议都要成对编写,这样才不会丢掉。
那什么时候代码缩进呢?
我包着你,你就比我低一级,你就需要缩进。
没有合理的缩进,代码的可读性很差。或者说大括号里的都要缩进。
缩进不缩进不影响编译,但是影响可读性。
shift+tab可以缩进。

public class HelloWorld{                 //声明/定义一个公开的类,起个名字叫HelloWorld
//整个这一块的代码被称为:main 方法(程序的入口,SUN公司java语言规定的)
//也就是说,JVM在执行程序的时候,会主动去找这样一个方法,没有这个规格的方法,程序是无法执行的。
//main方法也可以叫做主方法。
//注意:方法必须放到“类体”中,不能放到“类体”外。
//任何一个程序都要有一个入口,没有入口进不来,无法执行。
    public static void main(String[] args){//这是一个入口方法。而且不能再来一个一模一样的入口了。
//不过定义一个其他入口时可以的,但是不执行,以后我们可以学习其他语法让他执行。
//方法体
//方法体是由一行一行的“java语句”构成的。
//并且非常重要的是:任何一条java语句必须以英文模式下的分号“;”结尾。不能用中文的分号。
//“;”分号代表一条语句的结束。
//非常非常重要的是:方法体中的代码遵循自伤而下的顺序依次逐行执行。
        System.out.println("Hello World");
//System.out.println();这行代码的作用是想控制台输出一句话,就是这个作用。
//注意:println后面的小括号里的内容是一个字符串的话,必须使用英文双引号括起来,双引号也要成对写。
//如果println后面的小括号里的内容是数字,可以不加双引号,加了双引号也不算错,只不过意义不同。一个是数字,一个是字符串。但最终输出的都是一个样子。
        System.out.println("JAVA入坑");
    }
}

以下程序科以编译通过,当时不能运行,因为没有main方法。符合语法规则,没有语法错误。

public class HelloWorld{

}
public class HelloWorld{
  static void main(String[] args){

  }
}
public class HelloWorld{
  public  static void main(String[] args){
  }
}

注意:args可以改名字,随意,对于主方法来说,只有这个位置可以改,其他位置不能动。
注意:类体当中应该是方法,而不是直接的java语句。
加减乘除都是可以在println后面的小括号里运用的。

public class和class的区别

1.一个java源文件中可以定义多个class。
2.public的类不是必须的。
3.在源文件中,只要有一个class的定义,那么必然会对应生成一个class文件。
4.public的类可以没有,但如果有的话,public修饰的类名必须和源文件名保持一致。
5.public类只能有一个。
每个类中都可以编写入口,想从哪个入口进,就加载哪个类就可以了。

编写程序练习

第一题:编写java程序,输出学生基本信息

public class XinXi {
    public static void main(String[] args){
        System.out.println("学号:0000000000");
        System.out.println("姓名:苦难");
        System.out.println("生日:xxxx年xx月xx日");
        System.out.println("家庭住址:某省某市某县某镇某村某屯");
    }
}
个人信息.png

第二题:编写Java程序,输出商城商品列表信息

public class ShangPin{
    public static void main(String[] args){
        System.out.println("-----------------------------------------");
        System.out.println("|-------------手机商品列表--------------|");
        System.out.println("-----------------------------------------");
        System.out.println("| 商品编号 |    商品名称    | 单价(元)|");
        System.out.println("-----------------------------------------");
        System.out.println("|0000000001|  红米not8 pro  |  1899.00  |");
        System.out.println("-----------------------------------------");
        System.out.println("|0000000002|小米10至尊纪念版|  5599.00  |");
        System.out.println("-----------------------------------------");
        System.out.println("|0000000003|    Redmi 9     |  1199.00  |");
        System.out.println("-----------------------------------------");
        System.out.println("|0000000004|   小米10 pro   |  4999.00  |");
        System.out.println("-----------------------------------------");

    }
}
商品.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342