Java自学no.1———带你初步认识java
什么是Java
Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是 计算机的语言,人们可以使用编程语言对计算机下达命令,让计算机完成人们需要的功能。
Java定位
后端开发、网站开发、安卓手机开发、大数据处理、中间件编写 ,Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服 务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
Java特点
- 简单
基于c++,有c++基础好上手,同时摒弃了复杂的指针;不需要删除未引用对象,因为java有自动垃圾回收;有人说java代码太长,这个在编辑器里常用代码都是自动补全的,你完全可以把重点放在该放的地方。 - 面向对象
对象、类、抽象、封装、继承、多态; - 多平台
一次编译,处处运行(报错):Java代码编译成字节码,能够在各个平台独自的JVM(Java Virtual Machine :Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java 最具吸引力的特性之一)。我们编写的Java代码,都运行在 JVM 之上。 - 比较安全
(1)没有显式指针
(2)java程序在JVM沙箱里运行
(3)类装载器:本地文件系统与网络资源导入的类分开包装,更安全
(4)字节码校验器:检查代码中是否有违反对象访问权限的非法代码
(5)安全管理器:确定类可以访问什么资源,规定读写权限
(6)可扩展安全性,开发商自行添加 - 强大健壮
自动垃圾回收,内存管理优秀;有异常处理和类型检查机制;生态丰富,学习资源较多;java的库很多,应有尽有方标使用 - 可移植
可以将字节码携带到任何平台 - 较高性能
字节代码接近本地代码,不算特别高但也不低 - 分布式
可以通过互联网上的任何机器调用方法来访问文件
10. **多线程**
可以定义多个线程一次处理多个任务,每个线程不占用内存
JRE和JDK
JRE (Java Runtime Environment) :是Java程序的运行环境,包含 JVM 和运行时所需要的 核心类库 。
JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
想要运行一个已有的Java程序,那么只需安装 JRE 即可。
想要开发一个全新的Java程序,那么必须安装 JDK 。
*JDK>JRE>JVM
- JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/
- 安装时选择下一步即可,安装路径可以自己建立一个,记住位置方便查找(路径全程不能有中文或者特殊符号或空格。有的话改成英文)
开发环境配置
开发Java程序,需要使用JDK中提供的工具,工具在JDK9安装目录的 bin 目录下。在DOS命令行下使用这些工具,就要先进入到JDK的bin目录下,这个过程就会非常的麻烦。 不进入JDK的 bin 目录,这些工具就不能使用,会报错。为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义 在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。
- 计算机鼠标右键,选择 属性
- 选择 高级系统设置点击 环境变量
- 点击 新建 ,创建新的环境变量
- 变量名输入 JAVA_HOME ,变量值输入JDK的安装目录 c:\Java9\jdk-9.0.1(此路径是示范,你要找到自己安装的路径复制下来用)
- 选中 Path 环境变量, 双击或者点击编辑
- 在变量值的最前面,键入 %JAVA_HOME%\bin; 分号必须要写,必须是英文格式。
- 环境变量配置完成,重新开启DOS命令行(左下角搜索栏输入 命令提示符),在任意目录下输入 javac 命令,运行成功。
集成开发工具IDEA
IDEA是一个专门针对Java的集成开发工具(IDE),由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。 它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是IDEA进行开发。
- 虽然Java集成开发工具(IDA)有很多,但最好用、最强大的毫无疑问是IDEA,无须犹豫。
- intellij idea下载地址:https://www.jetbrains.com/idea/download/#section=windows
- 初学者建议下载右边免费的community版本,放心功能绝对够用。
idea安装及使用教程
- 此软件集成了32位和64位,双击下载的 ideaIU-2019.1.exe 进入安装。
- 点next,到了安装路径界面改一下,把路径改成D盘或者E盘,尽量不要安装在C盘,日常中电脑软件或者大文件都是这样(C盘是系统盘,必须保证有余留空间,不然电脑会卡爆),当然你C盘有300G以上也可以装在C盘。(如果你只有C盘可能是没分盘,建议百度寻找教程,很容易)。
- 选择64bit-launcher,点next
- 点击install完成安装。
初次使用idea
- 选择 do not import settings(不导入任何设置),点击 OK
- 选择 Create New Project
- 这里能看到红字提示< NO SDK >,点击右边 new 按钮,找到之前你自己安装的JDK目录,点击目录并选择ok即可
- 点击next、next,然后为你的工程起个名字(英文),默认也行,第二行是工程存储位置,自己建立一个文件夹即可。点击finish完成
- 打开一个每日一帖对话框,取消左下角每次启动显示,点击close
- 完毕
创建包和类
*Java里工程project 包含 包package 包含 类class,代码写在类class上;
- 展开创建的工程,在源代码目录 src 上,鼠标右键,选择 new->package ,自定义包名(必须英文) , 点击确定。
- 在创建好的包上,鼠标右键,选择 new->class 创建类,键入类名。
第一个程序:hello world
- 在代码编辑区,键入主方法,并输出 HelloWorld 。
在public class (此处默认是你定义的类名,不可更改)后的{ }里*输入以下代码:
public static void main(String[] args){
System.out.println("hello world!");
}
- 注意:不要漏掉分号。
- 鼠标右键——点击 **'run *.main()'即可运行代码,结果在下方显示:hello world!
至此,你完成了第一个Java程序
Java自学no.1———带你初步认识java的更多相关文章
- php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决
php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,Class.forName("com.mysql.jdbc.Driver&q ...
- 【转】JAVA自学之路
JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...
- 【转】Java自学之路——by马士兵
作者:马士兵老师 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟 ...
- Java自学之路(新手一定要看)
Java自学之路(新手一定要看) 转自尚学堂 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游 ...
- [感悟]马士兵Java自学之路——(精华版)
JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...
- Java自学成长路线(转载)
JAVA自学之路 一:学会选择 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅 ...
- Java自学开发编程路线图(文中有资源福利)
Java 语言入门 免费视频资源<毕向东Java基础教程>:http://yun.itheima.com/course/7.html JavaEE 学习大纲 所处阶段 主讲内容 技术要点 ...
- Java自学编程学习之路资源合集
Java Web学习 STEP.1---Java基础最重要 工欲善其事,必先利其器.想要学好Java Web,或者说想要开始学Java Web,Java的基础是必不可少. 基本语法(★★★★★) 数组 ...
- JAVA自学笔记04
JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+ ...
随机推荐
- linux查看log
TOMCAT_PATH='/home/jyapp/apache-tomcat-7.0.59/'PID=`ps -ef |grep $TOMCAT_PATH | grep -v grep |awk '{ ...
- 【Android初级】如何实现一个比相册更高大上的左右滑动特效(附源码)
在Android里面,想要实现一个类似相册的左右滑动效果,我们除了可以用Gallery.HorizontalScrollView.ViewPager等控件,还可以用一个叫做 ViewFlipper 的 ...
- 【BFS】hdu 1973 Prime Path
题目描述: http://poj.org/problem?id=3414 中文大意: 使用两个锅,盛取定量水. 两个锅的容量和目标水量由用户输入. 允许的操作有:灌满锅.倒光锅内的水.一个锅中的水倒入 ...
- C++隐式推导-auto关键词
总述 C++中有一个关键字,它不进行显式声明,而进行隐式推导,auto可以在声明变量时根据变量初始值的类型自动为此变量选择匹配的类型.C++语言类似的关键字还有decltype. 如何评价 C++ 1 ...
- c++ stl nth_element 原理解析
nth_element是stl中的一个库函数,它会使迭代器nth所指的元素与整个[first,last)完整排序后.同一个位置的元素同值.即找到完整排序时第n位的正确值. 但这个函数与完整排序的区别在 ...
- 【洛谷 p3366】模板-最小生成树(图论)
题目:给出一个无向图,求出最小生成树,如果该图不连通,则输出orz. 解法:Kruskal求MST. 1 #include<cstdio> 2 #include<cstdlib> ...
- 【noi 2.5_1789】算24(dfs)
最开始我想的是全排列+枚举符号和括号的方法,但是我自己倒腾了很久还是打不对,只好向他人请教.正解很机智--直接随意将几个数"捆绑"在一起,值存在其中一个数上,其他数标记不可再选,直 ...
- 【uva 11572】Unique Snowflakes(算法效率--滑动窗口,3种实现方法)
题意:求长度为N的序列中,最长的一个无重复元素的连续子序列. 解法:[L,R]每次R++或L++延伸就可以得到答案. 实现:(1)next[],last[]--O(n): 1 #include< ...
- python给字段名和值都加上引号
import re c = ''' Accept: application/json, text/javascript, */*; q=0.01 Accept-Encoding: gzip, defl ...
- AcWing 247. 亚特兰蒂斯 (线段树,扫描线,离散化)
题意:给你\(n\)个矩形,求矩形并的面积. 题解:我们建立坐标轴,然后可以对矩形的横坐标进行排序,之后可以遍历这些横坐标,这个过程可以想像成是一条线从左往右扫过x坐标轴,假如这条线是第一次扫过矩形的 ...