一、软件开发的常识

1.什么是软件?
一系列按照特定顺序组织起来的计算机数据或者指令

常见的软件:
系统软件:Windows\Mac OS \Linux
应用软件:QQ,一系列的播放器(爱奇艺,乐视,腾讯。。。。),一系列的浏览器(谷歌,IE....)

2.什么是开发?
就是制作软件的过程
软件的出现实现了人与计算机之间的人机交互
交互方式:图形化方式:操作简单,用户容易上手
命令行方式:在控制台输入输入相应的指令,根据指令让计算机完成相关的操作

3.命令行指令(Windows+r-----调起控制台)
dir:列出当前目录下所有的文件以及文件夹
cd:进入到指定目录
cd..:退回到上一级目录
rd:删除目录
cls:清空控制台
exit:退出控制台

命令行让计算机执行相应的操作,相当于人和计算机之间的交流,计算机能识别的“话” -----计算机语言
计算机语言:c\c++\c#\html5\php\OC\Swift\Java.....

二、Java简介
1.Java语言的由来
1995年,由Sun(Stanford University Network,斯坦福大学网络公司)公司发布的一门高级编程语言

2.Java语言的技术架构

J2SE:标准版,为开发打基础
J2EE:企业版---Web方向
J2ME:小型版,小型的电子消费产品

JDK1.5之后,更名为JAVASE\JAVAEE\JAVAME

1996年,Sun发布了JDK1.0
目前JDK最新版本是1.9(bate),推荐使用JDK1.8

跟Java相似的语言:c#\Ruby\Python

3.Java语言的特点:跨平台性

通过Java编写的应用程序可以在不同的系统平台上运行,Java具有良好的可移植性,目前成为Web应用程序开发的首选语言

工作原理:在需要运行Java程序的操作系统上安装对应的Java虚拟机(JVM)

注意:Java语言具有跨平台性,JVM是不跨平台的

三、开发程序之前需要做的准备工作

JDK(Java Development Kit);Java开发工具包
JRE(Java Runtime Environment):java运行环境
JVM(Java Virtual Machine):Java虚拟机

1.三者之间的关系
a。如果只需要运行一个已经开发好的Java程序的话,只需要安装JRE
b .作为程序员,就需要安装JDK,其中包含了Java的开发工具,同时也包含了JRE
c.JVM和JRE的关系:JRE包含了JVM,JVM是运行Java程序的核心虚拟机,同时也包含了Java程序所需的环境支持

总结:JDK>JRE>JVM(使用JDK开发的Java程序,交给JRE中JVM去运行)

2.安装
a.下载地址
www.oracle.com/java.sun.com
b.了解JDK
bin:binary----二进制文件,里面存放的是可执行的程序,比如javac.exe java.exe等

3.配置环境变量
用户变量和系统变量的区别:本质上是没有区别的,用户变量配置的内容只对当前用户有效,不会影响其他的用户,系统环境变量所做的修改会影响到这台电脑上所有的用户

%JAVA_HOME%\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Parallels\Parallels Tools\Applications;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

配置环境变量的作用:可以在任何目录下直接访问javac和java命令,主要是为了方便开发

四、Java程序的运行机制

Java程序的运行需要经过先编译,后运行的步骤

1.编译阶段:不会生成特定平台的机器码,而是生成一种和平台无关的字节码,这种字节码不是可执行的

2.运行阶段:起核心作用的是JVM,它是可以运行字节码文件的(编译器生成虚拟机能理解的代码,交给虚拟机来执行)

五、Java程序初体验
demo:样片,样品

开发工具:文本文档,EditPlus,Eclipse

1.创建一个扩展名为.java的文件
2.在文件中定义一个类,类是Java程序的最小单元,格式为:public class 类名(类名和文件名称相同)

3.要让程序有一个执行入口的话,需要在类中定义一个main函数(主函数),格式为:public static void main(String[] args)

4.在main函数中写相应的代码,例如;System.out.print("hello world!");

5.编译阶段:使用javac命令,格式为:javac Java文件名称,例如:javac FirstDemo.java
6.运行阶段:使用java命令,格式为:java 类名,例如:java FirstDemo

注意事项:a.一个Java文件中可以同时存在多个类,并且编译之后会生成多个class文件
b。如果一个类被public修饰的话,则这个类的类名必须和Java文件的名称保持一致,
c。被public修饰的类在一个Java文件中有且只能有一个

六、注释
在编写程序时,写程序的人给代码做的一些解释和提示,能提高代码的可读性,为了日后的更改和阅读

注释是解释性文本,在运行程序的时候,注释会被程序跳过,不过任何处理

1.//xxxxxx 单行注释

2./*
xxxxxx 多行注释
xxxxxxx
*/
3./**
xxxxxxx 文档注释
xxxxxx

*/

七。API文档
养成自学的好习惯,经常翻阅API文档,(当作字典使用)
八、Java编码规范
1.Java源程序文件名的后缀必须是,java
2.Java中的每句代码必须以分号结尾
3.驼峰法则:在命名的时候,单词之间通过首字母大写来进行分隔,除包名和静态常量,例如:FirstDemo,
4.英文和中文,一般情况下,要求尽量使用通俗易懂的英文进行命名,例如:download xiaZai(不推荐)

Java基础语言包含:注释、关键字、标识符、常量和变量、运算符、函数和数组

九、关键字和标识符
1.关键字
在Java语言中,被赋予了特殊含义的英文单词,例如:class public import interface ....
特点:关键字中的字母全部小写

2.标识符
在Java中自定义的一些英文单词

定义合法的标识符需要满足的规则:
a.由数字、字母、下划线(_)、美元符号($)组成
b.不能以数字开头 abc 1abc(不合法)
c.不能使用关键字 class(不合法)
d。遵循驼峰命名法
e.不可以包含空格 abc def(不合法)
f。不能包含除了$之外的特殊字符 abc&(不合法)

在Java中,严格区分大小写
abc Abc

十、进制转换
1.什么是进制?
进制指的是进位制,例如:十进制是逢十进一,二进制是逢二进一

179
+ 11
----------------
常见的进制:十进制(0~9),二进制(0~1),八进制(0~7,以数字0开头),十六进制(0~9,a~f或者A~F,以0x开头)

在计算机底层,所有数字都是以二进制的形式存在的

为什么计算机采用二进制?
采用开头原理,只有0和1两个数值,相当于开关的打开和闭合状态,计算机运算的速率会比较高,八进制和十六进制是通过二进制演变而来的

2.进制之间的相互转化
a。计算机中存储数据的单位
计算机中表示数据的最小单位是比特(bit),又称为位
计算机中处理数据的单位是字节(Byte) 1B = 8b
KB MB GB TB PB EB ...DB

1KB = 1024B
1MB = 1024KB

b.十进制----》二进制
转换原理:对十进制进行除2运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来
对于小数而言, 整数部分除2取余数,小数部分乘以2取整
10.25

c.二进制 -----》十进制
转换原理:将二进制数按权进行展开,将得到的多项式相加(二进制的权是2)
110---》1*2^2 + 1*2^1 + 0 = 6
12345 ----》1*10^4 + 2 * 10^3....

d。二进制----》八进制
转换原理:将二进制数进行分组,从右向左进行分组,三位为一组,不够时进行补0
010 010 110 ----》226
2 2 6

e二进制---》十六进制
转换原理:将二进制从右向左进行分组,四位为一组,不够时补0
1001 01100------》96
9 6

f.十进制---》八进制或者十六进制
转换原理:方法一:先将十进制转换为二进制,然后再将二进制进行分组,转化为对应的八进制或者十六进制

方法二:可以将十进制进行除8或者16,直到商为0,类似十进制转二进制

g.八进制或者十六进制----》十进制
类比二进制转换十进制

3.计算机是如何处理数据运算的

数值有正负之分

0000 0110----》6

原码:就是这个数对应的二进制形式,高位表示符号位,0表示正数,1表示负数

注意:反吗和补码主要针对的是负数
反码:就是将原码除符号位之外的各位进行求反,
补码:将原码除符号位之外的各位进行求反,然后再加1 ,

正数的原码,反码以及补码都是相同的,和源码相同

10 + (-10) = 0

原码
0000 1010
1000 1010
---------
1001 0100 -----》明显不是0,说明计算机处理数据不是通过原码进行的

反码
0000 1010
1111 0101
---------
1111 1111----》-127,明显不是0,说明计算机处理数据不是通过反码进行的

补码
-10的补码
1111 0101
0000 0001
----------
1111 0110----》-10的补码
0000 1010
---------
0000 0000----》结果为0,

结论:计算机处理数据的计算是通过补码进行的。

JAVA基础知识总结:一的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  4. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  5. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  6. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  7. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  8. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  9. java 基础知识三 java变量

    java  基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...

  10. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

随机推荐

  1. 201521123024 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容.

  2. 05浏览器-02-操作DOM

    1.DOM操作梗概 本篇内容实际上在另一篇笔记<从JS和jQuery浅谈DOM操作>已经提到了重点的地方,可以戳链接另外进行阅读. 以前提到过,实际上HTML在被浏览器加载以后,会变成 & ...

  3. JSON的基本结构和数据交换原理

    0.补充的写在前面的话 2017.03.29 补充内容 最近看到这篇博客的阅读量,想来应该是有部分网友来过想要了解JSON的基本概念,这篇博文写得可能不是那么好,所以现在再补充贴一位老师的文章,希望能 ...

  4. 如何使用fiddler抓取https请求(PC和移动端)

    最近做一个抓取移动端app接口,并执行评论,收藏的接口功能测试.怎么搞/(ㄒoㄒ)/~~ 按照老思路试一试,第一步还是要用fiddler来帮忙获取接口信息! 一.基本的抓取http请求设置: 1.cm ...

  5. Spring MVC 的文件下载

    在看Spring MVC文件下载之前请先看Spring MVC文件上传 地址:http://www.cnblogs.com/dj-blog/p/7535101.html 文件下载比较简单,在超链接中指 ...

  6. 爬虫实战:爬虫之 web 自动化终极杀手 ( 上)

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:陈象 导语: 最近写了好几个简单的爬虫,踩了好几个深坑,在这里总结一下,给大家在编写爬虫时候能给点思路.本次爬虫内容有:静态页面的爬 ...

  7. A glimpse of Support Vector Machine

    支持向量机(support vector machine, 以下简称svm)是机器学习里的重要方法,特别适用于中小型样本.非线性.高维的分类和回归问题.本篇希望在正篇提供一个svm的简明阐述,附录则提 ...

  8. 在JavaScript中使用json.js:访问JSON编码的某个值

    演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  9. LCM Cardinality 暴力

    LCM Cardinality Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit St ...

  10. AIM Tech Round 4 (Div. 2)ABCD

    A. Diversity time limit per test 1 second memory limit per test 256 megabytes input standard input o ...