Java 学习(一) - 开发前的准备

前言

由于一些项目上的需要,我得学习一下 Java 这门语言(主要是想写Android),本人并非0基础,至少在上个学期学习了一门必修的程序设计(C语言),所以本系列大概会主要是写Java 和 C 的联系与区别。这个系列并不是个教学系列,我只是在这里记下我的笔记、我的心得、我的体会,只是期待能与大家共同进步(所以叫从0开始学Java嘛,不过对于Java来说是0,对于编程来说不算是0,算个0.001吧)。

个人杰绍

大家好,我是阿杰,我的博客还蛮大的,欢迎你们来我家玩。20岁,是学生。身高是186公分,体重是65公斤。没有特别在学什么编程,不过有在练习,水平很差劲,因此有时代码会出现结果不对的情况,去年和高中分手。()

咳咳,正经点说,在大学之前对编程接触不多,初中信息技术课学过一点易语言(觉得挺好用,所以上大学前就时不时的用它写点程序,貌似还是面向对象的)和 VB(忘光了),高中信息技术课上过两节 Python(a+b problem 水平以下吧),说白了在上大学之前没有怎么系统地学习过一门正经的编程语言,上大学开始接触C语言,学的勉勉强强还算不错,总的来说算是有点基础。

正文

Java 语言的语法与 C 语言很接近,使得我们这种基本上只学过C语言的人很容易去学习和使用。但相对于C语言, Java 有一些特性(比如面向对象)和删减(没有指针、自动强制类型转换等,比如我最爱的 1当true、0当false 就用不了了)。

一. Java 开发环境配置

安装JDK

俗话说的好,环境造就人才,搞 Java 开发首先要配置好相关的环境,对于C语言就是 gcc,对于Java 就是 JDK了,JDK 是 Java 开发工具包,下载地址:https://www.oracle.com/java/technologies/downloads/,在下载页面中根据自己的系统选择对应的版本(推荐JDK17,JDK19 真的给我整吐了)。

下载完成后打开安装,无脑下一步其实也差不多,不过一定要记住安装路径,安装完成后在桌面右键“此电脑”/“我的电脑”,打开“属性”,点击“高级系统设置”。

打开“环境变量

在 "环境变量" 中设置 3 项属性,JAVA_HOME、PATH、CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。

设置参数如下 :

  • JAVA_HOMEC:\Program Files (x86)\Java\jdk1.8.0_91 // 要根据上边自己记住的安装路径配置

  • CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; //记得前面有个"."

  • Path%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; //如果里面本来有别的值要在 这段前面加“;”

配置完成后,打开cmd,分别运行 java -versionjavac --version ,如果出现版本号则说明设置成功。

找个编辑器

目前流行的Java 开发工具有 EclipseJetBrains 的 IDEA、Netbeans 还有万金油 VSCode(我用的),由于我个人并没有用过其他IDE,所以在此不做评述。

二. 如何运行Java 程序

Java的源代码文件一般来说是 xxx.java ,如果你使用了上述的那些IDE,运行甚至调试Java 程序对你来说自然不是什么难事。但是如果你是拿记事本编辑的呢(笑),也不用担心,正如C语言有 gcc xxx.c ; .\a.exe ,Java也可以用命令来编译执行,但与C语言直接将代码编译成可执行文件不同的是,Java 要用 javac 编译得到.class文件,然后再用 java 指令运行(这是因为 Java 语言是解释型的),比如编译运行 Main.java 的命令如下:

  1. javac Main.java #编译
  2. java Main #运行

本期就先到这里,主要讲了讲自己为什么学Java、自我介绍,以及用粗糙的语言勉强讲了讲 Java 程序设计的准备工作,那么我们下期再见。

参考资料

[1] 菜鸟教程 : https://www.runoob.com/java/java-tutorial.html

以上内容仅供参考,水平不高,大佬见笑。

作者:CHTXRT

出处:https://www.cnblogs.com/chtxrt/

本文使用「CC BY-ND 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。

从0开始学Java 第一期 开发前的准备的更多相关文章

  1. wussUI v1.0.0小程序UI组件库 第一期开发已完成

    经过了两个月不到的开发时间,我们phonycode团队顺利的发布了小程序的UI组件库 wuss-ui 的第一个版本.目前大体预览如下 介绍 wussUI 现在有大概27个组件左右, 目前基础组件都有了 ...

  2. 0基础学Java快速扫盲指南,月入2W的基础

    学Java,掌握一些基本的概念是第一步,本文简单为大家介绍一些扫盲级别的内容,希望帮助小白快速入门. 一.基本概念 JVM:java虚拟机,负责将编译产生的字节码转换为特定机器代码,实现一次编译多处执 ...

  3. 零基础学Java第一节(语法格式、数据类型)

    本篇文章是<零基础学Java>专栏的第一篇文章,从本篇文章开始,将会连更本专栏,带领大家将Java基础知识彻底学懂,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! ...

  4. <-0基础学python.第一课->

    初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...

  5. 学java编程软件开发,非计算机专业是否能学

    近几年互联网的发展越来越好,在国外,java程序员已经成为高薪以及稳定职业的代表,虽然国内的有些程序员很苦逼,但是那只是少数,按照国外的大方向来看,程序员还是一个很吃香的职业.根据编程语言的流行程度, ...

  6. 从0开始学java——Tomcat的安装及其常见错误排查(zz)

    来源: <http://www.cnblogs.com/xdp-gacl/p/3729033.html> 学习web开发,为什么必须要先装一个WEB服务器? 在本地计算机上随便创建一个we ...

  7. 从0开始学Java——JSP和Servlet——jsp转servlet出错的三个典型场景

    由于jsp终究是要转换为servlet的java文件,然后再编译为.class文件,最后才执行,那么在这过程的任何一个步骤都可能有问题,主要包括三个方面,下面逐一分析: 一.JSP转换为Servlet ...

  8. 从0开始学Java——JSP&Servlet——Tomcat和Apache的区别

    从<JSP & Servlet 学习笔记>的第一章,了解到web容器:“Web容器是Servlet/jsp唯一认得的http服务器”. 在Java中,容器的类型有多种,这里要说的是 ...

  9. 2017-2018-1 我爱学Java 第一周 作业

    构建之法 成员及分工 内容简介 作者简介 分章学习及问题 第一章 概论 第二章 个人技术和流程 第三章 软件工程师的成长 第四章 两人合作 第五章 团队和流程 第六章 敏捷流程 第七章 实战中的软件工 ...

  10. 重磅|0元学 Python运维开发,别再错过了

    51reboot 运维开发又双叒叕的搞活动了,鉴于之前 51reboot 的活动反馈,每次活动结束后(或者已经结束了很长时间)还有人在问活动的事情.这一次小编先声明一下真的不想在此次活动结束后再听到类 ...

随机推荐

  1. break ,continue,retrun的区别

    break ,continue,retrun的区别 1:break 在循环体内结束整个循环过程 for (var i = 1; i <= 5; i++) { if(i == 3){ break; ...

  2. 14.api根路由

    我们可以通过使用超链接来提高我们APi的内聚力和可发现性   一.为我们的API创建一个根路径 我们的视图有很多个url,但是没有一个入口点,可以使用@api_view创建一个根路径 #views.p ...

  3. java学习之Servlet

    0x00前言 Servlet就是一个接口我们需要写一个类然后去实现Servlet,就可以被服务器识别到.request是用来接受客户端传过来的参数,respone是用来响应客户端的页面.我们所用的容器 ...

  4. WebKit策略:<foreignObject>可用于绘制svg中的html标签,但与<use>搭配不生效

    在<svg>里面可以利用<foreignObject>绘制html标签,原本是我在iconfont采用Font class方式引入svg的无奈之举. 起初的设计是所有icon先 ...

  5. 这次,听人大教授讲讲分布式数据库的多级一致性|TDSQL 关键技术突破

    近年来,凭借高可扩展.高可用等技术特性,分布式数据库正在成为金融行业数字化转型的重要支撑.分布式数据库如何在不同的金融级应用场景下,在确保数据一致性的前提下,同时保障系统的高性能和高可扩展性,是分布式 ...

  6. 已经有 MESI 协议,为什么还需要 volatile 关键字?

    本文已收录到  GitHub · AndroidFamily,有 Android 进阶知识体系,欢迎 Star.技术和职场问题,请关注公众号 [彭旭锐] 进 Android 面试交流群. 前言 大家好 ...

  7. 基于python的数学建模---洛伦兹线与数值解

    import numpy as np from scipy.integrate import odeint from mpl_toolkits.mplot3d import Axes3D import ...

  8. 协程Part1-boost.Coroutine.md

    首先,在计算机科学中 routine 被定义为一系列的操作,多个 routine 的执行形成一个父子关系,并且子 routine 一定会在父 routine 结束前结束,也就是一个个的函数执行和嵌套执 ...

  9. RocketMQ系列-搭建Namesrv源码调试环境

    RocketMQ系列-搭建Namesrv源码调试环境 在学习任何一个技术框架的时候,我们通常都是先了解是什么,有什么作用.解决什么问题.设计亮点和设计思想是什么:当然对于技术学习上来说,这只是纸上谈兵 ...

  10. 【基础语法规范】【函数式编程、字符串分割】BC6:输出输入的第二个整数

    思路:数组or字符串split分割 一.Scala 方法1:Int数组[不行] import scala.io.StdIn object Main{ def main(args:Array[Strin ...