初学Java---Java开发基础


第一部分 Java开发起步


一、什么是Java?

​ Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。

二、动手做任务

(一)任务1:下载并安装JDK

​ 去官网下载:(https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)

​ JDK:Java SE Development Kit

​ Java集成开发工具,当前最新版本JDK13,公司开发一般用jdk-8u144-windows-x64.exe;u144的意义:u:update,144:144次更新。

​ 下载注意:接受协议、操作系统类型和位数。

​ 安装:双击JDK安装包,按着提示一直点下一步就完成了。在安装过程中,我们可以修改JDK的安装路径,但一般不建议这么做。要注意安装路径中不要出现中文路径;安装完成后不会产生快捷方式,相当于一个解压缩过程。

(二)任务2:配置环境变量

一、环境变量的入口:

  • 1.在搜索框输入此电脑,右键点击此电脑–属性–高级系统设置–环境变量

  • 2.窗口键+R,输入sysdm.cpl–确定–高级–环境变量

    二、需要配置两个环境变量:

  • 1.系统变量Path: 可执行文件路径,在本机上是C:\Program Files\Java\jdk1.8.0_144\bin。

  • 2.在系统变量中新建一个CLASSPATH:类路径,值是 .;

点和分号不能是汉字输入法下的,必须是英文输入法下。
  • 问题1:Path和CLASSPATH大小写区分吗?
    答:在Windows系统下不区分,在Linux、Unix、Mac下必须是Path、CLASSPATH。
  • 问题2:Path和CLASSPATH的区别?
    答:path环境变量里面记录的是可执行性文件,如.exe文件,对可执行文件先在当前路径去找,如果没找到就去Path环境变量中配置的路径去找;ClassPath环境变量里记录的是Java类的运行文件所在的目录。
  • 问题3:Windows下,如果用户变量和系统变量名字一样,哪个生效?
    答:用户变量生效,系统变量会被覆盖。
(三)任务3:验证环境变量配置是否成功(使用cmd控制台)
  • 1.验证方式一:用javac或java命令

    • 问题:javac和java从哪里来的?
      答:Path环境变量的值,就是JDK的bin目录。
  • 2.验证方式二:set命令(设置或查看环境变量)
    使用set classpath或set path,查看显示的值是不是我们需要的。在set设置的时候,设置结果仅对当前控制台(命令行)窗口有效,当控制台关闭后,set设置的结果失效。

    • 问题:如何查看当前机器上起效的JDK版本?
      答:java -version命令
(四)任务4:编写HelloWorld程序,不带包。
  • 编写Java代码的工具:记事本、Atom、Notepad++、EditPlus(商业)、Sublime、 VS Code.

Java文件实际上就是文本文件。

  • 编译之前需要访问文件所在目录,例如:d: 就切换到d盘下了,然后cd(change directory) + 文件名:就到了相关目录下;在使用命令时,可以用Tab键进行自动补全。

  • 其他DOS命令:

    • 1.dir+回车:查看当前目录都有哪些文件(可以查看文件类型和大小).

    • 2.如果想退回上一级目录:cd …+回车即可

    • 3.如果想直接退回根目录上:cd \ +回车

  • 编译:用javac命令:javac HelloWorld.java(编译后出现class文件),如果因GBK编码导致编译出现汉字乱码报错,使用下面的方法编译: javac -encoding utf-8 HelloWorld.java。

  • 执行:用java HelloWorld命令(执行的是class文件)。

编写规范

  • 必须加规范的注释(版权注释、JavaDoc注释)
  • 缩进4个空格
  • 类名、方法名后有一个空格
  • Java严格区分大小写
   public class HelloWorld {
       public static void main(String [] args) {
           System.out.println("Hello...");
       }
   }
(五)任务5:编写HelloWorld程序,带包。
  • 包名命名规则:
  • 全小写,不建议数字
  • 域名倒写
  • "."表示当前目录
 package cn.edu.tit.corejava.day01;
 /**
    	在屏幕上输出Hello...
 	@author zhaobiao
		 @version 1.0
*/
public class HelloWorld {
 	public static void main(String [] args) {
     	System.out.println("Hello...");
 	}
}
  • 编译:javac -encoding utf-8 -d . HelloWorld.java
  • 执行:java cn.edu.tit.corejava.day01.HelloWorld
(六)任务6:在一个.java文件中写多个class,编译后产生什么?如何执行?
package com.ychs.corejava.day01;

/**
	在一个java文件中写多个class
   		@author wuzhijun
    	@version 1.0
*/
public class Person {
}
class Student {
}
class Teacher {
}
  • 问题1:如何编译? 答:javac -d . Person.java
  • 问题2:如何执行?指定谁,执行谁。

被执行的类必须有main方法才可以被执行。

  • 问题3:将Person.java另存为Student.java,为什么编译无法通过?
    答:如果一个类被public修饰,保存文件的时候,文件名和类名完全相同。
  • 问题4:将Student修饰为public,为什么无法通过编译?
    答: 一个java文件中,最多只能有一个类被public修饰。如果所有类都不是public的,保存时候,文件名随意。

三、面试准确口述

(一)JDK、JRE、JVM是什么关系?
  • 1.三者分别是什么?

    • Java是一种咖啡的名字。
    • JDK(Java SE Development Kit):Java语言的集成开发工具。
    • JRE(Java Runtime Environment):Java的运行环境。
    • JVM(Java Virtual Machine):Java虚拟机。
  • 2.它们之间的关系:

    • JDK中包含JRE运行环境,JRE运行环境中包含JVM虚拟机。
    • JDK:包含有一些工具,比如:javac、Java、javadoc等。
    • JRE:包含API,支持Java程序的执行。
    • JVM:将class文件解释成特定平台的机器指令。
(二)Java程序的执行过程?
  • Java程序执行的过程:(https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html)
  • 自己的理解:(首先编写java源程序,用javac命令对源程序进行编译之后产生.class文件,然后用java命令来执行.class文件,最后JVM对.class文件进行解释,把.class文件解释成特定平台的机器指令。)
  • .class文件是什么文件?答:字节码文件Bytecodes
  • .class文件中放的是什么东西?答:JVM可以识别的字节码,内容是16内容是16进制表示的。
  • .class文件是平台相关还是平台无关?答:平台无关(跨平台),由于java写的程序是跨平台的。
  • .class文件内容能看到吗?答:能,使用UltraEdit可以看到。其开头的是CAFEBABE
  • JVM是平台相关还是无关?答:JVM平台相关,不同的操作系统有不同的虚拟机
  • JVM的作用是:答:将class文件解释成特定平台的机器指令。
(三)Java平台划分?(从小到大划分 面试回答前三个即可)
  • 1.Java ME(Java平台的微型版)

  • 2.Java SE(Java平台的标准版)*

  • 3.Java EE(Java平台的企业版)*原名:J2EE

  • 4.Java Card

(四)Java语言有哪些特点?
  • 面向对象Object oriented
  • 跨平台Architecture neutral
  • 简单
  • 开源
  • 多线程
  • 可移植性
    在这里插入图片描述
(五)Java语言是编译型还是解释型?
  • Java是两种的结合
(六)C/C++/Java的区别?
  • 1.应用场景不同:

    • C语言:面向过程的,主要做硬件编程、操作系统的底层编程、算法。
    • C++语言:面向对象的和面向过程的混合体,不是纯正的OOP(面向对象),是在C的基础上加入了OOP的内容。主要做图形图像处理、通信软件、控制软件、工具软件、游戏等。
    • Java语言:面向对象的,纯OOP语言,主要用在大型管理系统开发、大数据开发、Android手机开发、硬件开发、教务系统等;它是平台无关的。
    • C#:和Java类似,是微软的技术,开发的软件只能在Windows下执行。
    • Go
    • Python
  • 2.执行效率。

    • 一般来说C、C++执行效率高于Java,但主要取决于计算机的性能。
(七)HelloWorld的面试题
  • 1.public static void main(String[] args) {} :入口,固定写法。

    • public可以去掉吗?答:去掉后能编译,不能执行。
    • static可以去掉吗?答:去掉后能编译,不能执行。
    • void可以去掉吗?答:不可以,没有返回类型。
    • []去掉可以吗?编译通过,答:去掉后能编译,不能执行。
    • String[] args去掉可以吗?答:去掉后能编译,不能执行。
    • []换成…可以吗? 答:完全可以。
    • args换成a可以吗?答:可以,相当于变量。
    • static public这样写可以吗?答:可以。
    • static void public这样写可以吗?答:不可以。
    • void main(){}可以吗?答:可以。
  • 2.public class HelloWorld{}

    • public可以去掉吗? 答:可以。
    • class可以去掉吗? 答:不可以。
    • HelloWorld可以换成别的名字吗? 答:可以
(八)Javac和Java的面试题?
  • 1.控制板上:编译时:在windows下文件名大小写不区分,其他平台下不行(文件名是HelloWorld)

例如: javac helloworld.java 或者 JAva Helloworld.java都可以编译,但是javac HelloWorld.JAVA不能编译。

  • 2.java执行的时候,文件名要区分大小写。(文件名是HelloWorld)

例如:java HelloWorld 或者 JAVA HelloWorld 正确 java helloworld 错误

(九)Java的作者
  • James Gosling 詹姆斯.高斯林(Java之父)
(十)Java的历史
  • Java的历史:(https://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html)
  • 1991年Java出现
  • 1995.5.23 Java向全球发布
(十一)Java官方教程
  • Java官方教程:(https://docs.oracle.com/javase/tutorial/index.html)

(十)Java的历史

  • Java的历史:(https://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html)
  • 1991年Java出现
  • 1995.5.23 Java向全球发布
(十一)Java官方教程
  • Java官方教程:(https://docs.oracle.com/javase/tutorial/index.html)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕兮IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值