Java全栈课程网站: KuangStudy
JavaSE课程地址: 狂神说Java
参考书籍:Java大学实用教程(第四版)

目录

  • Java入门及环境搭建
    • Java帝国的诞生
      • Java发展
    • Java特性和优势
    • Java三大版本
    • JDK、JRE、JVM
    • Java开发环境搭建
      • JDK下载与安装
      • 配置环境变量
      • JDK目录介绍
      • Notepad++安装和使用
    • HelloWord详解
      • 可能会遇到的问题
    • 编译型和解释型
      • Java程序运行机制![Java程序运行机制](https://img-blog.csdnimg.cn/3a4dcda169eb4456b18dacd21f77f311.png)
    • 使用IDEA开发
      • 什么是IDE?
      • 创建一个新项目

Java入门及环境搭建

Java帝国的诞生

  1. C语言:1972年诞生,贴近硬件,运行极快,效率极高;适用于操作系统、编译器、数据库、网络系统等开发,但是使用C语言会带来指针与内存管理等领域的一系列问题。
  2. C++语言:1982年诞生,兼容C并且添加了一些面向对象的内容;在图形领域与游戏领域取得了成功,但是有许多复杂的特性,且还是有指针和内存管理的问题。
  3. Java语言:语法有点像C;没有指针;没有内存管理;真正的可移植性,编写一次,到处运行(因为有虚拟机JVM);面向对象;类型安全;高质量的类库。

Java发展

基于Java开发了巨多的平台、系统、工具:

  • 构建工具:Ant、Maven、Jekins
  • 应用服务器:Tomcat、Jetty、Jboss、Websphere、weblogic
  • Web开发框架:Struts、Spring、Hibernate、myBatis
  • 开发工具:Eclipse、Netbean、intellij idea、Jbuilder
  • 大数据领域:Hadoop
  • 手机端:Android

三高:高可用、高性能、高并发

Java特性和优势

特性和优势:简单性、面向对象、可移植性(write once run anywhere)、高性能、分布式、动态性(反射机制)、多线程、安全性、健壮性

Java三大版本

  • JavaSE:标准版(桌面程序、控制台开发)
  • JavaME:嵌入式开发(手机、小家电)
  • JavaEE:E企业级开发(web端、服务器开发)

先学JavaSE再学JavaEE

JDK、JRE、JVM

  • JDK:Java Development Kit,Java开发者工具,包含了JRE和JVM
  • JRE:Java Runtime Environment,Java运行时环境,包含了JVM
  • JVM:Java Virtual Machine,Java虚拟机,Java的跨平台核心是JVM虚拟机,通过使用虚拟机屏蔽了底层系统的差别

Java开发环境搭建

JDK下载与安装

  • 卸载JDK:
  1. 删除Java的安装目录
  2. 删除环境变量JAVA_HOME
  3. 删除path下关于Java的目录
  4. cmd中查看java -version
  • 安装JDK:下载JDK8
  1. 百度搜索JDK8,找到下载地址
  2. 同意协议
  3. 下载电脑对应的版本
  4. 双击安装JDK
  5. 记住安装的路径

配置环境变量

  1. 我的电脑——>右键——>属性——>高级系统设置——>环境变量
  2. 新建系统环境变量,变量名:JAVA_HOME,变量值是安装JDK的路径
  3. 配置path变量,双击打开系统变量中的path,新建两个值:%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin
  4. 打开cmd输入java -version,显示版本信息即安装成功

JDK目录介绍

  • bin目录:放可执行程序
  • include目录:由于JDK是C和C++编写的,所以有许多.h头文件,include目录就存放这些头文件
  • jre目录:Java运行时环境
  • lib目录:存放Java的类库文件
  • src解压文件:是一个资源文件,放了许多Java基础类的源代码

Notepad++安装和使用

Notepad++:一个文本编辑器,比记事本好用

HelloWord详解

  1. 新建一个文件夹存放代码

  2. 新建一个Java文件:文件后缀名为.java(Hello.java)

  3. 编写Java程序

    public class Hello{public static void main(String[] args){System.out.print("Hello,World!");}
    }
    
  4. 在代码文件(Hello.java)目录下进入cmd

  5. 输入命令行:javac Hello.java,把Java文件编译成字节码文件,未报错编译完成后会得到一个.class文件(Hello.class)

  6. 输入命令行:java Hello运行class文件,java命令只会运行.class文件,所以不用加文件扩展名

  7. 成功输出Hello,World!

可能会遇到的问题

  1. 每个单词的大小写不能出现问题,Java是大小写敏感的
  2. 尽量使用英文语句进行输出,防止控制台输出中文语句会变成乱码
  3. .Java文件名与类名必须保持一致,并且首字母大写
  4. 符号(分号、括号等)要使用英文符号,用中文符号会报错

编译型和解释型

  • 计算机高级语言类型就分为编译型和解释型两种,而Java既有编译型的特点也有解释型的特点
  • 编译型和解释型的区别就在于翻译的时机不同,A将整本小说全部翻译给B(编译型);C翻译一段B看一段(解释型)。
  • 编译型缺点:小说更新一点点,A就需要全部重新翻译一遍,代价比较大,而C只需要立马翻译改过的地方,节省成本。
  • 解释型缺点:B要回头看之前已经翻译过的东西,那么C必须重新翻译一遍,比较麻烦。
  • 编译型优点:编译后代码执行速度快,对操作系统要求低,适用于操作系统的开发,C/C++语言。
  • 解释型优点:网页、服务器脚本对速度要求不高,可以使用解释型语言,Java/JavaScript,虽然Java接近解释型语言,但是也有编译的过程。

Java程序运行机制

  1. .java文件通过编译器被预编译成.class文件,生成的字节码是基于机器码和Java源码之间的程序。
  2. 字节码文件运行时,是在JVM虚拟机运行,首先将类放在JVM虚拟机中的类装载器中,将类加载到JVM虚拟机中。
  3. 通过字节码校验器校验代码的正误,如果代码有误会报错,代码正确则会通过解释器解释给操作系统,程序得以运行。
  4. 所以,Java既有编译型的特点也有解释型的特点。

使用IDEA开发

什么是IDE?

​ IDE是集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。

创建一个新项目

new——>project——>选择项目地址——>finish——>在src文件里new——>java class——>写代码——>运行

  • psvm:main方法的快捷键

  • sout:System.out.println();快捷键

  • 可以百度IDEA优化对IDEA进行界面或性能优化

【Java全栈学习笔记:第一阶段:JavaSE】:Java入门及环境搭建相关推荐

  1. 【Java全栈】Java全栈学习路线及项目全资料总结【JavaSE+Web基础+大前端进阶+SSM+微服务+Linux+JavaEE】

    目录 jdk api 1.8中文版 jdk api 1.8_google.CHM 零:Java 全栈知识体系 第一阶段:JavaSE 一,程序应用(★★) 二,面向对象程序设计基础(★★★) 面向对象 ...

  2. 深圳Java培训:Java全链路面试题-第一阶段

    深圳Java培训:Java全链路面试题-第一阶段 1,谈谈对面向对象思想的理解 2,JDK,JRE,JVM有什么区别?Java如 何实现跨平台? 3, ==和equals的区别 4,以下代码的执行结果 ...

  3. Java全栈系列笔记

    Java全栈系列笔记 全部文档.项目.源码: github:https://github.com/name365/Blog-Java 码云:https://gitee.com/yang365/Blog ...

  4. 《Go语言圣经》学习笔记 第一章 Go语言入门

    Go语言圣经学习笔记 第一章 Go语言入门 目录 Hello, World 命令行参数 查找重复的行 GIF动画 获取URL 并发获取多个URL Web服务 本章要点 注:学习<Go语言圣经&g ...

  5. RN学习笔记01:概述、特点与环境搭建

    RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...

  6. Java全栈学习路线-拭去心尘

    一.JavaSE(熟练使用IDEA(私下学习可以,但进公司做项目不要使用破解版)和Eclipse) 辅助语言:C++(面向对象语言,偏向底层,语法和Java类似,我个人偏好C++为辅助语言)+pyth ...

  7. 字节码学院全栈学习笔记

    今天正式加入字节码学院,努力学习Java全栈,争取在6个月内称为一个了解软件行业的人,本人在这里立铁为证: 搭建vue 组件化开发环境时,需要安装node.js =================== ...

  8. 推荐几个Java全栈学习的网站

    一.学习路线及学习视频 1.狂神说 https://www.bilibili.com/read/cv5702420?spm_id_from=333.999.0.0 2.黑马程序员 https://zh ...

  9. 2021年8月12日-------Java从基础到项目教程,Java全栈学习路线,帮你省去培训机构的2万块钱。

    余生很贵,请努力活成自己想要的样子. 如何进行学习,别着急,我整理全栈的Java学习路线.帮你吊打面试官. 转载自一位大佬 首先是Java的知识点 一阶段:JavaSE基础 第一步:夯实Java基础语 ...

最新文章

  1. 在应用程序中加入.net脚本
  2. Fluid 给数据弹性一双隐形的翅膀 -- 自定义弹性伸缩
  3. 搜matlab代码的网站,LTE小区搜索matlab仿真
  4. linux拉取指定时间内,Linux 日期和时间操作详解
  5. [html]请描述HTML元素的显示优先级
  6. 比较list集合相等的方法
  7. excel python自动化_excel表自动化-python
  8. 吴恩达CNN卷积神经网络第2周作业ResNets
  9. ping服务器请求超时_高防服务器能防哪些恶意网络攻击?
  10. description方法 oc 就是NSLog使用
  11. 第二季-专题16-LCD亮起来
  12. 敏捷软件开发与极限编程
  13. 打开计算机硬盘是个磁盘图标 不显示大小,硬盘图标显示异常的解决办法
  14. mian()方法;代码块
  15. Altium_Protel99SE圆线路板添加工艺边
  16. 华为又出新品,谁知平板还能这么玩
  17. haas506 2.0开发教程-hota(仅支持2.2以上版本)
  18. python找出列表里大于输出_python找出列表中大于某个阈值的数据段示例
  19. 快递员能开你家锁了,问你怕不怕?
  20. Jetson Nano复制系统和U盘启动【第三部分】

热门文章

  1. Python turtle 绘制正方体
  2. 闲鱼卖货技巧:如何避免打价格战,让利润最大化【附案例】
  3. Matlab实现文件读写的几种方法(确实很好,不错)
  4. 前端面试经历(字节、滴滴、虎牙),讲真的还挺难,前端大厂面试题总汇得看看
  5. java案例大象和鹦鹉_小象调皮装死,象妈妈急忙找来饲养员,被拆穿后小象反应太可爱...
  6. ssm基于java的房屋租赁网站42zgd【独家源码】计算机毕业设计问题的解决方案与方法
  7. 手机计算机中绝对值的符号,excel绝对值符号
  8. getClass和getName
  9. 随机性检测工具 GM/T 00005-2021
  10. 为什么 Google 在前面加上 while(1);到他们的 JSON 响应?