java基础知识必备(一)
一,开发前奏
a.Java语言的发展历史。
Java语言是美国Sun公司(Stanford University Network/斯坦福大学网络公司),
在1995年推出的高级的编程语
言。所谓编程语言,是计算机的语言,人们可以使用编程语言对计算机下达命令,
让计算机完成人们需要的功能。
高级编程语言称为接近自然语言的编程语言。
高级编程语言的开发是比较简单的。
编程语言是为了帮助人类用计算机来解决存储业务问题和业务数据的。
Java是一个面向对象的高级编程语言。
Java是95年推广出来的,是由sun公司的詹姆斯.高斯林及其团队一起研发的,至今20多年了。
经历了很多的版本更新。
1995年Sun公司发布Java1.0版本
1997年发布Java 1.1版本 JDK 1.1
1998年发布Java 1.2版本
2000年发布Java 1.3版本
2002年发布Java 1.4版本
2004年发布Java 1.5版本
2006年发布Java 1.6版本
2009年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本
2014年发布Java 1.8版本 (8.0)
2017年发布Java 9.0版本 (9.0)
2018年发布Java 10.0版本
Java可以做什么?
1.桌面程序。桌面游戏 ,桌面应用软件。
其实Java并不擅长做桌面应用。
桌面应用其实早就被淘汰了。
即使需要开发桌面应用也无需采用Java , 因为桌面应用用微软的技术会更快更好!!
2.WEB应用系统:
京东,淘宝,12306 金融 银行 物流业 工厂管理型的系统。
基本上大型商业应用软件90%以上都会采用Java开发。
3.可以开发移动应用: Android手机的App 。
也是一个挺大的市场。
b.java语言的特点
1.简单性 夫唯不争,故天下莫能与之争。兼容并包。
2.面向对象 : 完全用程序模拟现实事物,很容易理解。
3.分布性: Java语言可以分布在不同的操作系统上一起运行。
4.编译和解释性: Java代码是高级编程语言,他的代码已经接近人类的自然语言,
计算机底层不能直接识别这些程序,需要先编译才可以识别执行。
5.稳健性
6.安全性
7.可移植性 : 一次开发,到处使用。
8.高性能
9.动态性
c.计算机编程中的基础知识。
二进制(了解):
计算机底层都是使用二进制来存储数据的。
二进制就是: 0 , 1
计算机底层是很多的开(0)关(1)。
但是一个开关只能表示两个信息,2个开关可以表示四个信息。
3个开关可以8个信息,4个16 ,5个32 ,6个64
如果有n个开关可以表示 2^n次方个信息。
计算机底层实际上就是通过很多开关来记录信息(开关就是所谓的二进制)。
二进制转十进制的计算方式:
二进制(BIN) 十进制
00 = 0
01 = 1
10 = 2
11 = 3
11 = 1*2^0 + 1 * 2^1 = 3
100 = 0*2^0 + 0*2^1 + 1*2^2 = 4
111 = 1*2^0 + 1*2^1 + 1*2^2 = 1 + 2 + 4 = 7
101 = 1*2^0 + 0 * 2^1 + 1*2^2 = 1 + 0 + 4 = 5
在“运行”中输入calc调出计算机来帮助计算。
十进制: 0 1 2 3 4 5 6 7 8 9
十进制 二进制
7 111
9 1001 = 1*2^0 + 1*2^3 = 1 + 8 = 9
对2求余数,然后从末尾开始把余数粘起来就是二进制结果。
字节:
底层都是开关,在计算机中一个开关称为一个位,
8个开关 == 8个位 == 8b = 1个字节 = 1B.
1B = 8b
1K = 1024
1M = 1024 * 1024
1G = 1024*1024*1024
1T = 1024*1024*1024*1024
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
计算机中所有的文件大小的最小单都是B组成的。
常用DOS命令:
最原始的计算机是没有显示器的,其实都需要程序员自己敲命令来操作计算机。
后来计算机的显示器技术普及,计算机开始流行了。
但是程序员很多时候还是要通过原始的命令去操作计算机,这些命令称为DOS命令。
首先应该调出DOS命令窗口,[][]
[][] + R键 输入“cmd”打开命令窗口
D: 切换到D盘
dir : 列出当前目录下的文件。
cd : 进入到某个目录去
.. : ..指的是上一次目录
. : .指的当前目录
cls: 清除当前屏幕
cd ../.. 往上走两级。
d.Java语言的开发环境搭建
为什么需要搭建开发环境?
只有安装了Java的开发环境才可以开发Java程序并且运行Java程序。
1.JVM(Java Virtual Machine ):Java虚拟机,简称JVM,
是运行所有Java程序的假想计算机,是Java程序的
运行环境,是Java 最具吸引力的特性之一。
我们编写的Java代码,都运行在 JVM 之上。
Java是可以跨平台,Java的代码一次编写可以在任何操作系统上运行,
根本原因是因为每个系统上都可以安装Java的虚拟机JVM。
而Java代码在JVM中运行就可以了。
JVM是Java跨平台的根本原因。
2.JRE (Java Runtime Environment) :
是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库
JRE == JVM虚拟机 + 核心类库(sun公司提供的功能)。
核心类库是sun公司设计好的一些技术代码,我们可以直接使用这些功能。
3.JDK (Java Development Kit):
是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
JDK == JRE + Java程序开发工具包。
Java程序开发工具包 : 必须有这些包,我们才可以看我们的代码是否写对了。
可以帮助我们编译代码。
-- 我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。
-- 我们想要开发一个全新的Java程序,那么必须安装 JDK 。
程序员只要安装了JDK,就有了运行Java程序的虚拟机JVM ,以及核心类库(sun公司提供的功能)
以及Java程序开发工具包(检测代码是否正确,编译代码)
所以Java的产品是:JDK。
e.安装JDK
技术人员的软件应该全部去官方网站下载。
官网的软件是最干净最安全最好的。
(1)双击JDK
(2)不要安装公共JRE
(3)安装目录不应该包含中文和空格目录。
计算机对中文和空格目录是很敏感的
以后与其他技术结合的时候可能出现错误。
例如:D:\soft\java\jdk-9.0.1
(4)配置环境变量。
安装了JDK,其实操作系统并不知道JDK安装了
也不知道装到了哪里去了。
配置环境变量的目的就是告诉操作系统
JDK安装到了哪里去了。
配置一个JAVA_HOME的环境变量,告诉操作系统
JDK安装到了哪里去了。
右键“我的电脑”-“属性”->环境变量”
JAVA_HOME : D:\soft\java\jdk-9.0.1
配置一个PATH环境变量,告诉操作系统
Java的命令安装在哪里:
PATH : D:\soft\java\jdk-9.0.1\bin
(5)检测是否安装无误
打开cmd,输入“java”看是否有提示
输入“java -version”看版本是否正确。
f.开发第一个Java程序。 (HelleWorld).
用什么来开发Java程序呢?
开发工具: 记事本
集成工具(IDE工具):eclipse , MyEclipse , Intelij IDEA
前几天学习用记事本,先习惯自己去找错误,以及写代码的感觉。
后面永远都是用IDE工具,最牛逼的工具:Intelij IDEA
(1)新建一个代码文件叫 HelloWorld.java
public class HelloWorld{
// 程序的入口代码
public static void main(String[] args){
System.out.println("欢迎加入Java世界,牛逼的你即将诞生!");
}
}
(2)使用Java开发工具中提供的javac.exe命令对代码进行编译。
编译:
javac HelloWorld.java -> HelloWorld.class文件(这个是计算机可以执行和识别的文件)
执行:
java HelloWorld
编译(javac):是指将我们编写的Java源文件翻译成JVM认识的class文件,
在这个过程中, javac 编译器会检查我们
所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
运行(java):是指将 class文件 交给JVM去运行,
此时JVM就会去执行我们编写的程序了。
必须先编译代码才可以执行代码。
g.Notepad++软件的安装和配置
用它来写代码和笔记。
java基础知识必备(一)的更多相关文章
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- 主题:学习Spring必学的Java基础知识(9)----HTTP报文
转: 引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”.以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
随机推荐
- Kafka基本概念介绍
Kafka官方介绍:Kafka是一个分布式的流处理平台(0.10.x版本),在kafka0.8.x版本的时候,kafka主要是作为一个分布式的.可分区的.具有副本数的日志服务系统(Kafka™ is ...
- 初次比较正式的IT职场面试后几点对自己web开发的思考
昨天晚上参加一个web开发面试,对于还没有真正毕业的自己来说,web开发的面试不是第一次,暑假就面试几家公司,前几次的面试并没有发现自己对自己学习的专业知识有什么学习态度的问题,因为前几次的面试官都是 ...
- 【webAssembly系列】webAssembly初探究竟
一.前言 自从JavaScript诞生开始,到现在开始变成流行的编程语言,背后的是web发展所推动的.web应用的变得更多更复杂,但是渐渐暴露出JavaScript的问题: (1)语法太灵活导致开发大 ...
- spring cloud 系列第6篇 —— zuul 服务网关 (F版本)
源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.zuul简介 1.1 API 网关 api 网关是整个微服务系统的门面 ...
- 攻防世界 web进阶练习 NewsCenter
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
- 第六章 Fisco Bcos 多服务器分布式部署
想了解相关区块链开发,技术提问,请加QQ群:538327407 前提概要 前面几章,我们通过单机部署,在单台服务器上搭建四个节点,完成Fisco Bcos 底层搭建,并完成相关合约开发.sdk 开发. ...
- 简单的scrapy实例
前天实验室的学长要求写一个简单的scrapy工程出来,之前也多少看了点scrapy的知识,但始终没有太明白,刚好趁着这个机会,加深一下对scrapy工作流程的理解.由于临近期末,很多作业要做(其实.. ...
- Ceph原理动画演示
动图生动刻画Ceph的基本原理之集群搭建及数据写入流程:)
- 2018.8.17 2018暑假集训 关于dp的一些感想(以目前的知识水平)
学了这么长时间的dp似乎还是不怎么样 谨以此篇文字记录一年以来与dp斗智斗勇的各种经历 关于dp(也就是动态规划)似乎对于每个OIer来说都是一个永远的噩梦. 刚刚开始学dp的时候完全搞不明白(只是觉 ...
- 2018.12.1 万圣节的小L
我回来啦 试题描述 今天是万圣节,小L同学开始了一年一度的讨要糖果游戏,但是在刚刚过去的比赛中小有成就的他打算给自己增加一点难度:如果没有讨到每一家的糖果就算输. 已知小L共有n(n不大于10000) ...